def create_new_revision(self, document_relative_path, new_content, changelist): r = Revision(self.storage) r.document_relative_path = document_relative_path r.datetime_diffed_on = datetime.datetime.now() # just get the default first value, by passing no object to the scheduler # (and default is to use today() as start date) r.scheduled_date = self.scheduler_getter(r.document_relative_path).get_next_date(None) # no revisions done _for this diff_, not the document, by the way r.num_revisions_done = 0 r.content = new_content r.changelist = changelist r.perform_insert()