def reviews_finished(arguments, config): storage = Storage(config) for revid_str in arguments: revid = int(revid_str) rev_obj = Revision.get_revision_from_id(storage, revid) rev_obj.num_revisions_done += 1 new_date = config.get_scheduler(rev_obj.document_relative_path)\ .get_next_date(\ revision_object=rev_obj, from_date=datetime.date.today()) rev_obj.update_scheduled_date(new_date, update_num_revisions=True) print "Revision for", rev_obj.document_relative_path, \ "(", get_formatted_datetime(rev_obj.datetime_diffed_on), ")",\ "scheduled for ", get_formatted_date(new_date)
def generate_for_today(arguments, config): storage = Storage(config) invalid = False if len(arguments) not in (0,1): invalid = True days_in_advance = 0 if len(arguments) == 1: try: days_in_advance = int(arguments[0]) except: invalid = True if invalid: print "Sole argument accepted by 'today' is a number of days" print "for advance review." return the_date = datetime.date.today() + datetime.timedelta(days=days_in_advance) rev_objs = Revision.get_all_revisions_scheduled_before(storage, the_date) if len(rev_objs) == 0: print "No revisions for today, so not generating anything." print "(If you want to review in advance, add a number of days as" print " after 'diffrevision.py today', e.g. 'diffrevision.py t 2'" return generator = StaticHtmlGenerator(storage.config, storage) generator.generate_pages_and_index_for_revisions(rev_objs) print "When you're done, you must manually call " print " 'diffrevision.py finished [list of revision numbers]'" print "and delete the temporary directory." if getattr(storage.config, 'use_local_server', False): print "STARTING LOCAL SERVER on port", localserver.SERVER_PORT localserver.LocalReviewServer.set_global_storage(storage) server = localserver.HTTPServer(('localhost', localserver.SERVER_PORT), localserver.LocalReviewServer) print 'Use <Ctrl-C> to stop' server.serve_forever()
def list_all(config): storage = Storage(config) print "Printing all revisions in DB" Revision.print_all_revisions(storage)