def print_code_statistics(): '''Print # lines of code, # modules, etc to console This is the official source of code statistics for things like grants. ''' from cellprofiler.modules import builtin_modules, all_modules, instantiate_module import subprocess print "\n\n\n**** CellProfiler code statistics ****" print "# of built-in modules: %d" % len(builtin_modules) setting_count = 0 for module in all_modules.values(): if module.__module__.find(".") < 0: continue mn = module.__module__.rsplit(".", 1)[1] if mn not in builtin_modules: continue module_instance = instantiate_module(module.module_name) setting_count += len(module_instance.help_settings()) print "# of settings: %d" % setting_count filelist = subprocess.Popen( ["git", "ls-files"], stdout=subprocess.PIPE).communicate()[0].split("\n") linecount = 0 for filename in filelist: if (os.path.exists(filename) and any( [filename.endswith(x) for x in ".py", ".c", ".pyx", ".java"])): with open(filename, "r") as fd: linecount += len(fd.readlines())
def print_code_statistics(): '''Print # lines of code, # modules, etc to console This is the official source of code statistics for things like grants. ''' from cellprofiler.modules import builtin_modules, all_modules, instantiate_module import subprocess print "\n\n\n**** CellProfiler code statistics ****" print "# of built-in modules: %d" % len(builtin_modules) setting_count = 0 for module in all_modules.values(): if module.__module__.find(".") < 0: continue mn = module.__module__.rsplit(".", 1)[1] if mn not in builtin_modules: continue module_instance = instantiate_module(module.module_name) setting_count += len(module_instance.help_settings()) print "# of settings: %d" % setting_count filelist = subprocess.Popen(["git", "ls-files"], stdout=subprocess.PIPE).communicate()[0].split("\n") linecount = 0 for filename in filelist: if (os.path.exists(filename) and any([filename.endswith(x) for x in ".py", ".c", ".pyx", ".java"])): with open(filename, "r") as fd: linecount += len(fd.readlines())
def print_code_statistics(): """Print # lines of code, # modules, etc to console This is the official source of code statistics for things like grants. """ from cellprofiler.modules import builtin_modules, all_modules, instantiate_module import subprocess print "\n\n\n**** CellProfiler code statistics ****" print "# of built-in modules: %d" % len(builtin_modules) setting_count = 0 for module in all_modules.values(): if module.__module__.find(".") < 0: continue mn = module.__module__.rsplit(".", 1)[1] if mn not in builtin_modules: continue module_instance = instantiate_module(module.module_name) setting_count += len(module_instance.help_settings()) directory = os.path.abspath(os.path.split(sys.argv[0])[0]) try: filelist = ( subprocess.Popen(["git", "ls-files"], stdout=subprocess.PIPE, cwd=directory).communicate()[0].split("\n") ) except: filelist = [] for root, dirs, files in os.walk(directory): filelist += [os.path.join(root, f) for f in files] linecount = 0 for filename in filelist: if os.path.exists(filename) and any([filename.endswith(x) for x in ".py", ".c", ".pyx", ".java"]):
def test_01_01_import_all(self): # # Make sure that we can import every module. # Tests have a habit of importing the module they test and then, # they are not included in the test suite because they don't import # found_modules = map((lambda x: x.__module__.rsplit(".", 1)[-1]), all_modules.values()) for module_name in filter((lambda x: x not in self.optional_modules), builtin_modules): self.assertTrue( module_name in found_modules, "%s is missing from the list of available modules" % module_name )
def test_01_01_import_all(self): # # Make sure that we can import every module. # Tests have a habit of importing the module they test and then, # they are not included in the test suite because they don't import # found_modules = map((lambda x: x.__module__.rsplit(".", 1)[-1]), all_modules.values()) for module_name in \ filter((lambda x:x not in self.optional_modules), builtin_modules): self.assertTrue( module_name in found_modules, "%s is missing from the list of available modules" % module_name)
def print_code_statistics(): '''Print # lines of code, # modules, etc to console This is the official source of code statistics for things like grants. ''' from cellprofiler.modules import builtin_modules, all_modules, instantiate_module import subprocess print "\n\n\n**** CellProfiler code statistics ****" print "# of built-in modules: %d" % len(builtin_modules) setting_count = 0 for module in all_modules.values(): if module.__module__.find(".") < 0: continue mn = module.__module__.rsplit(".", 1)[1] if mn not in builtin_modules: continue module_instance = instantiate_module(module.module_name) setting_count += len(module_instance.help_settings()) directory = os.path.abspath(os.path.split(sys.argv[0])[0]) try: filelist = subprocess.Popen(["git", "ls-files"], stdout=subprocess.PIPE, cwd=directory).communicate()[0].split("\n") except: filelist = [] for root, dirs, files in os.walk(directory): filelist += [os.path.join(root, f) for f in files] linecount = 0 for filename in filelist: if (os.path.exists(filename) and any( [filename.endswith(x) for x in ".py", ".c", ".pyx", ".java"])): if filename.endswith(".c") and os.path.exists(filename[:-1] + "pyx"): continue with open(filename, "r") as fd: linecount += len(fd.readlines())