Beiträge von sveni_lee

    okay, das halt schon geholfen...

    gibt folgendes Ergebnis:

    Code
    2016-03-27 18:32:00
    2016-03-27 20:28:00
    1:56:00


    jetzt würde ich das Ergebnis gern in Minuten umwandeln...

    Python
    from datetime import timedelta
    ende = timedelta(hours=21, minutes=12)
    start = timedelta(hours=20, minutes=15)
    
    
    print ende-start
    0:57:00

    ;)

    so, jetzt versuche ich mich mal damit zu beschäftigen...

    bei mir müsste ich ja den Stunden und Minuten eine Variable zuordnen
    aber das verstehe ich noch nicht ganz...

    meine Zeitformat das ich auslese: _tvshowendtime = YYYYmmddHHMMSS

    um auch den Tageswechsel zu berücksichtigen müsste ich ja nun den kompletten Zeitstrang berücksichtigen...
    aber dass bekomme ich nicht hin mit den variablen

    im Grunde wäre es ja:

    Python
    ende = timedelta(years=%Y, months=%m, days=%d, hours=%H, minutes=%M, seconds=%S)(_tvshowendtime)


    aberirgendwie müsste ich ja noch definiren, wie _tvshowtime aufgebaut ist...

    wir können diese Unterhaltung ja in den WIP Tread vom Widget verschieben...

    diese Ansicht zeigt nur was heute kommt und ich in meiner DB habe chronologisch geordnet...
    Der SerienPlaner in seiner hoffentlich späteren Form soll dann so aufgebaut sein wie das NextAired Plugin...

    Der Status lässt sich ohne weiteres bei theTVDB abfragen, das ist eigendlich kein Problem...

    Das Problem sind hauptsächlich die deutschen Serien, da gibt es nicht so viele informationen... eventuell wäre da
    fernsehserien.de noch ne möglichkeit was zu finden...

    hatte ich auch gedacht...

    da steht:

    XML
    <property name="artwork" tag="property" attribute="name|widgetArt" value="Poster">$VAR[HomeWidgetPosterVar]</property>


    XML
    <variable name="HomeWidgetPosterVar">
    <value condition="!IsEmpty(ListItem.Art(poster))">$INFO[ListItem.Art(poster)]</value>
    <value condition="!IsEmpty(ListItem.Art(tvshow.poster))">$INFO[ListItem.Art(tvshow.poster)]</value>
    <value condition="!IsEmpty(ListItem.Icon)">$INFO[ListItem.Icon]</value>                   <value>$INFO[ListItem.Art(thumb)]</value>    
    </variable>


    wenn ich aber:

    XML
    <value condition="StringCompare(Container(9000).ListItem.Property(widgetName),SerienPlaner)">$INFO[Container(8001).ListItem.Property(Poster)]</value>

    einfüge... bringt das nicht... dann wird nichts mehr angezeigt...

    Hollo zusammen,

    Ich habe mal eine Frage zu AEON NOV Silvo.
    wenn ich bei einem Widget als Stil: Panel wähle und als Artwork: Poster... wo kann ich dann festlegen, was als Poster angezeigt werden soll...
    Ich habe den Poster-path als Item.Property... aber stansdardmäßig wird immer das thumb "angezogen"

    Externer Inhalt i.imgur.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Externer Inhalt i.imgur.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    nee... so schlim ist das nicht...

    ein "early release" sollte in ein, zwei Tagen möglich sein...
    Ist aber dann noch alles ohne Datenbank und funktioniert wie TVHighLightsToday...
    Ich werd's dann auf Github hochladen...

    Aber seit gnädig, sind meine ersten Gehversuche in Python...

    Hallo Nerds,

    Insperiert von @tdoe und @BJ1 habe ich mich mal daran gesetzt einen SerienPlaner zu entwerfen.
    Mich hat schon immer gestört, das das NextAired-Plugin nur für die original erstausstrahlungen funktioniert,
    für das deutsche TV gab es sotwas leider nicht... und dann kam tdoe und hat gezeigt, was man für das dt. TV
    machen kann... Nachdem ich eine Seite gefunden hatte die alle und ich betone ALLE Serien-Sendetermine im
    deutschen TV (mit 14 Tage Vorschau) habe ich mich daran gesetzt mein erstes Python Plugin (abzu)schreiben.

    Der Code basiert auf dem ThHighLightsToday Code von @BJ1 und @tdoe...

    So und nun mal ein kleiner Vorgeschmack:

    Externer Inhalt i.imgur.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Externer Inhalt i.imgur.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.


    Externer Inhalt i.imgur.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.


    Soweit es geht werden nur die Sendedaten von der Internetseite geholt. der Rest kommt von the TheTVDB.
    nur wenn dort keine Daten vorhanden sind, werden die details von der Internetseite geholt.


    da pro Tag bsp. 400 internationale Serien ausgestrahlt werden dauert das scrapen schon mal ein wenig.


    Ich habe noch keine Skinintegration für Confluence gemacht sondern ersteinmal nur für den von mir genutzten Skin...

    Mein Plan ist es das ganze denau wie NextAired aufzubauen mit einer Datenbank im Hitergrund, dann spielt die dauer des scrapen keine
    Rolle...

    Frage ist ob generell interesse an solch einem Plugin besteht? :rolleyes:

    ====================================================================================================================

    So, hier ist die Serienplaner V0.0.1

    Die besten Ergebnisse erzielt man bei internationalen Serien und Klassikern...
    bitte daran denken das der scraper eine ganze weile braucht bis er durch ist es sind bis zu 400 Serien pro Tag...

    Eine Confluence integration ist noch nicht dabei...
    Ich habe in der Readme aufgeführt welche Propertys zur Verfügung stehen...

    Die Methode 'show_select_dialog' steht auch noch nicht zur Verfügung, damit stehe ich irgendwie grad auf Kriegsfuß :cursing:
    Steht im Moment fest auf internationale Serien...

    für Ideen und Vorschläge bin immer offen...

    ====================================================================================================================

    ToDo-Liste:

    • Container.Refresh / Container.Update() einbauen
    • Filter in Datenbank-abfrage einauen (nur Erstausstrahlungen, nur Serien aus DB)
    • 8/15 Tage in voraus scrapen und in SQL-DB speichern
    • das komplette scrapen im hintergrund laufen lassen
    • neuen scraper für Deutsche Serien und Soaps integrieren

    =======================================================================================================================

    • Abhängigkeit vom aktivierten PVR-Clienten wählbar gemacht
    • Clearlogo hinzugefügt

    Serienplaner auf Github

    ich hab noch einmal eine Frage, ;)

    wenn ich jetzt versuche die details von der detailURL zu holen klappt das nicht...

    Python
    details = WLScraper()
    details.scrapeDetailPage(getUnicodePage(data.detailURL), 'div class="text"')

    data.detailURL ist http://www.wunschliste.de/episode/778623
    aber ich bekomme einen Fehler:


    unknown url type


    so, ich habs gelöst...

    EDIT:

    jetzt läuft es soweit.... jetzt kann ich mal um die Skinseitige umsetzung kümmern...

    Danke, ich probiere mal...

    bin auch schon ein wenig weiter...

    hab einfach mal die url "per hand" eingesetzt und noch viele kleine Fehler gefunden aber das Ergebnis:

    Im Grunde habe ich ja deinen Code den ich abgewandelt habe...

    category wird hier definiert:

    Python
    def categories():
        cats = []
        for category in SPWatchtypes:
            if __addon__.getSetting(category).upper() == 'TRUE': cats.append(category)
        return cats

    ich schick die mal den kompletten Code per Konversation hier...

    ja, das geht... ich bin auch ein wenig weiter...

    so kommt ersteinmal keine Fehlermeldung:


    aber:
    hier wird ein string für "category" erwartet, richtig?


    bei mir ist category aber so definiert

    Python
    SPWatchtypes = {'international': 1, 'german': 5, 'classic': 3, 'soap': 2}

    also eine number oder?

    wenn ich also aus dem 2. %s ein %d mache kommt...

    Code
    Error Type: <type 'exceptions.TypeError'>
     Error Contents: %d format: a number is required, not str
     Traceback (most recent call last):
     File "G:\KODI-Krypton\portable_data\addons\plugin.program.serienplaner\default.py", line 469, in <module>
     scrapeWLPage(category)
     File "G:\KODI-Krypton\portable_data\addons\plugin.program.serienplaner\default.py", line 366, in scrapeWLPage
     url = '%s%d/0' % (WLURL, category)

    okay, wenn ich das ganze wie folgt änder

    aber dann kommt folgender Fehler...

    ich hab mir jetzt einfach einen Button angelegt mit dem ich das script richtig starten kann...

    jetzt bekomme ich einen Error den ich schon mal ganz am Anfang hatte...

    Code
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
     HTTPError: HTTP Error 403: Forbidden

    die seite möchte nicht von einer Maschiene Angesprochen werden...

    darum hatte ich ursprünglich folgendes drin:

    Python
    def getUnicodePage(url):
            headers = { 'User-Agent' : 'Mozilla/5.0' }
            req = urllib2.Request(url, None, headers)
    	return unicode(urllib2.urlopen(req).read(), "utf-8")

    aber dass müsste ja auf dein script angepasst werden...

    das sieht also so aus ob bi mir keine Daten gescraped werden...

    Ich habe nur folgendes in [definition='1','0']log[/definition] zu stehen...

    wird sie nicht hier definiert?