def make_new_observations(self, reply): """Returns a list of new (saved) observations created if Reply meets conditions.""" membership = reply.observation.dyad if not membership: raise SignalBoxException("We can't add observations if no membership exists.") if not self.showif.evaluate(reply): return [] # no new observations need creating times = self.script.datetimes() observations = [ Observation( label=render_string_with_context(self.script.label, {"script": self.script, "membership": membership}), due_original=time, dyad=reply.observation.dyad, created_by_script=self.script, ) for time in times ] [i.save() for i in observations] [ o.add_data( key="created", value="Observation created by script id: {} \ ({}) in reply: {}".format( self.id, self, reply.token ), ) for o in observations ] return observations
def make_observations(self, membership): from signalbox.models import Observation times = self.datetimes(membership.date_randomised) times_indexes = list(zip(times, list(range(1, len(list(times)) + 1)))) observations = [] for time, index in times_indexes: observations.append( Observation(due_original=time, n_in_sequence=index, label=render_string_with_context(self.label, {'i': index, 'n': ordinal(index), 'script': self, 'membership': membership }), dyad=membership, created_by_script=self) ) [i.save() for i in observations] return observations
def make_new_observations(self, reply): """Returns a list of new (saved) observations created if Reply meets conditions.""" membership = reply.observation.dyad if not membership: raise SignalBoxException( "We can't add observations if no membership exists.") if not self.showif.evaluate(reply): return [] # no new observations need creating times = self.script.datetimes() observations = [ Observation(label=render_string_with_context( self.script.label, { 'script': self.script, 'membership': membership }), due_original=time, dyad=reply.observation.dyad, created_by_script=self.script) for time in times ] [i.save() for i in observations] [ o.add_data(key="created", value="Observation created by script id: {} \ ({}) in reply: {}".format(self.id, self, reply.token)) for o in observations ] return observations
def make_observations(self, membership): from signalbox.models import Observation times = self.datetimes(membership.date_randomised) times_indexes = list(zip(times, list(range(1, len(list(times)) + 1)))) observations = [] for time, index in times_indexes: observations.append( Observation(due_original=time, n_in_sequence=index, label=render_string_with_context( self.label, { 'i': index, 'n': ordinal(index), 'script': self, 'membership': membership }), dyad=membership, created_by_script=self)) [i.save() for i in observations] return observations
def parse_external_asker_url(self, reply): return render_string_with_context(self.external_asker_url, {"reply": reply})
def parse_external_asker_url(self, reply): return render_string_with_context(self.external_asker_url, {'reply': reply})