Example #1
0
def link_code(pname, bname, release, linker_name, source, source_release=None):
    project = Project.objects.get(dir_name=pname)
    prelease = ProjectRelease.objects.filter(project=project).\
            filter(release=release)[0]
    if source_release is not None:
        srelease = ProjectRelease.objects.filter(project=project).\
            filter(release=source_release)[0]
    else:
        srelease = None
    codebase = CodeBase.objects.filter(project_release=prelease).\
            filter(name=bname)[0]
    linker_cls_name = LINKERS[linker_name]
    linker_cls = import_clazz(linker_cls_name)
    linker = linker_cls(project, prelease, codebase, source, srelease)

    progress_monitor = CLIProgressMonitor(min_step=1.0)
    progress_monitor.info('Cache Count {0} miss of {1}'.format(
        cache_util.cache_miss, cache_util.cache_total))

    start = time.clock()

    linker.link_references(progress_monitor)

    stop = time.clock()
    progress_monitor.info('Cache Count {0} miss of {1}'.format(
        cache_util.cache_miss, cache_util.cache_total))
    progress_monitor.info('Time: {0}'.format(stop - start))
Example #2
0
def link_code(pname, bname, release, linker_name, source, source_release=None):
    project = Project.objects.get(dir_name=pname)
    prelease = ProjectRelease.objects.filter(project=project).\
            filter(release=release)[0]
    if source_release is not None:
        srelease = ProjectRelease.objects.filter(project=project).\
            filter(release=source_release)[0]
    else:
        srelease = None
    codebase = CodeBase.objects.filter(project_release=prelease).\
            filter(name=bname)[0]
    linker_cls_name = LINKERS[linker_name]
    linker_cls = import_clazz(linker_cls_name)
    linker = linker_cls(project, prelease, codebase, source, srelease)

    progress_monitor = CLIProgressMonitor(min_step=1.0)
    progress_monitor.info('Cache Count {0} miss of {1}'
            .format(cache_util.cache_miss, cache_util.cache_total))

    start = time.clock()

    linker.link_references(progress_monitor)

    stop = time.clock()
    progress_monitor.info('Cache Count {0} miss of {1}'
            .format(cache_util.cache_miss, cache_util.cache_total))
    progress_monitor.info('Time: {0}'.format(stop - start))
Example #3
0
def debug_channel(pname, cname, parse_refs=True, entry_url=None):
    model = load_model(pname, STHREAD_PATH, cname)
    channel = SupportChannel.objects.filter(project__dir_name=pname).\
            get(dir_name=cname)
    pm = CLIProgressMonitor()
    generic_parser.debug_channel(channel,
                                 model,
                                 progress_monitor=pm,
                                 parse_refs=parse_refs,
                                 entry_url=entry_url)
    return channel
Example #4
0
def parse_channel(pname, cname, parse_refs=True):
    model = load_model(pname, STHREAD_PATH, cname)
    channel = SupportChannel.objects.filter(project__dir_name=pname).\
            get(dir_name=cname)
    pm = CLIProgressMonitor()
    generic_parser.parse_channel(channel,
                                 model,
                                 progress_monitor=pm,
                                 parse_refs=parse_refs)
    dump_model(model, pname, STHREAD_PATH, cname)
    return channel
Example #5
0
def parse_doc(pname, dname, release, parse_refs=True):
    prelease = ProjectRelease.objects.filter(project__dir_name=pname).\
            filter(release=release)[0]
    document = Document.objects.filter(project_release=prelease).\
            filter(title=dname)[0]
    doc_key = dname + release
    model = load_model(pname, DOC_PATH, doc_key)
    progress_monitor = CLIProgressMonitor()
    parse(document, model.pages, parse_refs, progress_monitor)

    return document
Example #6
0
def post_process_channel(pname, cname):
    channel = SupportChannel.objects.filter(project__dir_name=pname).\
            get(dir_name=cname)
    progress_monitor = CLIProgressMonitor()

    query = Message.objects.filter(sthread__isnull=True)
    progress_monitor.start('Post Processing', query.count())
    for message in query.all():
        post_process_message(channel, message)
        progress_monitor.work('Post processed a message', 1)
    progress_monitor.done()

    progress_monitor.start('Post Porcessing Threads', channel.threads.count())
    for thread in channel.threads.iterator():
        post_process_thread(channel, thread)
        progress_monitor.work('Post processed a thread', 1)
    progress_monitor.done()

    query = Message.objects.filter(sthread__channel=channel)
    progress_monitor.start('Post Processing References', query.count())
    for message in query.all():
        post_process_message_refs(message)
        progress_monitor.work('Processed references', 1)
    progress_monitor.done()

    return channel
Example #7
0
def post_process_channel(pname, cname):
    channel = SupportChannel.objects.filter(project__dir_name=pname).\
            get(dir_name=cname)
    progress_monitor = CLIProgressMonitor()

    query = Message.objects.filter(sthread__isnull=True)
    progress_monitor.start('Post Processing', query.count())
    for message in query.all():
        post_process_message(channel, message)
        progress_monitor.work('Post processed a message', 1)
    progress_monitor.done()

    progress_monitor.start('Post Porcessing Threads', channel.threads.count())
    for thread in channel.threads.iterator():
        post_process_thread(channel, thread)
        progress_monitor.work('Post processed a thread', 1)
    progress_monitor.done()

    query = Message.objects.filter(sthread__channel=channel)
    progress_monitor.start('Post Processing References', query.count())
    for message in query.all():
        post_process_message_refs(message)
        progress_monitor.work('Processed references', 1)
    progress_monitor.done()

    return channel