def __init__(self, prjdir, pyfile): self.prjdir = prjdir self.pyfile = pyfile self.module_helper = ModuleHelper(prjdir) self.pyfile_analyser = PyfileAnalyser(self.module_helper) self.writer = Writer()
class KREditor(KRPuzzle): def __init__(self, level, root): KRPuzzle.__init__(self, level) self.allow_help = False self.writer = Writer(self.level, root) def update(self, char): y, x = self.cursor_pos if char == curses.KEY_RIGHT: x += 1 elif char == curses.KEY_LEFT: x -= 1 elif char == curses.KEY_UP: y -= 1 elif char == curses.KEY_DOWN: y += 1 elif char in (ord(' '), ord('z')): self.mark(x, y) elif char == ord('x'): self.discard(x, y) elif char == ord('s'): self.save() x = utils.clamp(x, 0, self.level.width - 1) y = utils.clamp(y, 0, self.level.height - 1) self.cursor_pos = (y, x) # Update rows side. types, groups = self.get_marks_row(y) self.level.clear_row(y) marks = 0 for i, group in enumerate(groups[-1::-1]): if types[-(i + 1)] == self.MARK: marks += 1 self.level.add_to_left(self.level.left_margin - marks, y, group) # Update cols side. types, groups = self.get_marks_col(x) self.level.clear_col(x) marks = 0 for i, group in enumerate(groups[-1::-1]): if types[-(i + 1)] == self.MARK: marks += 1 self.level.add_to_top(x, self.level.top_margin - marks, group) def save(self): self.writer.write()
def process_qtree_xmlfile(): for filename in get_list_of_answers_files(): print "\n<> Processing: " + filename reader = QTreeXMLReader(filename) data.append(reader.process()) writer = Writer() writer.persist_summary(data)
def handle_message(self, embed): if self.state.get_last_command().startswith('$imab'): self.scrape_bundle_series(embed) else: Writer.write_scraped_data(self.state.get_current_filename(), embed.author.name) self.scrape_characters(embed.description) self.continuation_check(embed.footer)
def process_experiment_xmlfile(): for filename in get_list_of_answers_files(): print "\n<> Processing: " + filename reader = ExperimentXMLReader(filename) data.append(reader.process()) # reader.walk() writer = Writer() writer.persist_summary(data)
class VirtualRunner: """ 虚拟运行机将分析 pyfile 并生成对象之间的调用关系. docs: docs/call flow 实现方案.txt """ def __init__(self, prjdir, pyfile): self.prjdir = prjdir self.pyfile = pyfile self.module_helper = ModuleHelper(prjdir) self.pyfile_analyser = PyfileAnalyser(self.module_helper) self.writer = Writer() def main(self): call_stream = [self.pyfile] for pyfile in call_stream: lk.logdx(pyfile, style='◆') module_calls, prj_modules = self.pyfile_analyser.main(pyfile) """ module_calls: {module1: [call1, call2, ...], ...} prj_modules: [prj_module1, prj_module2, ...] """ # ------------------------------------------------ for module, calls in module_calls.items(): lk.loga(module, len(calls), calls) self.writer.record(module, calls) # ------------------------------------------------ new_pyfiles = self.get_new_pyfiles(prj_modules) for i in new_pyfiles: if i not in call_stream: call_stream.append(i) # calc elapsed time lk.total_count = lk.counter # TEST self.writer.show( self.module_helper.get_module_by_filepath( self.pyfile ) + '.module' ) def get_new_pyfiles(self, prj_modules): return [self.module_helper.get_pyfile_by_prj_module(x) for x in prj_modules]
def __writer() -> Writer: return Writer( extractor=Extractor( user="******", df=pd.DataFrame( { "count": [0], "date": pd.date_range( start="2010-12-25", end="2010-12-25", ), } ), ), skeleton_string_map={ "header-section": "header-section {user}", "repository": "repository {link}", "repository-title": "repository-title", "issue": "issue {link}", "issue-title": "issue-title", "summary-section": "summary-section", "today": "today {date} {count} {length}", "today-peak": "today-peak {start} {length}", "max": "max {date} {count}", "max-peak": "max-peak {start} {end} {length}", "total": "total {sum} {avg}", "graph-section": "graph-section", "count-sum-recent": "count-sum-recent", "count-sum-full": "count-sum-full", "dayofweek-sum-recent": "dayofweek-sum-recent", "dayofweek-mean-full": "dayofweek-mean-full", "month-sum-recent": "month-sum-recent", "year-sum-full": "year-sum-full", "contribution-count": "contribution-count", "day": "day", "dayofweek": "dayofweek", "month": "month", "year": "year", }, skeleton_list_map={ "dayofweek": ["zero", "one", "two", "three", "four", "five", "six"], "month": ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven"], }, )
def __init__(self, level, root): KRPuzzle.__init__(self, level) self.allow_help = False self.writer = Writer(self.level, root)
def scrape_characters(self, description): output_text = Parser.sanitize_characters(description) Writer.write_scraped_data(self.state.get_current_filename(), output_text)
import os from datetime import date from src.collector import Collector from src.date import DateRange from src.extractor import Extractor from src.skeleton import SkeletonFactory from src.writer import Writer if __name__ == "__main__": factory = SkeletonFactory( language=os.environ["INPUT_LANGUAGE"], ) Writer( extractor=Collector.collect( user=os.environ["INPUT_USER"], date_range=DateRange( start=date.fromisoformat(os.environ["INPUT_START_DATE"]), end=date.fromisoformat(os.environ["INPUT_END_DATE"]), ), ), skeleton_string_map=factory.get_string_map(), skeleton_list_map=factory.get_list_map(), ).write( file_name=os.environ["INPUT_FILE_NAME"], )