move legacy v42 methods to Legacy/ sub directory
authorMarc Fiuczynski <mef@cs.princeton.edu>
Tue, 26 May 2009 21:40:41 +0000 (21:40 +0000)
committerMarc Fiuczynski <mef@cs.princeton.edu>
Tue, 26 May 2009 21:40:41 +0000 (21:40 +0000)
24 files changed:
Makefile
PLC/API.py
PLC/Legacy/AddNodeNetwork.py [moved from PLC/Methods/AddNodeNetwork.py with 100% similarity]
PLC/Legacy/AddNodeNetworkSetting.py [moved from PLC/Methods/AddNodeNetworkSetting.py with 100% similarity]
PLC/Legacy/AddNodeNetworkSettingType.py [moved from PLC/Methods/AddNodeNetworkSettingType.py with 100% similarity]
PLC/Legacy/AddSliceAttribute.py [moved from PLC/Methods/AddSliceAttribute.py with 100% similarity]
PLC/Legacy/AddSliceAttributeType.py [moved from PLC/Methods/AddSliceAttributeType.py with 100% similarity]
PLC/Legacy/DeleteNodeNetwork.py [moved from PLC/Methods/DeleteNodeNetwork.py with 100% similarity]
PLC/Legacy/DeleteNodeNetworkSetting.py [moved from PLC/Methods/DeleteNodeNetworkSetting.py with 100% similarity]
PLC/Legacy/DeleteNodeNetworkSettingType.py [moved from PLC/Methods/DeleteNodeNetworkSettingType.py with 100% similarity]
PLC/Legacy/DeleteSliceAttribute.py [moved from PLC/Methods/DeleteSliceAttribute.py with 100% similarity]
PLC/Legacy/DeleteSliceAttributeType.py [moved from PLC/Methods/DeleteSliceAttributeType.py with 100% similarity]
PLC/Legacy/GetNodeNetworkSettingTypes.py [moved from PLC/Methods/GetNodeNetworkSettingTypes.py with 100% similarity]
PLC/Legacy/GetNodeNetworkSettings.py [moved from PLC/Methods/GetNodeNetworkSettings.py with 100% similarity]
PLC/Legacy/GetNodeNetworks.py [moved from PLC/Methods/GetNodeNetworks.py with 100% similarity]
PLC/Legacy/GetSliceAttributeTypes.py [moved from PLC/Methods/GetSliceAttributeTypes.py with 100% similarity]
PLC/Legacy/GetSliceAttributes.py [moved from PLC/Methods/GetSliceAttributes.py with 100% similarity]
PLC/Legacy/UpdateNodeNetwork.py [moved from PLC/Methods/UpdateNodeNetwork.py with 100% similarity]
PLC/Legacy/UpdateNodeNetworkSetting.py [moved from PLC/Methods/UpdateNodeNetworkSetting.py with 100% similarity]
PLC/Legacy/UpdateNodeNetworkSettingType.py [moved from PLC/Methods/UpdateNodeNetworkSettingType.py with 100% similarity]
PLC/Legacy/UpdateSliceAttribute.py [moved from PLC/Methods/UpdateSliceAttribute.py with 100% similarity]
PLC/Legacy/UpdateSliceAttributeType.py [moved from PLC/Methods/UpdateSliceAttributeType.py with 100% similarity]
PLC/Legacy/__init__.py [new file with mode: 0644]
PLC/Methods/__init__.py

index 730bad4..b5677aa 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@
 #
 
 # Metafiles - manage Legacy/ and Accessors by hand
-init := PLC/__init__.py PLC/Methods/__init__.py 
+init := PLC/__init__.py PLC/Methods/__init__.py PLC/Legacy/__init__.py
 
 # python-pycurl and python-psycopg2 avail. from fedora 5
 # we used to ship our own version of psycopg2 and pycurl, for fedora4
@@ -78,7 +78,23 @@ endif
 PLC/Methods/__init__.py: 
        (echo '## Please use make index to update this file' ; echo 'native_methods = """' ; cd PLC/Methods; ls -1 *.py system/*.py | grep -v __init__ | sed -e 's,.py$$,,' -e 's,system/,system.,' ; echo '""".split()') > $@
 
+########## Legacy/
+# the current content of __init__.py
+LEGACY_now := $(sort $(shell fgrep -v '"' PLC/Legacy/__init__.py 2>/dev/null))
+# what should be declared
+LEGACY_paths := $(filter-out %/__init__.py, $(wildcard PLC/Legacy/*.py))
+LEGACY_files := $(sort $(notdir $(LEGACY_paths:.py=)))
+
+ifneq ($(LEGACY_now),$(LEGACY_files))
+PLC/Legacy/__init__.py: force
+endif
+PLC/Legacy/__init__.py: 
+       (echo '## Please use make index to update this file' ; echo 'native_methods = """' ; cd PLC/Legacy; ls -1 *.py | grep -v __init__ | sed -e 's,.py$$,,' -e 's,system/,system.,' ; echo '""".split()') > $@
+
 ##########
+
+
+
 force:
 
 .PHONY: all install force clean index tags $(subdirs)
index 6ea37bc..bae0267 100644 (file)
@@ -83,6 +83,7 @@ except ImportError:
 from PLC.Config import Config
 from PLC.Faults import *
 import PLC.Methods
+import PLC.Legacy
 import PLC.Accessors
 
 def import_deep(name):
@@ -96,6 +97,7 @@ class PLCAPI:
 
     # flat list of method names
     native_methods = PLC.Methods.native_methods
+    legacy_methods = PLC.Legacy.native_methods
 
     # other_methods_map : dict {methodname: fullpath}
     # e.g. 'Accessors' -> 'PLC.Accessors.Accessors'
@@ -109,7 +111,7 @@ class PLCAPI:
             for method in getattr(import_deep(fullpath),"methods"):
                 other_methods_map[method] = fullpath
 
-    all_methods = native_methods + other_methods_map.keys()
+    all_methods = native_methods + legacy_methods + other_methods_map.keys()
     
     def __init__(self, config = "/etc/planetlab/plc_config", encoding = "utf-8"):
         self.encoding = encoding
@@ -143,6 +145,8 @@ class PLCAPI:
             classname = method.split(".")[-1]
             if method in self.native_methods:
                 fullpath="PLC.Methods." + method
+            elif method in self.legacy_methods:
+                fullpath="PLC.Legacy." + method
             else:
                 fullpath=self.other_methods_map[method]
             module = __import__(fullpath, globals(), locals(), [classname])
diff --git a/PLC/Legacy/__init__.py b/PLC/Legacy/__init__.py
new file mode 100644 (file)
index 0000000..ead4e2a
--- /dev/null
@@ -0,0 +1,23 @@
+## Please use make index to update this file
+native_methods = """
+AddNodeNetwork
+AddNodeNetworkSetting
+AddNodeNetworkSettingType
+AddSliceAttribute
+AddSliceAttributeType
+DeleteNodeNetwork
+DeleteNodeNetworkSetting
+DeleteNodeNetworkSettingType
+DeleteSliceAttribute
+DeleteSliceAttributeType
+GetNodeNetworkSettings
+GetNodeNetworkSettingTypes
+GetNodeNetworks
+GetSliceAttributes
+GetSliceAttributeTypes
+UpdateNodeNetwork
+UpdateNodeNetworkSetting
+UpdateNodeNetworkSettingType
+UpdateSliceAttribute
+UpdateSliceAttributeType
+""".split()
index c7ea6dc..5fb7ada 100644 (file)
@@ -16,9 +16,6 @@ AddMessage
 AddNetworkMethod
 AddNetworkType
 AddNodeGroup
-AddNodeNetwork
-AddNodeNetworkSetting
-AddNodeNetworkSettingType
 AddNode
 AddNodeTag
 AddNodeToPCU
@@ -36,8 +33,6 @@ AddRoleToPerson
 AddSession
 AddSiteAddress
 AddSite
-AddSliceAttribute
-AddSliceAttributeType
 AddSliceInstantiation
 AddSlice
 AddSliceTag
@@ -70,9 +65,6 @@ DeleteNetworkMethod
 DeleteNetworkType
 DeleteNodeFromPCU
 DeleteNodeGroup
-DeleteNodeNetwork
-DeleteNodeNetworkSetting
-DeleteNodeNetworkSettingType
 DeleteNode
 DeleteNodeTag
 DeleteNodeType
@@ -87,8 +79,6 @@ DeleteRoleFromPerson
 DeleteRole
 DeleteSession
 DeleteSite
-DeleteSliceAttribute
-DeleteSliceAttributeType
 DeleteSliceFromNodes
 DeleteSliceFromNodesWhitelist
 DeleteSliceInstantiation
@@ -115,9 +105,6 @@ GetMessages
 GetNetworkMethods
 GetNetworkTypes
 GetNodeGroups
-GetNodeNetworkSettings
-GetNodeNetworkSettingTypes
-GetNodeNetworks
 GetNodes
 GetNodeTags
 GetNodeTypes
@@ -133,8 +120,6 @@ GetRoles
 GetSession
 GetSessions
 GetSites
-GetSliceAttributes
-GetSliceAttributeTypes
 GetSliceInstantiations
 GetSliceKeys
 GetSlices
@@ -183,9 +168,6 @@ UpdateInterfaceTag
 UpdateKey
 UpdateMessage
 UpdateNodeGroup
-UpdateNodeNetwork
-UpdateNodeNetworkSetting
-UpdateNodeNetworkSettingType
 UpdateNode
 UpdateNodeTag
 UpdatePCUProtocolType
@@ -194,8 +176,6 @@ UpdatePCUType
 UpdatePeer
 UpdatePerson
 UpdateSite
-UpdateSliceAttribute
-UpdateSliceAttributeType
 UpdateSlice
 UpdateSliceTag
 UpdateTagType