示例#1
0
 def calc_moment(self, tags=True, short=False):
     l = []
     date = self.calc_date(tags, short)
     heure = self.calc_heure()
     pat_date = ugettext('%(date)s') if self.date \
           else ugettext('%(date)s')
     pat_heure = ugettext('à %(heure)s') if self.heure \
            else ugettext('%(heure)s')
     l.append(pat_date % {'date': date})
     l.append(pat_heure % {'heure': heure})
     return str_list(l, ' ')
示例#2
0
 def smart_period(self, tags=True):
     debut = self.smart_debut(tags=tags)
     fin = self.smart_fin(tags=tags)
     # TODO: Rendre ceci plus simple en conservant les possibilités
     # d’internationalisation.
     if fin is None:
         if debut is None:
             return ''
         if self.debut_precision == self.DAY:
             t = ugettext('depuis le %(debut)s')
         else:
             t = ugettext('depuis %(debut)s')
     else:
         if debut is None:
             if self.fin_precision == self.DAY:
                 t = ugettext('jusqu’au %(fin)s')
             else:
                 t = ugettext('jusqu’à %(fin)s')
         else:
             if self.debut_precision == self.DAY:
                 if self.fin_precision == self.DAY:
                     t = ugettext('du %(debut)s au %(fin)s')
                 else:
                     t = ugettext('du %(debut)s à %(fin)s')
             else:
                 if self.fin_precision == self.DAY:
                     t = ugettext('de %(debut)s au %(fin)s')
                 else:
                     t = ugettext('de %(debut)s à %(fin)s')
     return t % {'debut': debut, 'fin': fin}
示例#3
0
    def html(self, tags=True):
        relache = ''
        circonstance = ''
        if self.circonstance:
            circonstance = hlp(self.circonstance, ugettext('circonstance'),
                               tags)
        if self.relache:
            relache = microdata(ugettext('Relâche'), 'eventType', tags=tags)

        lieu = microdata(self.ancrage_debut.calc_lieu(tags), 'location',
                         tags=tags)

        return str_list((lieu, circonstance,
                         self.ancrage_debut.calc_heure(), relache))
示例#4
0
 def standard(main):
     l = []
     if nom and not prenoms:
         l.append(titre)
     l.append(main)
     if show_prenoms and (prenoms or particule and not lon):
         if lon:
             l.insert(max(len(l) - 1, 0), prenoms)
         else:
             s = str_list((abbreviate(prenoms, tags=tags,
                                      enabled=abbr),
                           sc(particule, tags)),
                          ' ')
             l.append('(%s)' % s)
     out = str_list(l, ' ')
     if pseudonyme:
         alias = ugettext('dite') if self.is_feminin() \
             else ugettext('dit')
         out += ' %s %s' % (alias, pseudonyme)
     return out
示例#5
0
 def calc_titre(self, tags=False):
     if tags:
         titres = {
             'M': ugettext('M.'),
             'J': ugettext('M<sup>lle</sup>'),
             'F': ugettext('M<sup>me</sup>'),
         }
     else:
         titres = {
             'M': ugettext('Monsieur'),
             'J': ugettext('Mademoiselle'),
             'F': ugettext('Madame'),
         }
     if self.titre:
         return titres[self.titre]
     return ''
示例#6
0
def date_html(d, tags=True, short=False):
    """
    Rendu HTML d’une date.

    >>> from datetime import date
    >>> print(date_html(date(1828, 1, 15)))
    mardi 15 janvier 1828
    >>> print(date_html(date(1828, 1, 1), tags=False))
    mardi 1er janvier 1828
    >>> print(date_html(date(1828, 1, 1)))
    mardi 1<sup>er</sup> janvier 1828
    >>> print(date_html(date(1828, 1, 1), tags=False, short=True))
    1er janvier 1828
    """
    pre = '' if short else date(d, 'l')
    post = date(d, 'F Y')
    j = date(d, 'j')
    if j == '1':
        k = ugettext('er')
        if tags:
            k = '<sup>%s</sup>' % k
        j += k
    return ' '.join([s for s in (pre, j, post) if s])
示例#7
0
 def __str__(self):
     return ugettext('%(parent)s, %(type)s de %(enfant)s') % {
         'parent': self.parent, 'type': self.type.nom,
         'enfant': self.enfant}
示例#8
0
 def p(self):
     return ugettext('p. %s') % self.page
示例#9
0
 def calc_heure(self):
     if self.heure:
         return time(self.heure, ugettext('H\hi'))
     return self.heure_approx