captureplugin in tv-browser 1.1

Neue Plugins usw. Also alles was kein Problem/Verbesserungsvorschlag ist ;).
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

captureplugin in tv-browser 1.1

Beitrag von bodo »

Ich werde wahrscheinlich die Parameter-Namen im CapturePlugin radikal verändern:

Links die alten, dann die Beschreibung, dann die neuen Namen

Code: Alles auswählen

%SD  -  start day		{start_day}
%SMO  -  start month		{start_month}
%SY  -  start year		{start_year}

%SH  -  start hour		{start_hour}
%SMI  -  start minute		{start_minute}

%ED  -  end day			{end_day}
%EMO  -  end month		{end_month}
%EY  -  end year		{end_year}

%EH  -  end hour		{end_hour}
%EMI  -  end minute		{end_minute}

%T1  -  Title			{title}
%T2  -  %T1 without special chars and spaces	{title_clean}
%T3  -  URL-Encoded Title	{title_url}

%LM  -  length (min)		{length_min}
%LS  -  length (sec)		{length_sec}

%D  -  description		{description}
%I  -  short Info		{short_info}

%CNA  -  internal channel name	{capture_channel_name}
%CNB  -  %CNA without special chars and spaces	{capture_channel_name_clean}
%CNC  -  %CNA URL-Encoded	{capture_channel_name_url}

%CNU  -  external channel name	{capture_channel_external_name}
%CNV  -  %CNU without special chars and spaces {capture_channel_external_name_clean}
%CNW  -  %CNU URL-Encoded	{capture_channel_external_name_url}

%CNF  -  %CNU if set, if not %CNA	{capture_channel_external_name_or_internal}
%CNG  -  %CNV if set, if not %CNB	{capture_channel_external_name_or_internal_clean}
%CNH  -  %CNW if set, if not %CNC	{capture_channel_external_name_or_internal_url}

%UN  -  Username	{capture_username}
%UP  -  Password	{capture_password}
Mit den {} wird nun ein Parameter umschlossen. Das ganze soll 2 Sachen dienen:
1. Einfacher zu verstehen, nicht so kryptisch
2. Einfacher erweiterbar. Ich werde nämlich jetzt ein allgemeines System einführen und in allen Plugins einbauen (z.b. im Calendar-Plugin kann man so die Beschreibung ändern, im WebPlugin nach bestimmten Feldern suchen, im Email-Plugin den Text ändern)

Nunja, leider führt das ganze leider dazu, das die Parameter nicht mehr kompatibel sind :(. Kann ich hier leider nicht ändern. Hoffe ihr habt verständniss.

Und damit ihr nicht zuuu aufgeregt seid:
Im nächsten Capture-Plugin kann man die Devices exportieren und importieren. D.h. im Idealfall einfach von unserer Webseite das Device Laden und in eueren TV-Browser importieren.
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Kaum schreib ich das, hab ich eine neue Idee...anstatt einige Parameter doppelt vorzuhalten (mit url-encoding, mal ohne), werd ich funktionen erlauben...

z.b.:
{title} ist der normale Titel
{urlencode(title, utf8)} ist die urlencoded-version des titels. und

{isset(original_titel, titel)} gibt den original-titel zurück, wenn der nich existiert den titel oder auch {isset(original_titel, "kein titel")}

Man kann das auch noch schachteln:

{urlencode(isset(original_titel, titel), utf8)}

Gut, oder?
Zuletzt geändert von bodo am 24 Apr 2005, 16:05, insgesamt 1-mal geändert.
Benutzeravatar
fingerhut
Platin Member
Beiträge: 2923
Registriert: 03 Feb 2005, 10:18
Wohnort: Nürnberg

Beitrag von fingerhut »

ja das ist gut.

funktionen & voreinstellungen zusammen sind ne gute sache.
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

So, der jetzige Stand:

Parameter:

start day {start_day}
start month {start_month}
start year {start_year}

start hour {start_hour}
start minute {start_minute}

end day {end_day}
end month {end_month}
end year {end_year}

end hour {end_hour}
end minute {end_minute}

Title {title}
Original Title {original_title}

length (min) {length_min}
length (sec) {length_sec}

short Info {short_info}
description {description}

internal channel name {capture_channel_name}
external channel name {capture_channel_external_name}

Username {capture_username}
Password {capture_password}

Funktionen:

URL-Kodierung der Zeichen urlencode(feld, "encoding")
Wenn FeldA gesetzt ist, nimm dies, ansonsten FeldB isset(felda, feldb)
Mehrere Felder verbinden concat(felda, feldb, feldc)
Sonderzeichen, Leerzeichen, äöü entfernen clean(felda)

Beispiele:

{urlencode(isset(original_title, title))}
{clean(title)}
Benutzeravatar
fingerhut
Platin Member
Beiträge: 2923
Registriert: 03 Feb 2005, 10:18
Wohnort: Nürnberg

Beitrag von fingerhut »

sieht gut aus kannst du noch Folge und Originalfolge mit einplanen?

(für serien)

---
bei
Mehrere Felder verbinden concat(felda, feldb, feldc)

was passiert wenn es feldb in der beschreibung nicht gibt?
muss man dann isset(feldb,"" ) machen ?

also concat(felda, isset(feldb,"" ), feldc)
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Ich hab heute "episode" und "original_episode" eingebaut.
Wenn das Feld nicht gefüllt ist, ist es automatisch "" (sprich leer).

isset benötigst du nur, wenn du entweder den Original-Episoden-Namen angeben willst, und wenn dieser nicht gesetzt ist den Episoden-Titel der da ist.

{isset(original_episode, episode)}
Benutzeravatar
fingerhut
Platin Member
Beiträge: 2923
Registriert: 03 Feb 2005, 10:18
Wohnort: Nürnberg

Beitrag von fingerhut »

fix :-)


wie funktioniert concat(felda, feldb, feldc)

zb.
felda = "abc"
feldb = ""
feldc = "def"


ist das ergebnis von concat(felda, feldb, feldc) dann abcdef , abc_def oder abc__def
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Das Ergebniss ist abcdef . Concat erzeugt keine zusätzlichen Leerzeichen.
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

So, noch 2 Funktionen:
leadingZero - Füllt den String mit 0en auf, bis eine bestimme Länge erreicht ist

splitAt - Erzeugt Zeilenumbrüche nach eine best. Zeichen-Position. Dabei wird nur bei " " usw getrennt, also nicht die Wörter.

Und ich hab das ganze System in das Clipboard-Plugin, in das EMail-Plugin und den Kalender eingebaut.

Bei description wird übrigends zum Schluß noch ein (c) Hinweis erzeugt.

Ich behalte mir vor, das System zu drosseln oder sonstwie zu Beschränken (nur max. 20 Sendungen am Stück oder so, nach 20 Sendungen wird das tierisch langsam etc). Nicht das jemand auf die Idee kommt, die Daten einfach massenhaft zu exportieren und zu nutzen.
Benutzeravatar
fingerhut
Platin Member
Beiträge: 2923
Registriert: 03 Feb 2005, 10:18
Wohnort: Nürnberg

Beitrag von fingerhut »

wie wäre es diese beschränkung nur auf die beschreibung zu reduzieren?
-> so das normales aufnehmen nicht betroffen währe?
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Jau, wäre es...aber erstmal machen wir sowas nicht. Nur wenn Leute anfangen die Schnittstelle zu mißbrauchen müssen wir diesen Schritt gehen.

Sobald ich in irgendeinem Forum etwas sehe, das eine Anleitung zum massen-export entspricht oder so, müssen wir hart durchgreifen. Nach dem Vote-Debakel hab ich teilweise arge bedenken, das sich einige nicht an die Regeln halten ;)
Benutzeravatar
fingerhut
Platin Member
Beiträge: 2923
Registriert: 03 Feb 2005, 10:18
Wohnort: Nürnberg

Beitrag von fingerhut »

betr. Qualität der Daten

Ich habe mir die ganze zeit gedanken gemacht wie man diese einschränkung im Capture Plugin umgehen könnte. (per hand)

(Parameter die aus meiner sicht, für eine Aufnahme wichtig sind.
title, original_title, episode, original_episode)

-> diese in einem frei definierbaren Parameter zusammen zufassen zB. mit
Concat zu einem namen

diesen könnet man dann, in dem fenster in dem man die Zeiten konfiguriern kann, überarbeiten und per Hand fehlende information hinzufügen.
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

Hab ich mir auch schon überlegt. Ich schau mal, wann ich das einbauen werde.
Benutzeravatar
fingerhut
Platin Member
Beiträge: 2923
Registriert: 03 Feb 2005, 10:18
Wohnort: Nürnberg

Beitrag von fingerhut »

hi bodo

schau mir gerade die Prameter an.
und frage mich ob es viel Aufwand wäre eine Funktion zu ändern ;-)
isnotset(feldb,felda ) machen ? wenn feldb false nehme felda
isset (feldb,"_" ) wenn feldb setze _


da oncat(felda, feldb, feldc) einfach die felder zusammen fügt.
so könnet man

{oncat(felda, isset (feldb,"_" ),feldb,isset (feldc,"_" ) feldc)}
machen.

Ausgabe:

wenn alle Felder true sind
felda_feldb_feldc

wenn nur felda true ist
felda

kann man auch anders benenen ;-)

wenn natürlich clean ein Leerzeichen am Anfang und Ende ignoriert und mehre Leerzeichen zu einem zusammenfasst dann war alles was ich bis jetzt geschrieben habe Unsinn.


und wenn es eine vereinfachte version von clean(felda) geben würde wäre auch nicht schlecht. da zB. Es mit den skripten auf XP mit Namen und Umlauten keine Probleme gibt. (Dies ist allerdings meiner ansicht nicht so wichtig)

-> hoffe ich falle dir damit nicht auf die Nerven
bin garade nur dabei die Parameter für die Skripte zusammen zu bauen.

:D

könntest du mal kurz schauen ob ich das richtig verstanden haben.
http://wiki.tvbrowser.org/index.php/Cap ... in_-_WinTV
Benutzeravatar
bodo
Site Admin
Beiträge: 19635
Registriert: 03 Dez 2003, 19:37
Wohnort: Köln
Kontaktdaten:

Beitrag von bodo »

also das mit dem isset hab ich verstanden, das baue ich ein.

aber was meinst du mit "vereinfachte version" von clean ?!

Ps: Die neue von dir gewünschte Funktion wird "testparam" heißen.
testparam(param1, wert1, wert2)

Wenn Param1 geüllt ist, wird Wert1 zurückgegeben, ansonsten Wert2. Wert2 ist Optional. D.h. wenn dieser weg gelassen wird, wird "" zurück gegeben, falls Param1 nicht gefüllt ist.
Und die Skripte von dir kann ich mir nicht ansehen, hab kein WinTV ;). Aber wenn's tut, dann wird's schon passen *g*
Antworten