Gravatar Support

Code-Stücke können hier veröffentlicht werden.
Antworten
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Ich hab ein einfaches Mixin geschrieben, dass eine Klasse mit email Attribut um Gravatar Support erweitert.

http://paste.pocoo.org/show/170395/
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Wenn man size, rating oder default ändern will, ist ein @property ein Problem. Zumindest bei der Größe machen unterschiedliche Werte auch durchaus Sinn. In einer Profilseite z.B. möchte ich den Avatar eventuell größer haben als neben einem Blogpost.
lunar

DasIch hat geschrieben:Wenn man size, rating oder default ändern will, ist ein @property ein Problem.
Oh, stimmt, mein Kommentar war ein ganz dummer Kommentar :oops:
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Achtung, noch ein ganz dummer Kommentar (mit einer ganz dummen Frage): Warum gibt es in Zeile 16 keinen AttributeError? Warum kann auf self.email ohne Probleme zugegriffen werden? GravatarMixin erbt von object, also kann es nicht in einer Elternklasse definiert worden sein. In der Methode wird self.email aber auch nicht definiert.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Wieso sollte es keinen AttributeError geben? GravatarMixin ist nicht dafür gedacht instanziert zu werden.

Am besten liesst du mal den Wikipedia Artikel zum Thema.

Im konkreten Fall würde man es z.B. so einsetzen:

Code: Alles auswählen

class User(Model, GravatarMixin):
    name = Column(String(20), unique=True)
    email = Column(String(150))
    password_hash = Column(String(150))
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Jo, hab den Sinn von Mixins vergessen. Danke für das Beispiel.
Antworten