def save(self, *args, **kw): if self.raw: for k, v in break_url(self.raw).items(): setattr(self, k, v) if not self.title: self.title = trunc_string(self.description, 50) created = not getattr(self, "id", None) old = None if created: # there's a possible race condition here try: self.number = Issue.all().order("-number")[0].number + 1 except IndexError: self.number = 1 self.timestamp = datetime.now() else: old = Issue.get(self.id) self.put() if created: signals.issue_created.send(sender=self.__class__, instance=self) else: for key in ["status", "assigned", "priority"]: new_value = getattr(self, key) old_value = getattr(old, key) if new_value !=old_value: signal = getattr(signals, "issue_%s_changed" % key) signal.send(sender=self.__class__, instance=self, old=old_value, new=new_value) signals.issue_changed.send(sender=self.__class__, instance=self, old=old)
def save(self, *args, **kw): if self.raw: for k, v in break_url(self.raw).items(): setattr(self, k, v) if not self.title: self.title = trunc_string(self.description, 50) created = not getattr(self, "id", None) old = None if created: self.number = Issue.all().count() + 1 self.timestamp = datetime.now() else: old = Issue.get(self.id) self.put() if created: signals.issue_created.send(sender=self.__class__, instance=self) else: for key in ["status", "assigned", "priority"]: new_value = getattr(self, key) old_value = getattr(old, key) if new_value != old_value: signal = getattr(signals, "issue_%s_changed" % key) signal.send(sender=self.__class__, instance=self, old=old_value, new=new_value) signals.issue_changed.send(sender=self.__class__, instance=self, old=old)
def testTrunc(self): assert trunc_string("Test123", 5) == "Te..." assert trunc_string(None, 5) == ""
def trunc(value, arg): "Removes all values of arg from the given string" return trunc_string(value, arg)
def trunc(value, arg): return trunc_string(value, arg)