Exemplo n.º 1
0
def main(b):

    b.setLoggingLevel()
    # These do nothing if the user does ask for them
    b.addAccount()
    prefs_responce = b.changePrefs()
    boinccmd_responce = b.callBoinccmd()
    b.startBoinc()

    # Get data
    if b.args.update:
        try:
            b.updateLocalProjects()
            b.updateWupropProjects()
            b.updateWebProjects()
        except Exception as e:
            logger.exception("Uncaught exception when getting data")

        # print 'MERGED'
        project.pretty_print(b.web_projects, show_empty=b.args.verbose)
        b.plot()

        b.args.update = False  # reset for next time: todo: doesn't actually do anything

    if boinccmd_responce is not None:
        print boinccmd_responce.communicate()
    if prefs_responce is not None:
        print prefs_responce.communicate()
Exemplo n.º 2
0
 def verbosePrintProject(self, name, proj):
     """Only print proj if verbose setting is True"""
     if self.args.verbose:
         print name
         project.pretty_print(proj, show_empty=True)
Exemplo n.º 3
0
            self.currentBlock = []                

        if self.inBlock:
            self.currentBlock.append(line.strip())

if __name__ == '__main__':
    import argparse

    from loggerSetup import loggerSetup

    parser = argparse.ArgumentParser(description='Runs and parses get_state rpc reply')
    parser.add_argument('command', default='get_state', nargs='?', choices=['get_state', 
                                                                            'get_file_transfers', 
                                                                            'get_project_status',
                                                                            'get_cc_status'])
    parser.add_argument('-r', '--raw', action='store_true', help='Print out the raw xml')
    parser.add_argument('--show_empty', action='store_true', help='Show empty projects (no tasks)')
    args = parser.parse_args()

    loggerSetup(logging.DEBUG)
    if args.command == 'get_cc_status':
        import config
        _, _, BOINC_DIR = config.set_globals()
        c = CallBoinccmd(BOINC_DIR, '--get_cc_status')
        print c.communicate(returnAll=True)
    else:
        projects = get_state_command(command=args.command,
                                     printRaw=args.raw)
        pretty_print(projects, 
                     show_empty=args.show_empty)
Exemplo n.º 4
0
    applications, badges = parse_wuprop(projects)
    plot_wuprop(fig2, applications, badges, browser)

if __name__ == '__main__':
    from loggerSetup import loggerSetup
    loggerSetup(logging.DEBUG)
    
    import config
    import browser
    import project
    import boinccmd

    local_projects = boinccmd.get_state()
    print 'LOCAL'
    project.pretty_print(local_projects)

    CONFIG, CACHE_DIR, _ = config.set_globals()
    cache = browser.Browser_file(CACHE_DIR)
    b = browser.BrowserSuper(cache)

    # web_p = browser.getProject('worldcommunitygrid.org', CONFIG, cache)
    # web_projects = dict()
    # web_projects[web_p.url] = web_p
    web_projects = browser.getProjectsDict(CONFIG, cache)

    wuprop_projects = browser.getProjects_wuprop(CONFIG, cache)
    print 'WUPROP'
    project.pretty_print(wuprop_projects, show_empty=True)
    
    project.mergeWuprop(wuprop_projects, local_projects)
Exemplo n.º 5
0
    plt.yticks(np.arange(len(names))+width/2, names)
    ax = plt.gca()
    ax.xaxis.set_major_formatter(formatter_timedelta)

    fig.suptitle('Time until deadline\nTotal work remaining %s' % util.timedeltaToStr(totalRemaining))
    ax.set_xlabel('Time')
    ax.set_ylabel('Task')

    for ix, labels in enumerate([ax.get_xticklabels(), ax.get_yticklabels()]):
        for label in labels:
            label.set_rotation(17)
            if ix == 0:
                label.set_ha('right')
            else:
                label.set_va('baseline')

if __name__ == '__main__':
    from loggerSetup import loggerSetup
    loggerSetup(logging.INFO)

    import boinccmd
    import project

    projects = boinccmd.get_state()
    project.pretty_print(projects)

    fig1 = plt.figure()
    plot(fig1, projects)

    raw_input('=== Press enter to exit ===\n')
Exemplo n.º 6
0
    addLegend(ax, loc='upper left')

    fig.suptitle("Showing state of {:.0f} tasks".format(sum(bottom)))

if __name__ == '__main__':
    from loggerSetup import loggerSetup
    loggerSetup(logging.INFO)
    
    import config
    import browser
    import project
    import boinccmd

    fig = plt.figure()

    local_projects = boinccmd.get_state()
    # print 'LOCAL'
    # project.pretty_print(local_projects)

    CONFIG, CACHE_DIR, _ = config.set_globals()
    cache = browser.Browser_file(CACHE_DIR)
    b = browser.BrowserSuper(cache)

    web_projects = browser.getProjectsDict(CONFIG, cache)
    
    project.merge(local_projects, web_projects)
    project.pretty_print(web_projects)
    
    plot(fig, web_projects)
    raw_input('=== Press enter to exit ===\n')