"place" : self.place, "quoter" : self.quoter}
return d
+ def __get_proper_place(self):
+ """
+ property function pour récupérer ``self.place``
+ mais en virant None ou des chaînes ne contenant que des whitespace.
+ """
+ return self.place if self.place and self.place.strip() != u"" else u""
+ proper_place = property(__get_proper_place)
+
+ def __get_proper_quoter(self):
+ """
+ property function pour récupérer ``self.place``
+ mais en virant None ou des chaînes ne contenant que des whitespace.
+ """
+ return self.quoter if self.quoter and self.quoter.strip() != u"" else u""
+ proper_quoter = property(__get_proper_quoter)
+
def __unicode__(self):
""" Retourne la quote affichable """
- if self.place and self.place.strip() != u"":
- return config.quote_template_withcontext % self.__dict__
- else:
- return config.quote_template % self.__dict__
+ return config.quote_template % self.__dict__
def __str__(self):
return unicode(self).encode("utf-8")
+ def display(self, show_context=False):
+ """
+ Retourne une chaîne contenant toujours la quote et l'auteur,
+ et le contexte ssi ``show_context = True``.
+ """
+ s = config.quote_template % self.__dict__
+ if show_context:
+ s = u"%s | %s" % (s, self.proper_place)
+ return s.encode("utf-8")
+
def full_str(self):
""" Retourne une chaîne représentant la totalité des infos de la quote,
tout en étant parsable et human-readable. """
- place = self.place if self.place and self.place.strip() != u"" else u""
- quoter = self.quoter if self.quoter and self.quoter.strip() != u"" else u""
- return (u"%s %s | %s | %s" % (self.timestamp.strftime("%F_%T"), config.quote_template % self.__dict__
- , place, quoter)).encode("utf-8")
+ s = u"%s %s | %s | %s" % (
+ self.timestamp.strftime("%F_%T"),
+ config.quote_template % self.__dict__,
+ self.proper_place,
+ self.proper_quoter)
+ return s.encode("utf-8")
def __eq__(self, otherquote):
""" Vérifie si cette phrase n'a pas déjà été dite par la même personne.