other minor tweaks - doc generation should still be broken
[plcapi.git] / PLC / Methods / __init__.py
index edd8886..000edba 100644 (file)
@@ -1 +1,31 @@
-methods = 'AddAddress AddAddressType AddAddressTypeToAddress AddAttribute AddKey AddNodeGroup AddNodeNetwork AddNode AddNodeToNodeGroup AddPerson AddPersonToSite AddPersonToSlice AddRoleToPerson AddSite AddSliceAttribute AddSlice AddSliceToNodes AdmAddNodeGroup AdmAddNodeNetwork AdmAddNode AdmAddNodeToNodeGroup AdmAddPerson AdmAddPersonToSite AdmAddSite AdmAuthCheck AdmDeleteNodeGroup AdmDeleteNodeNetwork AdmDeleteNode AdmDeletePerson AdmDeleteSite AdmGetAllNodeNetworkBandwidthLimits AdmGetAllNodeNetworks AdmGetAllRoles AdmGetNodeGroupNodes AdmGetNodeGroups AdmGetNodes AdmGetPersonRoles AdmGetPersonSites AdmGetPersons AdmGetSiteNodes AdmGetSitePersons AdmGetSites AdmGrantRoleToPerson AdmIsPersonInRole AdmRemoveNodeFromNodeGroup AdmRemovePersonFromSite AdmRevokeRoleFromPerson AdmSetPersonEnabled AdmSetPersonPrimarySite AdmUpdateNodeGroup AdmUpdateNodeNetwork AdmUpdateNode AdmUpdatePerson AdmUpdateSite AuthCheck DeleteAddress DeleteAddressTypeFromAddress DeleteAddressType DeleteAttribute DeleteKey DeleteNodeFromNodeGroup DeleteNodeGroup DeleteNodeNetwork DeleteNode DeletePersonFromSite DeletePersonFromSlice DeletePerson DeleteRoleFromPerson DeleteSite DeleteSliceAttribute DeleteSliceFromNodes DeleteSlice GetAddresses GetAddressTypes GetAttributes GetKeys GetNodeGroups GetNodeNetworks GetNodes GetPersons GetSites GetSliceAttributes GetSlices SetPersonPrimarySite UpdateAddress UpdateAddressType UpdateAttribute UpdateKey UpdateNodeGroup UpdateNodeNetwork UpdateNode UpdatePerson UpdateSite UpdateSliceAttribute UpdateSlice  system.listMethods  system.methodHelp  system.methodSignature  system.multicall'.split()
+#!/usr/bin/python -tt
+
+from __future__ import print_function
+
+import os
+import glob
+
+native_methods = []
+toppath = os.path.dirname(__file__)
+
+# do not blindly scan this directory, as when using devel tools
+# like `make sync` we can easily end up with more files that needed
+# which breaks in production
+
+contents = [
+    ('.', '[A-Z][a-zA-Z]*.py'),
+    ('system', '[a-zA-Z]*.py'),
+]
+
+for dir, pattern in contents:
+    prefix = len(dir) + 1
+    matches = glob.glob("{}/{}".format(dir, pattern))
+    for match in matches:
+        filename = match[prefix:][:-3]
+        python_name = filename if dir == '.' \
+            else "{}.{}".format(dir, filename)
+        native_methods.append(python_name)
+
+if __name__ == '__main__':
+    native_methods.sort()
+    print(native_methods)