def new(self, received_dict): self.files = [] self.receivers = [] self.mark = self._marker[0] # 'incomplete' self.creation_time = gltime.utcDateNow() # TODO with gltimes completed, just gltime.utcTimeNow(associated_c.submission_expire) self.expiration_time = gltime.utcFutureDate(seconds=1, minutes=1, hours=1) self.submission_gus = idops.random_submission_gus() try: self._import_dict(received_dict) self.context_gus = unicode(received_dict['context_gus']) except KeyError, e: raise InvalidInputFormat("Submission initialization failed (missing %s)" % e)
def new(self, context_gus): store = self.getStore('new submission') try: associated_c = store.find(Context, Context.context_gus == context_gus).one() except NotOneError: store.close() raise ContextGusNotFound if associated_c is None: store.close() raise ContextGusNotFound submission = Submission() submission.submission_gus = idops.random_submission_gus(False) submission.context_gus = context_gus submission.context = associated_c # XXX this was important and actually IS bugged -- review that /me vecna # submission.receivers = associated_c.get_receivers('public') submission.receivers = associated_c.receivers # XXX this was important and actually IS bugged -- review that /me vecna submission.files = {} # TODO submission.context.update_stats() submission.creation_time = gltime.utcDateNow() submission.expiration_time = gltime.utcFutureDate(seconds=1, minutes=1, hours=1) store.add(submission) store.commit() submissionDesc = submission._description_dict() log.debug("[D] submission created", submission._description_dict()) store.close() return submissionDesc
raise ReceiverGusNotFound if selected_r is None: raise ReceiverGusNotFound if not self.context_gus in selected_r.contexts: print "[***] Invalid Receiver relationship:", self.context_gus, selected_r.contexts raise ReceiverGusNotFound for single_f in self.files: try: selected_f = store.find(File, File.file_gus == unicode(single_f)).one() except NotOneError: raise FileGusNotFound if selected_f is None: raise FileGusNotFound self.submission_gus = idops.random_submission_gus() if received_dict.has_key('finalize') and received_dict['finalize']: print "INFO, Finalized in new", self.submission_gus self.mark = self._marker[1] # 'finalized' else: print "INFO, NOT finalized in new", self.submission_gus store.add(self) return self._description_dict() @transact def update(self, submission_gus, received_dict): store = self.getStore()