]> granicus.if.org Git - python/commitdiff
_RandomNameSequence(): style guide changes, small speedup, don't
authorTim Peters <tim.peters@gmail.com>
Thu, 21 Nov 2002 15:59:59 +0000 (15:59 +0000)
committerTim Peters <tim.peters@gmail.com>
Thu, 21 Nov 2002 15:59:59 +0000 (15:59 +0000)
put more in the critical section than absolutely needed, acquire
the mutex before the "try".

Lib/tempfile.py

index 2ad525eadef96db130be7f7e1e80642302663c39..97f125250b68e389e883a092d2c782d2db08c57a 100644 (file)
@@ -88,30 +88,30 @@ class _RandomNameSequence:
 
     _RandomNameSequence is an iterator."""
 
-    characters = (  "abcdefghijklmnopqrstuvwxyz"
-                  + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-                  "0123456789-_")
+    characters = ("abcdefghijklmnopqrstuvwxyz" +
+                  "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
+                  "0123456789-_")
 
     def __init__(self):
         self.mutex = _allocate_lock()
         self.rng = _Random()
         self.normcase = _os.path.normcase
+
     def __iter__(self):
         return self
 
     def next(self):
         m = self.mutex
         c = self.characters
-        r = self.rng
+        choose = self.rng.choice
 
+        m.acquire()
         try:
-            m.acquire()
-            letters = ''.join([r.choice(c), r.choice(c), r.choice(c),
-                               r.choice(c), r.choice(c), r.choice(c)])
+            letters = [choose(c) for dummy in "123456"]
         finally:
             m.release()
 
-        return self.normcase(letters)
+        return self.normcase(''.join(letters))
 
 def _candidate_tempdir_list():
     """Generate a list of candidate temporary directories which