other minor tweaks - doc generation should still be broken
[plcapi.git] / PLC / Methods / __init__.py
index 5fb7ada..000edba 100644 (file)
-## Please use make index to update this file
-native_methods = """
-AddAddressType
-AddAddressTypeToAddress
-AddBootState
-AddConfFile
-AddConfFileToNodeGroup
-AddConfFileToNode
-AddDummynetBox
-AddIlink
-AddInitScript
-AddInterface
-AddInterfaceTag
-AddKeyType
-AddMessage
-AddNetworkMethod
-AddNetworkType
-AddNodeGroup
-AddNode
-AddNodeTag
-AddNodeToPCU
-AddNodeType
-AddPCUProtocolType
-AddPCU
-AddPCUType
-AddPeer
-AddPersonKey
-AddPerson
-AddPersonToSite
-AddPersonToSlice
-AddRole
-AddRoleToPerson
-AddSession
-AddSiteAddress
-AddSite
-AddSliceInstantiation
-AddSlice
-AddSliceTag
-AddSliceToNodes
-AddSliceToNodesWhitelist
-AddTagType
-AuthCheck
-BlacklistKey
-BootCheckAuthentication
-BootGetNodeDetails
-BootNotifyOwners
-BootUpdateNode
-DeleteAddress
-DeleteAddressTypeFromAddress
-DeleteAddressType
-DeleteBootState
-DeleteConfFileFromNodeGroup
-DeleteConfFileFromNode
-DeleteConfFile
-DeleteDummynetBox
-DeleteEmulationLink
-DeleteIlink
-DeleteInitScript
-DeleteInterface
-DeleteInterfaceTag
-DeleteKey
-DeleteKeyType
-DeleteMessage
-DeleteNetworkMethod
-DeleteNetworkType
-DeleteNodeFromPCU
-DeleteNodeGroup
-DeleteNode
-DeleteNodeTag
-DeleteNodeType
-DeletePCUProtocolType
-DeletePCU
-DeletePCUType
-DeletePeer
-DeletePersonFromSite
-DeletePersonFromSlice
-DeletePerson
-DeleteRoleFromPerson
-DeleteRole
-DeleteSession
-DeleteSite
-DeleteSliceFromNodes
-DeleteSliceFromNodesWhitelist
-DeleteSliceInstantiation
-DeleteSlice
-DeleteSliceTag
-DeleteTagType
-GenerateNodeConfFile
-GetAddresses
-GetAddressTypes
-GetBootMedium
-GetBootStates
-GetConfFiles
-GetDummyBoxMedium
-GetDummyBoxUsers
-GetEventObjects
-GetEvents
-GetIlinks
-GetInitScripts
-GetInterfaces
-GetInterfaceTags
-GetKeys
-GetKeyTypes
-GetMessages
-GetNetworkMethods
-GetNetworkTypes
-GetNodeGroups
-GetNodes
-GetNodeTags
-GetNodeTypes
-GetPCUProtocolTypes
-GetPCUs
-GetPCUTypes
-GetPeerData
-GetPeerName
-GetPeers
-GetPersons
-GetPlcRelease
-GetRoles
-GetSession
-GetSessions
-GetSites
-GetSliceInstantiations
-GetSliceKeys
-GetSlices
-GetSliceTags
-GetSliceTicket
-GetSlivers
-GetTagTypes
-GetWhitelist
-NotifyPersons
-NotifySupport
-RebootNode
-RebootNodeWithPCU
-RefreshPeer
-ReportRunlevel
-ResetPassword
-ResolveSlices
-SetPersonPrimarySite
-SliceCreate
-SliceDelete
-SliceExtendedInfo
-SliceGetTicket
-SliceInfo
-SliceListNames
-SliceListUserSlices
-SliceNodesAdd
-SliceNodesDel
-SliceNodesList
-SliceRenew
-SliceTicketGet
-SliceUpdate
-SliceUserAdd
-SliceUserDel
-SliceUsersList
-system.listMethods
-system.methodHelp
-system.methodSignature
-system.multicall
-UpdateAddress
-UpdateAddressType
-UpdateConfFile
-UpdateEmulationLink
-UpdateIlink
-UpdateInitScript
-UpdateInterface
-UpdateInterfaceTag
-UpdateKey
-UpdateMessage
-UpdateNodeGroup
-UpdateNode
-UpdateNodeTag
-UpdatePCUProtocolType
-UpdatePCU
-UpdatePCUType
-UpdatePeer
-UpdatePerson
-UpdateSite
-UpdateSlice
-UpdateSliceTag
-UpdateTagType
-VerifyPerson
-""".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)