예제 #1
0
def make_whereis_output():
    ignore, filename = tempfile.mkstemp(prefix="gitannex-whereis-output-")
    proc = gitannex.make_whereis_proc()
    count = 0
    outfile = file(filename, "w")
    while proc.returncode is None:
        try:
            line = proc.stdout.next()
            outfile.write(line)
        except StopIteration:
            outfile.close()
            break
        count += 1
    return filename
예제 #2
0
def parse_whereis_cmd(session, repoids, convert_to_unicode=True, verbose_warning=True):
    proc = gitannex.make_whereis_proc()
    count = 0
    while proc.returncode is None:
        try:
            line = proc.stdout.next()
        except StopIteration:
            break
        parse_whereis_line(
            session, line, repoids, convert_to_unicode=convert_to_unicode, verbose_warning=verbose_warning
        )
        count += 1
        if not count % 5000:
            print "committing at count %d" % count
            session.commit()
    if proc.returncode:
        raise RuntimeError, "command returned %d" % proc.returncode
    session.commit()