Bladeren bron

Fixed PEP-8 discrepancy in Prototype pattern

jcdenton 12 jaren geleden
bovenliggende
commit
a444aab205
1 gewijzigde bestanden met toevoegingen van 18 en 16 verwijderingen
  1. 18 16
      prototype.py

+ 18 - 16
prototype.py

@@ -1,35 +1,37 @@
-from copy import deepcopy
+import copy
 
 
 class Prototype:
     def __init__(self):
-        self._objs = {}
+        self._objects = {}
 
-    def registerObject(self, name, obj):
-        """
-        register an object.
-        """
-        self._objs[name] = obj
+    def register_object(self, name, obj):
+        """Register an object"""
+        self._objects[name] = obj
 
-    def unregisterObject(self, name):
-        """unregister an object"""
-        del self._objs[name]
+    def unregister_object(self, name):
+        """Unregister an object"""
+        del self._objects[name]
 
     def clone(self, name, **attr):
-        """clone a registered object and add/replace attr"""
-        obj = deepcopy(self._objs[name])
+        """Clone a registered object and update inner attributes dictionary"""
+        obj = copy.deepcopy(self._objects.get(name))
         obj.__dict__.update(attr)
         return obj
 
 
-if __name__ == '__main__':
+def main():
     class A:
-        pass 
+        pass
 
     a = A()
     prototype = Prototype()
-    prototype.registerObject("a", a)
-    b = prototype.clone("a", a=1, b=2, c=3)
+    prototype.register_object('a', a)
+    b = prototype.clone('a', a=1, b=2, c=3)
 
     print(a)
     print(b.a, b.b, b.c)
+
+
+if __name__ == '__main__':
+    main()