Пример #1
0
 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()
Пример #2
0
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()
Пример #3
0
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)
Пример #4
0
    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)
Пример #5
0
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)
Пример #6
0
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"],
        },
    )
Пример #8
0
    def __init__(self, level, root):
        KRPuzzle.__init__(self, level)

        self.allow_help = False
        self.writer = Writer(self.level, root)
Пример #9
0
 def scrape_characters(self, description):
     output_text = Parser.sanitize_characters(description)
     Writer.write_scraped_data(self.state.get_current_filename(),
                               output_text)
Пример #10
0
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"],
    )