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()
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)
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)
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)
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')
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')