#!/usr/bin/python -tt
+from __future__ import print_function
+
import os
+import glob
+
native_methods = []
toppath = os.path.dirname(__file__)
-for path, dirs, methods in os.walk(toppath):
- remove_dirs = []
- for dir in dirs:
- if dir.startswith("."):
- remove_dirs.append(dir)
- for dir in remove_dirs:
- dirs.remove(dir)
- prefix = path + "/"
- prefix = prefix[len(toppath) + 1:].replace("/", ".")
- for method in methods:
- if method == "__init__.py":
- continue
- if not method.endswith(".py"):
- continue
- native_methods.append(prefix + method[:-3])
+
+# 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))
+ print(matches)
+ 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)