X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2F__init__.py;h=9b6645bf5e23939d52d24582d9f42b416ec5d539;hb=24f0a4528061afbca3299e92005bb19e631b323a;hp=7bc0ea13147e68c2d1d76f7e376b19d7ad9bdb7e;hpb=32b05f13d04f3ece1398992d8074cbb14d2d5aab;p=plcapi.git diff --git a/PLC/Methods/__init__.py b/PLC/Methods/__init__.py index 7bc0ea1..9b6645b 100644 --- a/PLC/Methods/__init__.py +++ b/PLC/Methods/__init__.py @@ -1,183 +1,32 @@ -methods = """ -AddAddressType -AddAddressTypeToAddress -AddBootState -AddConfFile -AddConfFileToNode -AddConfFileToNodeGroup -AddIlink -AddInitScript -AddInterface -AddInterfaceSetting -AddInterfaceSettingType -AddKeyType -AddLinkType -AddMessage -AddNetworkMethod -AddNetworkType -AddNode -AddNodeGroup -AddNodeTag -AddNodeTagType -AddNodeToPCU -AddPCU -AddPCUProtocolType -AddPCUType -AddPeer -AddPerson -AddPersonKey -AddPersonToSite -AddPersonToSlice -AddRole -AddRoleToPerson -AddSession -AddSite -AddSiteAddress -AddSlice -AddSliceAttribute -AddSliceAttributeType -AddSliceInstantiation -AddSliceToNodes -AddSliceToNodesWhitelist -AuthCheck -BlacklistKey -BootCheckAuthentication -BootGetNodeDetails -BootNotifyOwners -BootUpdateNode -DeleteAddress -DeleteAddressType -DeleteAddressTypeFromAddress -DeleteBootState -DeleteConfFile -DeleteConfFileFromNode -DeleteConfFileFromNodeGroup -DeleteIlink -DeleteInitScript -DeleteInterface -DeleteInterfaceSetting -DeleteInterfaceSettingType -DeleteKey -DeleteKeyType -DeleteLinkType -DeleteMessage -DeleteNetworkMethod -DeleteNetworkType -DeleteNode -DeleteNodeFromPCU -DeleteNodeGroup -DeleteNodeTag -DeleteNodeTagType -DeletePCU -DeletePCUProtocolType -DeletePCUType -DeletePeer -DeletePerson -DeletePersonFromSite -DeletePersonFromSlice -DeleteRole -DeleteRoleFromPerson -DeleteSession -DeleteSite -DeleteSlice -DeleteSliceAttribute -DeleteSliceAttributeType -DeleteSliceFromNodes -DeleteSliceFromNodesWhitelist -DeleteSliceInstantiation -GenerateNodeConfFile -GetAddressTypes -GetAddresses -GetBootMedium -GetBootStates -GetConfFiles -GetEventObjects -GetEvents -GetIlinks -GetInitScripts -GetInterfaceSettingTypes -GetInterfaceSettings -GetInterfaces -GetKeyTypes -GetKeys -GetLinkTypes -GetMessages -GetNetworkMethods -GetNetworkTypes -GetNodeGroups -GetNodeTagTypes -GetNodeTags -GetNodes -GetPCUProtocolTypes -GetPCUTypes -GetPCUs -GetPeerData -GetPeerName -GetPeers -GetPersons -GetPlcRelease -GetRoles -GetSession -GetSessions -GetSites -GetSliceAttributeTypes -GetSliceAttributes -GetSliceInstantiations -GetSliceKeys -GetSliceTicket -GetSlices -GetSlicesMD5 -GetSlivers -GetWhitelist -NotifyPersons -NotifySupport -RebootNode -RefreshPeer -ResetPassword -SetPersonPrimarySite -SliceCreate -SliceDelete -SliceExtendedInfo -SliceGetTicket -SliceInfo -SliceListNames -SliceListUserSlices -SliceNodesAdd -SliceNodesDel -SliceNodesList -SliceRenew -SliceTicketGet -SliceUpdate -SliceUserAdd -SliceUserDel -SliceUsersList -UpdateAddress -UpdateAddressType -UpdateConfFile -UpdateIlink -UpdateInitScript -UpdateInterface -UpdateInterfaceSetting -UpdateInterfaceSettingType -UpdateKey -UpdateLinkType -UpdateMessage -UpdateNode -UpdateNodeGroup -UpdateNodeTag -UpdateNodeTagType -UpdatePCU -UpdatePCUProtocolType -UpdatePCUType -UpdatePeer -UpdatePerson -UpdateSite -UpdateSlice -UpdateSliceAttribute -UpdateSliceAttributeType -VerifyPerson -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 than needed +# which breaks in production + +contents = [ + ('.', '[A-Z][a-zA-Z]*.py'), + ('system', '[a-zA-Z]*.py'), +] + +for dir, pattern in contents: + matches = glob.glob("{}/{}/{}".format(toppath, dir, pattern)) + # count 2 slashes + prefix = len(toppath) + 1 + len(dir) + 1 + 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)