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))
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)
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)
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
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
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.')
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)))
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
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))
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)))
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))
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))
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))
def html_list(self, tags=True): return [hlp(c.valeur, c.type, tags) for c in self]
def html_list(self, tags=True): return [hlp(c.valeur, c.type, tags) for c in self]