Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
    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
Пример #4
0
    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
Пример #5
0
 def parse_external_asker_url(self, reply):
     return render_string_with_context(self.external_asker_url, {"reply": reply})
Пример #6
0
 def parse_external_asker_url(self, reply):
     return render_string_with_context(self.external_asker_url,
                                       {'reply': reply})