other minor tweaks - doc generation should still be broken
[plcapi.git] / PLC / Methods / __init__.py
index ae8fed1..000edba 100644 (file)
@@ -1 +1,31 @@
-methods = 'AddAddressType AddAddressTypeToAddress AddBootState AddConfFile AddConfFileToNode AddConfFileToNodeGroup AddKeyType AddMessage AddNetworkMethod AddNetworkType AddNode AddNodeGroup AddNodeNetwork AddNodeToNodeGroup AddNodeToPCU AddPCU AddPeer AddPerson AddPersonKey AddPersonToSite AddPersonToSlice AddRole AddRoleToPerson AddSite AddSiteAddress AddSlice AddSliceAttribute AddSliceAttributeType AddSliceToNodes AdmAddAddressType AdmAddNode AdmAddNodeGroup AdmAddNodeNetwork AdmAddNodeToNodeGroup AdmAddPerson AdmAddPersonKey AdmAddPersonToSite AdmAddSite AdmAddSitePowerControlUnit AdmAssociateNodeToPowerControlUnitPort AdmAuthCheck AdmDeleteAddressType AdmDeleteAllPersonKeys AdmDeleteNode AdmDeleteNodeGroup AdmDeleteNodeNetwork AdmDeletePerson AdmDeletePersonKeys AdmDeleteSite AdmDeleteSitePowerControlUnit AdmDisassociatePowerControlUnitPort AdmGenerateNodeConfFile AdmGetAllAddressTypes AdmGetAllKeyTypes AdmGetAllNodeNetworks AdmGetAllRoles AdmGetNodeGroupNodes AdmGetNodeGroups AdmGetNodes AdmGetPersonKeys AdmGetPersonRoles AdmGetPersonSites AdmGetPersons AdmGetPowerControlUnitNodes AdmGetPowerControlUnits AdmGetSiteNodes AdmGetSitePIs AdmGetSitePersons AdmGetSitePowerControlUnits AdmGetSiteTechContacts AdmGetSites AdmGrantRoleToPerson AdmIsPersonInRole AdmQueryConfFile AdmQueryNode AdmQueryPerson AdmQueryPowerControlUnit AdmQuerySite AdmRebootNode AdmRemoveNodeFromNodeGroup AdmRemovePersonFromSite AdmRevokeRoleFromPerson AdmSetPersonEnabled AdmSetPersonPrimarySite AdmUpdateNode AdmUpdateNodeGroup AdmUpdateNodeNetwork AdmUpdatePerson AdmUpdateSite AdmUpdateSitePowerControlUnit AuthCheck BlacklistKey BootCheckAuthentication BootGetNodeDetails BootNotifyOwners BootUpdateNode DeleteAddress DeleteAddressType DeleteAddressTypeFromAddress DeleteBootState DeleteConfFile DeleteConfFileFromNode DeleteConfFileFromNodeGroup DeleteKey DeleteKeyType DeleteMessage DeleteNetworkMethod DeleteNetworkType DeleteNode DeleteNodeFromNodeGroup DeleteNodeFromPCU DeleteNodeGroup DeleteNodeNetwork DeletePCU DeletePerson DeletePersonFromSite DeletePersonFromSlice DeleteRole DeleteRoleFromPerson DeleteSession DeleteSite DeleteSlice DeleteSliceAttribute DeleteSliceAttributeType DeleteSliceFromNodes GetAddressTypes GetAddresses GetBootStates GetConfFiles GetEvents GetForeignNodes GetKeyTypes GetKeys GetMessages GetNetworkMethods GetNetworkTypes GetNodeGroups GetNodeNetworks GetNodes GetPCUs GetPeers GetPersons GetRoles GetSession GetSites GetSliceAttributeTypes GetSliceAttributes GetSlices GetSlivers RebootNode SetPersonPrimarySite SliceCreate SliceDelete UpdateAddress UpdateAddressType UpdateConfFile UpdateKey UpdateMessage UpdateNode UpdateNodeGroup UpdateNodeNetwork UpdatePCU UpdatePeer UpdatePerson UpdateSite UpdateSlice UpdateSliceAttribute UpdateSliceAttributeType  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)