Plugin-Alpha: TV-Highlights markieren

Fehler in TV-Browser
henryk
Junior Member
Beiträge: 35
Registriert: 30 Aug 2004, 01:20

Plugin-Alpha: TV-Highlights markieren

Beitrag von henryk »

Moin,

Ich hab mal wieder ein tolles, neues, bahnbrechendes Plugin im Angebot ;-)

TvHighlights.jar (da mein Webserver _immer_ noch nicht *grr* wieder geht, liegt eine temporäre Kopie hier) soll die empfohlenen Sendungen aus dem TV-Highlights-Newsletter von http://www.moovienet.de markieren, was es zumindest für den letzten Newsletter auch ganz brav tut.

Installation: Die .jar-Datei in den plugins-Ordner kopieren, das Plugin aktivieren und im Einstellungsdialog den Mailordner mit den Newsletter-Mails auswählen. Als Format akzeptiere ich zur Zeit maildir und mbox, wer sein Lieblingsmailformat gerne implementiert haben möchte darf das gerne selber tun (in MailReader.java, Source liegt wie immer im jar bei). 'Im Prinzip' kann der Mailordner beliebige Mails enthalten, aber aus offensichtlichen Gründen (die müssen alle untersucht werden, und fälschlicherweise als TV-Highlights-Newsletter erkannte Mails kann ich nicht ausschließen) sollte man die irgendwie (zum Beispiel mit procmail) aussortieren und das Plugin auf den sortierten Ordner ansetzen.

In dieser Version speichert das Plugin noch nicht welche Sendungen es markiert und irgendwelche Optimierungen habe ich auch noch nicht drin. Ausserdem muß es noch manuell (Plugins -> TV-Highlights markieren) angestoßen werden. Achja, ich vergleiche bis jetzt stur das Datum und die Uhrzeit (wobei Stephan stellenweise Zeiten kurz nach 0 Uhr noch zum vorherigen Tag rechnet, was ich bis 7 Uhr berücksichtige), weil mir da noch die tolle Inspiration für was wesentlich besseres fehlt. Das mit den Titeln ist zum Beispiel so eine Sache: Momentan sind einige Filme auf 3Sat im Newsletter, die bei 3Sat aber alle mit dem Titel "Familienbande" versehen sind mit dem jeweils richtigen Titel in der Beschreibung.

Die Senderbezeichnungen decken sich blöderweise auch nicht ganz, so dass ich eine Hashtable zum Nachschauen drin habe. Momentan noch hardcodiert.

--
Henryk Plötz
Grüße aus Berlin
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Werd's mir heute abend mal ansehen...aber gibt es keine Möglichkeit das Plugin so umzubiegen das es auch unter Windows tut ;) ?
Z.b. wenn man die Email als TXT oder EML Datei in einem bestimmten Ordner packt ?
henryk
Junior Member
Beiträge: 35
Registriert: 30 Aug 2004, 01:20

Beitrag von henryk »

Moin,

Nuja, es ist Java, die Plattform ist völlig (naja, weitgehend) egal, die Mails müssen nur irgendwo liegen. 'maildir' ist letztendlich auch nur ein hochgestochener Begriff für "Mails liegen als einzelne Dateien in einem Verzeichnis", so wie mbox "Mails sind alle in einer einzigen Datei, durch Zeilen die mit 'From ' beginnen getrennt" heisst. Wer ein eigenes Format implementieren will (ich denke da an sowas die Mailordner von Netscape) muß dazu nur in der MailReader.java drei Funktionen bearbeiten (sowie ggbf. in der TvHighlightsSettingsTab.java eine Beschriftung anpassen). Ich persönlich benutze allerdings nur maildir.

--
Henryk Plötz
Grüße aus Berlin
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Naja, ich hab bei mir nur Linux am laufen :). Aber ein Outlook speichert die Daten bestimmt sehr sehr unzugänglich ab...
platin(x)
Gold Member
Beiträge: 269
Registriert: 08 Jul 2004, 16:22

Beitrag von platin(x) »

Man könnte die Mails auch einfach aus'm Postfach ziehen, damit wär die Platform wurscht wie Oskar. 8)
Benutzeravatar
Til
Site Admin
Beiträge: 1498
Registriert: 04 Dez 2003, 11:21
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von Til »

Die Mails als .eml in ein Verzeichnis speichern ist doch quasi das gleiche wie maildir, oder? (Vom Format her)
henryk
Junior Member
Beiträge: 35
Registriert: 30 Aug 2004, 01:20

Beitrag von henryk »

Moin,
Til hat geschrieben:Die Mails als .eml in ein Verzeichnis speichern ist doch quasi das gleiche wie maildir, oder? (Vom Format her)
Radio Eriwan: "Im Prinzip ja, aber ..."

Also .eml ist in der Tat nur Microsoftsprech für "message/rfc822 in einer Datei" (zumindest soweit ich weiss), aber maildir ist ein kleines bisschen mehr als nur Mails in einem Verzeichnis. Ein maildir muß drei Unterverzeichnisse names cur, new und tmp haben. Wenn man neue Mails reinpackt schreibt man die nach tmp und erst wenn sie da vollständig drin ist bewegt man sie nach new (der Vorgang ist in der Regel atomar). Der Vorteil: kein Locking, man braucht aber trotzdem keine Angst haben dass einem ein parallel laufender Prozess dazwischenschreibt.

Ich glaube(!) "Mails als Dateien einfach in ein Verzeichnis knallen" läuft unter dem Namen "mdir", ich habe das aber noch nirgendwo gesehen und keine Erfahrung damit.

--
Henryk Plötz
Grüße aus Berlin
Benutzeravatar
Siggi
Moderator
Beiträge: 2272
Registriert: 31 Dez 2003, 12:21
Wohnort: Doberlug - Kirchhain

Beitrag von Siggi »

Hallo henryk!

Ich bin ein Windows User und wollte dein Plugin nun auch nutzen.

In Outlook Express sowie Outlook werden die Daten in einer dbx Datei gespeichert.

Es wäre nun schön, wenn du die mit einbinden könntest, denn ich habe von Java keine Ahnung.

Wenn du solch eine Datei brauchst, dann kann ich dir die schicken.
Deswiteren ist es Optional möglich auch eine TXT Datei zu verwenden.

Ich müsste dann nur den Newsletter in eine TXT Datei exportieren.
Dann sollte eine Einbindung besser klappen.

Ich hoffe du setzt das um, danke.
Ich bin auch im ICQ erreichbar: 138083891

Danke und bis dan.
mfg Siggi

PS: Wer Fehler findet, darf Sie behalten!!! :-)
henryk
Junior Member
Beiträge: 35
Registriert: 30 Aug 2004, 01:20

Beitrag von henryk »

Moin,
Siggi hat geschrieben: Ich bin ein Windows User und wollte dein Plugin nun auch nutzen.

In Outlook Express sowie Outlook werden die Daten in einer dbx Datei gespeichert.
Genau an Outlook (Express) wollte ich mich nicht versuchen (zumal in Ermangelung einer Installation) und einige Zeit mit Google hat mich da noch weiter von überzeugt.

Outlook verwendet eben nicht dbx sondern pst (das weiss ich aus eigener Erfahrung) und dieses Format ist dem was ich gefunden habe zufolge von Microsoft geschützt. Man müsste also indirekt über eine existierende Outlook-Installation und OLE draufzugreifen, und, äh, nein, das klingt nicht wie irgendwas was ich tun will.

dbx ist das von Outlook Express und wird als "quite complex" beschrieben, mein Andrang das zu implementieren hält sich (gelinde gesagt) in Grenzen, zumal ich erstmal Doku dazu haben müsste.
Siggi hat geschrieben: Deswiteren ist es Optional möglich auch eine TXT Datei zu verwenden.

Ich müsste dann nur den Newsletter in eine TXT Datei exportieren.
Dann sollte eine Einbindung besser klappen.
Ja, einfache (Verzeichnisse mit) Textdateien werde ich in der nächsten Version ganz sicher unterstützen. Mal sehen ob ich das bis zum nächsten Newsletter schaffe.

--
Henryk Plötz
Grüße von der Ostsee
Benutzeravatar
Siggi
Moderator
Beiträge: 2272
Registriert: 31 Dez 2003, 12:21
Wohnort: Doberlug - Kirchhain

Beitrag von Siggi »

Hallo henryk!

Danke für die schnelle Antwort.

Also ist es dann som, das ich den Newsletter in eine TXT Auslagern muss und das Plugin bindet diese TXT Datei dann ein.

Wenn du willst, das ich das Teste, dann sag bitte bescheid.
ICQ Nummer stand im letzten Posting.

Ich hoffe das klappt.

Danke und bis dann.
mfg Siggi

PS: Wer Fehler findet, darf Sie behalten!!! :-)
henryk
Junior Member
Beiträge: 35
Registriert: 30 Aug 2004, 01:20

Beitrag von henryk »

Moin,
Siggi hat geschrieben: Also ist es dann som, das ich den Newsletter in eine TXT Auslagern muss und das Plugin bindet diese TXT Datei dann ein.
Jupp.

Google spuckt auch einige Konverter von dbx nach mbox aus (http://mbx2mbox.sourceforge.net/, das scheint ein beliebtes Gebiet zu sein) so dass ich wohl auch die Option geben werde ein externes Programm aufrufen zu lassen (halt den Konverter mit den passenden Optionen so dass der die Mails raussucht und irgendwo ablegt) und erst dann die konvertierten Mails einzulesen.

--
Henryk Plötz
Grüße von der Ostsee
platin(x)
Gold Member
Beiträge: 269
Registriert: 08 Jul 2004, 16:22

Beitrag von platin(x) »

Ich wäre gerne bereit das Plugin so zu Erweitern das die Mails direkt vom Pop3 Server gezogen werden.
Ich hab kein Schimmer wie Thunderbird Mails speichert und jedesmal die Mails zu exportieren wird mir irgendwann zu lästig und ich vergess es wieder :roll: ...

Falls interesse besteht meld dich einfach!
henryk
Junior Member
Beiträge: 35
Registriert: 30 Aug 2004, 01:20

Beitrag von henryk »

Moin,
platin(x) hat geschrieben:Ich wäre gerne bereit das Plugin so zu Erweitern das die Mails direkt vom Pop3 Server gezogen werden.

Falls interesse besteht meld dich einfach!
Klar, dafür ist es ja freie Software. Wie gesagt, der Code liegt bei und muß eigentlich nur in MailReader.java erweitert werden (wenn du woanders ranmusst ist das auch nicht so schlimm). Ich würde deine Modifikationen liebend gerne übernehmen, vorausgesetzt natürlich dass sie dann auch unter GPL stehen.

Zur Erklärung wie ich mir das vorgestellt habe (falls das nicht ersichtlich wird): Das Plugin instanziiert einen neuen MailReader und übergibt den konfigurierten Postfach-String. Das ist trivialerweise ein Datei/Verzeichnisname, da könnte man aber auch gerne einen URL der Art protocol://user:passwort@server:port/postfach reintun. Der Konstruktor schaut dann ob ihm der übergebene String gefällt und schmeisst ggbf. eine Exception (ausserdem gibt es noch eine check()-Funktion die den String auf äusserliche Korrektheit prüft und während der Eingabe ständig aufgerufen wird; eine Verbindung zu einem Server sollte man da nicht herstellen). Wenn alles gut ist merkt sich der Konstruktor was für einen Typ von Postfach die Instanz beackern soll (hier müsste eine neue Konstante her) und tut was auch immer noch an Vorbereitungsarbeiten nötig ist.

Das Plugin ruft danach solange die nextMail()-Funktion des Objekts auf bis diese false zurückgibt. Nach jedem erfolgreichen Aufruf muß der MailReader bereit sein die Daten der nächsten Mail zu liefern (beim ersten Aufruf halt die erste Mail, usw.). Das Plugin ruft dann für jede Mail immerzu readLine() auf und erwartet eine Zeile aus der Mail zu kriegen (die erste Leerzeile trennt Header und Body) oder null wenn die Mail keine weiteren Zeilen hat. Das Plugin darf übrigens explizit nextMail() aufrufen bevor readLine() das Ende der Mail ankündigt, falls es schon früh mitkriegt dass es die Mail nicht mag.

Du darfst dich vorerst darauf verlassen dass nextMail() solange aufgerufen wird bis es null zurückgibt, damit du weisst wann die Netzverbindung zu trennen ist. Ansonsten wäre es keine schlechte Idee destroy() zu überschreiben, das werde ich dann ab der nächsten Plugin-Version aufrufen (da hatte ich bisher nicht dran gedacht).

--
Henryk Plötz
Grüße von der Ostsee
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Wenn ihr schon dabei seid:
Wie wärs mit Imap *g* ?
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Ich glaub, so langsam wäre es besser die Jungs mal zu fragen, ob die dir erlauben, das du die Mail irgendwo auf einen Server packst. Der Aufwand dafür ist echt VIEEEEEL geringer.
Antworten