Exemple #1
0
 def html(self, tags=True, pretty_title=False):
     url = None if not tags else self.get_absolute_url()
     conservation = hlp(self.lieu_conservation,
                        ugettext('Lieu de conservation'), tags)
     if self.ancrage.date or self.ancrage.date_approx:
         ancrage = hlp(self.ancrage.html(tags, caps=False), ugettext('date'))
     else:
         ancrage = None
     if self.cote:
         conservation += f", {hlp(self.cote, 'cote', tags)}"
     if self.titre:
         l = [cite(self.titre, tags)]
         if self.numero:
             l.append(self.no())
         if ancrage is not None:
             l.append(ancrage)
         if self.folio:
             l.append(hlp(self.f(), ugettext('folio'), tags))
         if self.page:
             l.append(hlp(self.p(), ugettext('page'), tags))
         if self.lieu_conservation:
             l[-1] += f' ({conservation})'
     else:
         l = [conservation]
         if ancrage is not None:
             l.append(ancrage)
     l = (l[0], small(str_list(l[1:]), tags=tags)) if pretty_title else l
     out = str_list(l)
     return mark_safe(href(url, out, tags))
Exemple #2
0
 def caracteristiques_iterator(self, tags=False):
     if self.numero:
         yield ugettext('n° %s') % self.numero
     if self.coupe:
         yield hlp(ugettext('en %s') % self.coupe, ugettext('coupe'), tags)
     if self.incipit:
         yield hlp(ugettext('« %s »') % self.incipit,
                   ugettext('incipit'), tags)
     # On ajoute uniquement le tempo s’il n’y a pas besoin de lui dans le
     # titre non significatif, c’est-à-dire s’il y a déjà un genre.
     if self.tempo and self.genre_id is not None:
         yield hlp(self.tempo, ugettext('Tempo'), tags)
     if self.tonalite:
         gamme, note, alteration = self.tonalite
         gamme = GAMMES.get(gamme, '')
         note = self.NOTES[note]
         alteration = self.ALTERATIONS[alteration]
         tonalite = ugettext('en %s') % str_list(
             (em(note, tags), alteration, gamme), ' ')
         yield tonalite
     if self.sujet:
         yield hlp(ugettext('sur %s') % self.sujet, ugettext('sujet'), tags)
     if self.arrangement is not None:
         yield f'({self.get_arrangement_display()})'
     if self.surnom:
         yield hlp(f'({self.surnom})', ugettext('surnom'), tags)
     if self.nom_courant:
         yield hlp(self.nom_courant, ugettext('nom courant'), tags)
     if self.opus:
         yield hlp(ugettext('op. %s') % self.opus, ugettext('opus'), tags)
     if self.ict:
         yield hlp(self.ict,
                   ugettext('Indice de Catalogue Thématique'), tags)
Exemple #3
0
 def caracteristiques_iterator(self, tags=False):
     if self.numero:
         yield ugettext('n° %s') % self.numero
     if self.coupe:
         yield hlp(ugettext('en %s') % self.coupe, ugettext('coupe'), tags)
     if self.incipit:
         yield hlp(
             ugettext('« %s »') % self.incipit, ugettext('incipit'), tags)
     # On ajoute uniquement le tempo s’il n’y a pas besoin de lui dans le
     # titre non significatif, c’est-à-dire s’il y a déjà un genre.
     if self.tempo and self.genre_id is not None:
         yield hlp(self.tempo, ugettext('Tempo'), tags)
     if self.tonalite:
         gamme, note, alteration = self.tonalite
         gamme = GAMMES.get(gamme, '')
         note = self.NOTES[note]
         alteration = self.ALTERATIONS[alteration]
         tonalite = ugettext('en %s') % str_list(
             (em(note, tags), alteration, gamme), ' ')
         yield tonalite
     if self.sujet:
         yield hlp(ugettext('sur %s') % self.sujet, ugettext('sujet'), tags)
     if self.arrangement is not None:
         yield f'({self.get_arrangement_display()})'
     if self.surnom:
         yield hlp(f'({self.surnom})', ugettext('surnom'), tags)
     if self.nom_courant:
         yield hlp(self.nom_courant, ugettext('nom courant'), tags)
     if self.opus:
         yield hlp(ugettext('op. %s') % self.opus, ugettext('opus'), tags)
     if self.ict:
         yield hlp(self.ict, ugettext('Indice de Catalogue Thématique'),
                   tags)
Exemple #4
0
 def html(self, tags=True, caps=False):
     value = self.valeur
     if caps:
         value = capfirst(self.valeur)
     value = mark_safe(value)
     if self.type:
         return hlp(value, self.type, tags=tags)
     return value
Exemple #5
0
 def html(self, tags=True, caps=False):
     value = self.valeur
     if caps:
         value = capfirst(self.valeur)
     value = mark_safe(value)
     if self.type:
         return hlp(value, self.type, tags=tags)
     return value
Exemple #6
0
    def calc_titre(self, tags=False):
        titre = self.titre
        if not titre:
            return ''

        if tags:
            if titre == 'M':
                return hlp(ugettext('M.'), 'Monsieur')
            elif titre == 'J':
                return hlp(ugettext('M<sup>lle</sup>'), 'Mademoiselle')
            elif titre == 'F':
                return hlp(ugettext('M<sup>me</sup>'), 'Madame')

        if titre == 'M':
            return ugettext('Monsieur')
        elif titre == 'J':
            return ugettext('Mademoiselle')
        elif titre == 'F':
            return ugettext('Madame')

        raise ValueError('Type de titre inconnu, il devrait être M, J, ou F.')
Exemple #7
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.debut.lieu_str(tags), 'location', tags=tags)

        return mark_safe(
            str_list((lieu, circonstance, self.debut.heure_str(), relache)))
Exemple #8
0
 def html(self, tags=True, pretty_title=False, link=True):
     url = None if not tags else self.get_absolute_url()
     conservation = hlp(self.lieu_conservation,
                        ugettext('Lieu de conservation'), tags)
     if self.ancrage.date or self.ancrage.date_approx:
         ancrage = hlp(self.ancrage.html(tags, caps=False),
                       ugettext('date'))
     else:
         ancrage = None
     if self.cote:
         conservation += f", {hlp(self.cote, 'cote', tags)}"
     if self.titre:
         l = [cite(self.titre, tags)]
         if self.numero:
             l.append(self.no())
         if ancrage is not None:
             l.append(ancrage)
         if self.lieu_conservation:
             l[-1] += f' ({conservation})'
     else:
         l = [conservation]
         if ancrage is not None:
             l.append(ancrage)
     if self.folio:
         l.append(hlp(self.f(), ugettext('folio'), tags))
     if self.page:
         l.append(hlp(self.p(), ugettext('page'), tags))
     if self.parent is not None:
         l.insert(
             0,
             self.parent.html(tags=tags,
                              pretty_title=pretty_title,
                              link=pretty_title))
     l = (l[0], small(str_list(l[1:]), tags=tags)) if pretty_title else l
     out = str_list(l)
     if link:
         return mark_safe(href(url, out, tags))
     return out
Exemple #9
0
 def html(self, tags=True, caps=False):
     l = []
     first = True
     for c in self:
         valeur = c.valeur
         if first and caps:
             valeur = capfirst(valeur)
             first = False
         valeur = mark_safe(valeur)
         if c.type:
             l.append(hlp(valeur, c.type, tags=tags))
         else:
             l.append(valeur)
     return mark_safe(str_list(l))
Exemple #10
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.debut.lieu_str(tags), 'location',
                         tags=tags)

        return mark_safe(str_list((lieu, circonstance,
                                   self.debut.heure_str(), relache)))
Exemple #11
0
 def html(self, tags=True, caps=False):
     l = []
     first = True
     for c in self:
         valeur = c.valeur
         if first and caps:
             valeur = capfirst(valeur)
             first = False
         valeur = mark_safe(valeur)
         if c.type:
             l.append(hlp(valeur, c.type, tags=tags))
         else:
             l.append(valeur)
     return mark_safe(str_list(l))
Exemple #12
0
    def format_match(self, obj):
        if obj is None:
            return ''
        out = getattr(obj, self.displayed_attr)
        if callable(out):
            out = out()

        soup = BeautifulSoup(out, 'html.parser')

        # Retire les attributs title.
        for with_title in soup.find_all(title=True):
            del(with_title['title'])

        # Retire les liens hypertexte.
        for link in soup.find_all('a'):
            link.unwrap()

        out = force_text(soup)
        return hlp(out, strip_tags(out))
Exemple #13
0
    def format_match(self, obj):
        if obj is None:
            return ''
        out = getattr(obj, self.displayed_attr)
        if callable(out):
            out = out()

        soup = BeautifulSoup(out, 'html.parser')

        # Retire les attributs title.
        for with_title in soup.find_all(title=True):
            del (with_title['title'])

        # Retire les liens hypertexte.
        for link in soup.find_all('a'):
            link.unwrap()

        out = force_text(soup)
        return hlp(out, strip_tags(out))
Exemple #14
0
 def html_list(self, tags=True):
     return [hlp(c.valeur, c.type, tags) for c in self]
Exemple #15
0
 def html_list(self, tags=True):
     return [hlp(c.valeur, c.type, tags)
             for c in self]