def process_sources(self): splitted_source = "" for file_name,file_source in self.project_files: ast_source = remove_Directives(file_source) # print "@file_source[%s]"%file_name #,file_source try: # ast = get_ast_from_text(file_source) ast = None except Exception, e: print e debuglines= 8 line = int(str(e).split(':')[1]) for i in range(debuglines): try: print "INFO file[%s] line[%s]: %s" % (file_name,line+i-debuglines/2+1,file_source.split('\n')[line+i-debuglines/2]) except: pass ast = None if ast is not None: #ast.show() # print ast.ext pass holsted, mackkeib,jilb, sloc = ( function(file_source,ast) for function in ( get_holsted, get_mackkeib, get_jilb, get_sloc ) ) #BUF to fix if holsted != (-1,-1,-1): splitted_source += "\n"+file_source vulns = get_vulns_count(file_source,ast) metrix = Metrix( holsted = str(holsted), mackkeib = str(mackkeib), jilb = str(jilb), sloc = str(sloc) ) metrix.put() vulnerability = Vulnerability( vulnerability = str(vulns) ) vulnerability.put() potential = self.calc_potential( holsted[0], mackkeib, jilb, vulns ) p = self.calc_p(potential) short = self.project.short + md5(file_name).hexdigest() # print ("filename & sloc & holsted & mackkeib & jilb & vulns & potential & p") print ("{} & {} & {} & {} & {} & {} & {} & {}\\\\".format( file_name, sloc, holsted[0], mackkeib, jilb, vulns, potential, p )) source = Source( project = self.project, file_name = file_name, file_source = file_source, file_db_item = SourceFile( short = short, project = self.project, name = file_name, source = file_source, metrix = metrix, vulnerability = vulnerability, potential = potential, p = p ), holsted = holsted, mackkeib = mackkeib, jilb = jilb, sloc = sloc, vulns = vulns, potential = potential, p = p ) source.file_db_item.put() self.files.append(source)
def process_sources(self): splitted_source = "" for file_name, file_source in self.project_files: ast_source = remove_Directives(file_source) # print "@file_source[%s]"%file_name #,file_source try: # ast = get_ast_from_text(file_source) ast = None except Exception, e: print e debuglines = 8 line = int(str(e).split(':')[1]) for i in range(debuglines): try: print "INFO file[%s] line[%s]: %s" % ( file_name, line + i - debuglines / 2 + 1, file_source.split('\n')[line + i - debuglines / 2]) except: pass ast = None if ast is not None: #ast.show() # print ast.ext pass holsted, mackkeib, jilb, sloc = (function( file_source, ast) for function in (get_holsted, get_mackkeib, get_jilb, get_sloc)) #BUF to fix if holsted != (-1, -1, -1): splitted_source += "\n" + file_source vulns = get_vulns_count(file_source, ast) metrix = Metrix(holsted=str(holsted), mackkeib=str(mackkeib), jilb=str(jilb), sloc=str(sloc)) metrix.put() vulnerability = Vulnerability(vulnerability=str(vulns)) vulnerability.put() potential = self.calc_potential(holsted[0], mackkeib, jilb, vulns) p = self.calc_p(potential) short = self.project.short + md5(file_name).hexdigest() # print ("filename & sloc & holsted & mackkeib & jilb & vulns & potential & p") print("{} & {} & {} & {} & {} & {} & {} & {}\\\\".format( file_name, sloc, holsted[0], mackkeib, jilb, vulns, potential, p)) source = Source(project=self.project, file_name=file_name, file_source=file_source, file_db_item=SourceFile( short=short, project=self.project, name=file_name, source=file_source, metrix=metrix, vulnerability=vulnerability, potential=potential, p=p), holsted=holsted, mackkeib=mackkeib, jilb=jilb, sloc=sloc, vulns=vulns, potential=potential, p=p) source.file_db_item.put() self.files.append(source)
holsted = get_holsted(splitted_source,None) mackkeib = get_mackkeib(splitted_source,None) jilb = get_jilb(splitted_source,None) vulns = reduce(lambda x,y: (x+y), map(lambda x: x.vulns, self.files)) potential = reduce(lambda x,y : x if x>y else y, map(lambda x: x.potential, self.files)) p = reduce(lambda x,y : x if x>y else y, map(lambda x: x.p, self.files)) self.project.potential = potential self.project.p = p metrix = Metrix( sloc = str(sloc), holsted = str(holsted), mackkeib = str(mackkeib), jilb = str(jilb) ) metrix.put() self.project.metrix = metrix vulnerability = Vulnerability( vulnerability = str(vulns) ) vulnerability.put() self.project.vulnerability = vulnerability __author__ = 'andrew.vasyltsiv'
sloc = reduce(lambda x, y: x + y, map(lambda x: x.sloc, self.files)) holsted = get_holsted(splitted_source, None) mackkeib = get_mackkeib(splitted_source, None) jilb = get_jilb(splitted_source, None) vulns = reduce(lambda x, y: (x + y), map(lambda x: x.vulns, self.files)) potential = reduce(lambda x, y: x if x > y else y, map(lambda x: x.potential, self.files)) p = reduce(lambda x, y: x if x > y else y, map(lambda x: x.p, self.files)) self.project.potential = potential self.project.p = p metrix = Metrix(sloc=str(sloc), holsted=str(holsted), mackkeib=str(mackkeib), jilb=str(jilb)) metrix.put() self.project.metrix = metrix vulnerability = Vulnerability(vulnerability=str(vulns)) vulnerability.put() self.project.vulnerability = vulnerability __author__ = 'andrew.vasyltsiv'