X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FMethods%2F__init__.py;h=9b6645bf5e23939d52d24582d9f42b416ec5d539;hb=24f0a4528061afbca3299e92005bb19e631b323a;hp=fb45aae72241d87c2921e22876beb4ccd84ba10f;hpb=e6816bfce4b539836f3e48ff455b5472e8b5580e;p=plcapi.git diff --git a/PLC/Methods/__init__.py b/PLC/Methods/__init__.py index fb45aae..9b6645b 100644 --- a/PLC/Methods/__init__.py +++ b/PLC/Methods/__init__.py @@ -1 +1,32 @@ -methods = 'AdmAddNode AdmAddPerson AdmAddPersonToSite AdmAddSite AdmAuthCheck AdmDeleteNode AdmDeletePerson AdmDeleteSite AdmGetAllRoles AdmGetNodes AdmGetPersonRoles AdmGetPersonSites AdmGetPersons AdmGetSites AdmGrantRoleToPerson AdmIsPersonInRole AdmRemovePersonFromSite AdmRevokeRoleFromPerson AdmSetPersonEnabled AdmSetPersonPrimarySite AdmUpdateNode AdmUpdatePerson 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)