def test_project_dfs_files(self): class TestFileDfsHandler(Project.FileDfsHandler): def __init__(self): super(TestFileDfsHandler, self).__init__() self.files = [] self.dir_xml = '' def handle_file(self, path): self.files.append(path) def normalize_path(self, path): return path.replace('/', '.').replace('\\', '.') def enter_dir(self, path): self.dir_xml += u'<{0}>'.format(self.normalize_path(path)) def exit_dir(self, path): self.dir_xml += u'</{0}>'.format(self.normalize_path(path)) tests_path = os.path.abspath(os.path.dirname(__file__)) p = Project(tests_path) p.ignored_dirs.append('__pycache__') p.ignored_dirs.append('data/android') hnd = TestFileDfsHandler() p.dfs_files(hnd) self.assertGreaterEqual(len(hnd.files), 11) # counting possible pyc/... files self.assertIn('model_test.py', hnd.files) for i in range(1, 7): self.assertIn('data/java/sample_sources/{0}.java'.format(i), hnd.files) DIRS = u'<><data><data.java><data.java.sample_sources></data.java.sample_sources></data.java></data></>' self.assertEqual(hnd.dir_xml, DIRS)
from inspector.analyzer.project_analyzer import LocCounter, LocCounter2 from inspector.models.base import Project from inspector.utils.strings import render_template if __name__ == '__main__': if len(sys.argv) == 3: project_dir = sys.argv[1] plot_type = sys.argv[2] else: if len(sys.argv) > 1: print 'Invalid arguments!' project_dir = str(raw_input('Please enter project path: ')) plot_type = str(raw_input('Please select output format [pie/tree]: ')) current_dir = os.path.abspath(os.path.dirname(__file__)) p = Project(project_dir) p.ignored_dirs = [ '.git', '.settings', '.idea', '.classpath', 'bin', 'media/uploads', 'media/serve', 'lib/debug_toolbar', 'static/tiny_mce', 'static/js/tiny_mce', 'static/admin' ] params = { 'width': 600, 'height': 600, 'pname': p.name, 'data': '{}', } if plot_type == 'pie': hnd = LocCounter2()
from inspector.models.base import Project from inspector.utils.strings import render_template if __name__ == "__main__": if len(sys.argv) == 3: project_dir = sys.argv[1] plot_type = sys.argv[2] else: if len(sys.argv) > 1: print "Invalid arguments!" project_dir = str(raw_input("Please enter project path: ")) plot_type = str(raw_input("Please select output format [pie/tree]: ")) current_dir = os.path.abspath(os.path.dirname(__file__)) p = Project(project_dir) p.ignored_dirs = [ ".git", ".settings", ".idea", ".classpath", "bin", "media/uploads", "media/serve", "lib/debug_toolbar", "static/tiny_mce", "static/js/tiny_mce", "static/admin", ] params = {"width": 600, "height": 600, "pname": p.name, "data": "{}"}
if __name__ == '__main__': # configs PROJECTS_PATH = '/data/code/android' projects = [ 'github-android', 'linphone-android', 'vlc/vlc-android', 'mytracks/MyTracks' ] exts = ['java', 'xml', 'c'] for project_dir in projects: project_dir = os.path.join(PROJECTS_PATH, project_dir) print '=========================' print ' Project Analysis Report ' print '=========================' print ' path:', project_dir p = Project(project_dir) p.rescan_files() print ' Total number of files:', len(p._files) print ' File type breakdown:' TR = len(p._files) / 10 for ext in p.file_extensions: files = p.filter_files(extension=ext) ext_name = ext if ext else '""' loc = 0 if ext in exts: for f in files: loc += p.get_file(f).lines_count if loc or len(files) >= TR: print ' ', ext_name, ' \t', len( files), ' \t', loc if loc else 'N/A' print ""
from inspector.models.base import Project if __name__ == "__main__": # configs PROJECTS_PATH = "/data/code/android" projects = ["github-android", "linphone-android", "vlc/vlc-android", "mytracks/MyTracks"] exts = ["java", "xml", "c"] for project_dir in projects: project_dir = os.path.join(PROJECTS_PATH, project_dir) print "=========================" print " Project Analysis Report " print "=========================" print " path:", project_dir p = Project(project_dir) p.rescan_files() print " Total number of files:", len(p._files) print " File type breakdown:" TR = len(p._files) / 10 for ext in p.file_extensions: files = p.filter_files(extension=ext) ext_name = ext if ext else '""' loc = 0 if ext in exts: for f in files: loc += p.get_file(f).lines_count if loc or len(files) >= TR: print " ", ext_name, " \t", len(files), " \t", loc if loc else "N/A" print ""