diff options
Diffstat (limited to 'source/gameengine/PyDoc/bge_api_validate_py.txt')
-rw-r--r-- | source/gameengine/PyDoc/bge_api_validate_py.txt | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/source/gameengine/PyDoc/bge_api_validate_py.txt b/source/gameengine/PyDoc/bge_api_validate_py.txt deleted file mode 100644 index ebd74c06bb3..00000000000 --- a/source/gameengine/PyDoc/bge_api_validate_py.txt +++ /dev/null @@ -1,136 +0,0 @@ -#~ This program is free software; you can redistribute it and/or modify -#~ it under the terms of the GNU General Public License as published by -#~ the Free Software Foundation; version 2 of the License. - -#~ This program is distributed in the hope that it will be useful, -#~ but WITHOUT ANY WARRANTY; without even the implied warranty of -#~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -#~ GNU General Public License for more details. - -# This script must run from a logic brick so it has access to the game engine api -# it assumes the root blender source directory is the current working directory -# -# Currently it only prints missing modules and methods (not attributes) - -import sys, os - -BGE_API_DOC_PATH = 'source/gameengine/PyDoc' - - -mods = ['GameLogic', 'Rasterizer', 'GameKeys'] -mods_dict = {} -for m in mods: - mods_dict[m] = sys.modules[m] - - -import GameTypes -type_members = {} - -for type_name in dir(GameTypes): - if type_name.startswith('__'): - continue - - type_object = getattr(GameTypes, type_name) - - members = [] - type_members[type_object.__name__] = members - - for member in type_object.__dict__.keys(): - if member.startswith('__'): - continue - - # print type_object.__name__ + '.' + k - members.append(member) - - - -doc_dir= os.path.join(os.getcwd(), BGE_API_DOC_PATH) - -if doc_dir not in sys.path: - sys.path.append(doc_dir) - - -def check_attribute(class_ob, member): - doc = class_ob.__doc__ - if not doc: - return False - - for l in doc.split('\n'): - l = l.strip() - - ''' - @ivar foo: blah blah - to - foo - - ''' - - if l.startswith('@ivar') or l.startswith('@var'): - var = l.split()[1].split(':')[0] - - if var == member: - return True - - return False - - - - - - -print '\n\n\nChecking Docs' - -PRINT_OK = False - -pymod = sys.modules['GameTypes'] -del sys.modules['GameTypes'] # temp remove -mod = __import__('GameTypes') # get the python module -reload(mod) # incase were editing it -sys.modules['GameTypes'] = pymod - -for type_name in sorted(type_members.keys()): - members = type_members[type_name] - - try: - type_class = getattr(mod, type_name) - except: - print "missing class: %s.%s - %s" % (type_name, type_name, str(sorted(members))) - continue - - for member in sorted(members): - try: - getattr(type_class, member) - if PRINT_OK: - print "\tfound: %s.%s" % (type_name, member) - except: - if check_attribute(type_class, member): - if PRINT_OK: - print "\tfound attr: %s.%s" % (type_name, member) - else: - print "\tmissing: %s.%s" % (type_name, member) - - -# Now check the modules -for mod_name, pymod in mods_dict.iteritems(): - print pymod - del sys.modules[mod_name] - - # Now well get the python version - pydoc = __import__(mod_name) - pydoc = reload(pydoc) # avoid using the out dated pyc file only - print pydoc.__file__ - - for member in sorted(dir(pymod)): - if hasattr(pydoc, member) or check_attribute(pydoc, member): - if PRINT_OK: - print "\tfound module attr: %s.%s" % (mod_name, member) - else: - print "\tmissing module attr: %s.%s" % (mod_name, member) - - # Restore real module - sys.modules[mod_name] = pymod - - -sys.path.pop() # remove the pydoc dir from our import paths - - |