Home > Pidgin > Pidgin: Birthday Reminder

Pidgin: Birthday Reminder

Finally I finished a plugin which implements a feature that I was missing really much in Pidgin for ages now: the Birthday Reminder. Since I used Miranda before I switched to Pidgin you will be able to find some ideas my plugin has in common with WhenWasIt. ;) So, what does the plugin do?

  • Scanning Birthdays: Every 2 minutes the plugin chooses  a buddy to query its user info which is similar to “right click -> Get Info”. This is supposed to work on ICQ, AIM, XMPP and MSN protocols in case the buddy has entered its birthday. The birthday can be set manually for all protocols.
  • Checking Birthdays: Stored birthdays will be checked at midnight or whenever an account goes online. Of course this can be triggered manually too.
  • Notification: The plugin reminds you using either a mini dialog in your buddy list or a notification window or a birthday melody or, last but not least, an icon next to your buddies entry in your buddy list. Enjoy the screenshot!
  • Tooltip: Shows your buddies (stored) birthday on its buddy list tooltip.
  • Overview: There is an overview provided which enables you to see all (stored) birthdays.
  • Localization: There is just a german translation for now. I would be glad if you like to translate it into other languages.

Download: launchpad.net

I wish you a happy St. Valentine’s Day. :D

KategorienPidgin Tags: ,
  1. Omnicron
    15. März 2009, 13:43 | #1

    Kann gerne die Übersetzung ins portugiesische (Portugal & Brasilien) übernehmen.

  2. 16. März 2009, 08:28 | #2

    Cool, hast du eine EMail-Adresse?

  3. Markus
    22. März 2009, 10:26 | #3

    Hi,

    Ich habe zwei Probleme unter Windows – unter Linux läuft alles 1A:

    1) Das manuelle setzen eines Geburtstages mit rcehtsklick “set Birthday” geht nicht, wenn zuvor keiner gesetzt wurde …
    2) in der Debug Console kommt “No more Buddies to scan” obwohl noch einige fehlen, die eindeutig ein Geburtstag gesetzt haben …

    woran kann das liegen? Manuell neu anstupsen ändert leider nichts.

    Beste Grüße,
    Markus

    PS: mich würde aus reiner Neugierde noch interessieren, wo die Geburtstagsliste gespeichert wird :)

  4. 22. März 2009, 12:03 | #4

    Entweder die Buddys hatten zu dem Zeitpunkt als das erste Mal gescannt wurde keinen Geburtstag eingetragen oder der Geburtstag lag im falschen Format vor. Bei XMPP und MSN kann jeder seinen Geburtstag eintragen wie er lustig ist, bei ICQ und AIM trägt man Tag, Monat und Jahr getrennt ein, so dass Pidgin in der Lage ist die Formatierung an die jeweiligen lokalen Einstellungen anzupassen. Ich bin am überlegen, ob ich XMPP und MSN ganz rausnehme.
    Warum das manuelle Setzen nicht funktioniert ist entweder ein Fehler oder du gibst es im falschen Format ein. ;)
    Gespeichert wird das ganze in der blist.xml .

  5. Markus
    22. März 2009, 14:49 | #5

    Hi,

    habs rausgefunden. Das falsche Format ist beim initialen füllen des Feldes muss das Format so sein:
    MM.TT.JJJJ

    und bei jedem weiteren
    TT.MM.JJJJ

    das hat mich etwas verwirrt, aber wenn man das macht gehts ;)
    super Tool, danke!

  6. 22. März 2009, 15:09 | #6

    Hm, das klingt in der Tat eigenartig. Aber wenn ich mir den Quellcode so anschaue sehe ich nicht, dass da irgendwo unterschieden wird…hm.

  7. Markus
    22. März 2009, 15:47 | #7

    Hi,

    ich habe es mir nochmal genauer angeguckt. Das Problem ist begrenzt logisch. Ich glaube du hast nicht richtig auf Tag / Monat kontrolliert wodurch es zu Problemen bei manchen Daten kommt. Probleme zwischen Englischer und Deutscher Formatierung.

    Ein Datum bei dem beide Werte kleiner 12 sind gibt es keine Probleme. Allerdings werden Geburtstage mit Tag größer 12
    bei korrekter Formatierung (ICQ) nicht erkannt. Vermutlich weil hier auch die andere Formatierung erwartet wird. Ich habe diese jetzt einfach manuell eingetragen.

    Ich werde mir bei Gelegenheit auch nochmal den Code angucken, aber ich bin jetzt nicht unbedingt ein C-Fan. Ich schreibe lieber in Python C sharp oder Java ….
    Auf jeden Fall werde ich veruschen dieses Problem reproduzierbar auszuformulieren.
    Ich nutze übrigens Vista auf englisch und Lokaler auf Deutsch.
    Unter Linux geht alles. Also liegt es vll auch an einer externen Funktion eines includes.

    Beste Grüße,
    Markus

  8. 22. März 2009, 16:10 | #8

    Ich benutze auch nur die Funktion g_date_set_parse()… :-\

    http://library.gnome.org/devel/glib/stable/glib-Date-and-Time-Functions.html#g-date-set-parse

  9. Markus
    22. März 2009, 17:31 | #9

    hm – ich werde versuchen an den entsprechenden Stellen eine Nachricht mit Textfeld zur Korrektur und einer Fehlermeldung zu schreiben, um das zu analysieren …
    prinzipiell ist es so, dass eindeutige formate wie:

    02.30.2009 zu 30.02.2009 korrwekt geparst werden
    04.03.2009 zu 04.03.2009
    30.02.3009 zu Fehler …

    sehr komisch … aber vielleicht sollte ich auch einfach mal die libraries aktualisieren XD

  10. Markus
    23. März 2009, 16:42 | #10

    so – rausbekommen :)

    meine Annahme war falsch. er liest bei mir alle Daten immer falsch aus. Also MM.DD.YYYY …
    Beim manuellen setzten dreht er sie für die Ausgabe um. Wenn ich dann OK drücke verdreht er DD und MM wieder …

    ich vermute, dass das an der Interpretation durch die von dir verwendete Methode so passiert. Und zwar bei mir deshalb, weil ich GTK (richtig?) auf englisch installiert habe.

    Ich weiß Daten sind scheiße zu handeln, egal in welcher Sprache, aber wie wäre es mit RegEx, und einer Einstellung für EN/DE. Dann könntest du auch korrekt nach / bzw . als Trenner suchen…

    ich hab jetzt für mich einfach alle Daten manuell kontrolliert – muss man ja nur einmal machen XD

    beste Grüße,
    Markus

Kommentar Seiten
1 2 3 4 5 10 288
  1. 14. Februar 2009, 09:11 | #1
  2. 19. Februar 2009, 20:24 | #2
  3. 7. Mai 2009, 09:06 | #3

:-) ;-) :-D :rotfl: :-P :-( :-| :shock: :-? :confused: :roll: :sick:

Spam protection by WP Captcha-Free