Переглянути джерело

Fixed PEP-8 discrepancy in Pool pattern

jcdenton 12 роки тому
батько
коміт
4e68e9743c
1 змінених файлів з 32 додано та 35 видалено
  1. 32 35
      pool.py

+ 32 - 35
pool.py

@@ -1,54 +1,51 @@
 """http://stackoverflow.com/questions/1514120/python-implementation-of-the-object-pool-design-pattern"""
 
 
-class qObj():
-    _q = None
-    o = None
-
-    def __init__(self, dQ, autoGet = False):
-        self._q = dQ
-
-        if autoGet == True:
-            self.o = self._q.get()
+class QueueObject():
+    def __init__(self, queue, auto_get=False):
+        self._queue = queue
+        self.object = self._queue.get() if auto_get else None
 
     def __enter__(self):
-        if self.o == None:
-            self.o = self._q.get()
-        return self.o
+        if self.object is None:
+            self.object = self._queue.get()
+        return self.object
 
     def __exit__(self, type, value, traceback):
-        if self.o != None:
-            self._q.put(self.o)
-            self.o = None
+        if self.object is not None:
+            self._queue.put(self.object)
+            self.object = None
 
     def __del__(self):
-        if self.o != None:
-            self._q.put(self.o)
-            self.o = None
+        if self.object is not None:
+            self._queue.put(self.object)
+            self.object = None
 
 
-if __name__ == "__main__":
+def main():
     try:
-        import queue as Queue
-    except:                     # python 2.x compatibility
-        import Queue
+        import queue
+    except ImportError:  # python 2.x compatibility
+        import Queue as queue
 
-    def testObj(Q):
-        someObj = qObj(Q, True)
-        print('Inside func: {}'.format(someObj.o))
+    def test_object(queue):
+        queue_object = QueueObject(queue, True)
+        print('Inside func: {}'.format(queue_object.object))
 
-    aQ = Queue.Queue()
-    aQ.put("yam")
+    sample_queue = queue.Queue()
 
-    with qObj(aQ) as obj:
-        print("Inside with: {}".format(obj))
+    sample_queue.put('yam')
+    with QueueObject(sample_queue) as obj:
+        print('Inside with: {}'.format(obj))
+    print('Outside with: {}'.format(sample_queue.get()))
 
-    print('Outside with: {}'.format(aQ.get()))
+    sample_queue.put('sam')
+    test_object(sample_queue)
+    print('Outside func: {}'.format(sample_queue.get()))
 
-    aQ.put("sam")
-    testObj(aQ)
+    if not sample_queue.empty():
+        print(sample_queue.get())
 
-    print('Outside func: {}'.format(aQ.get()))
 
-    if not aQ.empty():
-        print(aQ.get())
+if __name__ == '__main__':
+    main()