Seite 1 von 1

TV Planer

Verfasst: Montag 14. April 2003, 09:24
von Sango
Moin

Nachdem vor kurzem mein bisheriger TV-Planer 'TV Genial' zum
Kostenpflichtigen Programm wurde und immer noch nur als
Windows-Programm vorliegt, da kam mir die Idee sowas koennte
man doch mit Python Plattform-Unabhängig gestaltet.

Hat jemand schon erfahrung mit sowas? Oder einen Vorschlag
wo man da am besten beginnen koennte?

Re: TV Planer

Verfasst: Montag 14. April 2003, 11:48
von joerg
Was ist denn ein "TV-Planer"? Da kann ich mir nichts drunter vorstellen...

Jörg

Verfasst: Montag 14. April 2003, 12:35
von Sango
Eine Digitale Fernsehzeitschrift im grunde. Nur halt mit all den anehmlichkeiten die ein Programm so bietet, also Automatische Erinnerung an Sendungen, Filter fuer bestimmte Filme (z.B. alle Filme mit Schauspieler x oder aus Land y oder von Genre z).

Verfasst: Montag 14. April 2003, 13:07
von Milan
Hi,
das Problem wäre, die Informationen irgendwoher zu bekommen. Also müsstest du irgendeine Informationsquelle im Internet finden, dann ließe sich das bestimmt alles machen (auch das automatische extrahieren Infos). Wenn du das ganze graphisch machen willst gibt es recht viele Möglichkeiten, ich würde TKinter nehmen (kenn ich am besten :) ).

Alles in allem ist das aber ein sehr umfangreiches und zeitaufwendiges Projekt, darüber musst du dir klar sein :roll: :wink:

Verfasst: Montag 14. April 2003, 14:46
von Sango
Milan hat geschrieben: das Problem wäre, die Informationen irgendwoher zu bekommen. Also müsstest du irgendeine Informationsquelle im Internet finden, dann ließe
Ich hab bereits ein Perl-Script das von TV-Movie.de das Proramm laedt und ins XMLTV-Format wandelt, also das zumindest duerfte vorerst kein Problem darstellen.
Milan hat geschrieben: Wenn du das ganze graphisch machen willst gibt es recht viele Möglichkeiten, ich würde TKinter nehmen (kenn ich am besten :) ).
Das ist mit der Hauptgrund weshalb ich hier frage ;)
Ich spiel mit Python noch nicht übermaessig lange rum und hab von dessen GUI-Faehigkeiten keinerlei Ahnung, deshalb will ich erst mal wissen wie brauchbar eine Python-Lösung waere

Mein bisheriges Konzept sieht eine sehr komplexe, komplett Dynamische GUI vor. Wie gut sieht es da denn bei Python mit der Performance aus? Und wie weit gehen die möglichkeiten generell?

Und was mich m omentan noch interessiert waeren die moeglichkeiten XML->Python.
Milan hat geschrieben: Alles in allem ist das aber ein sehr umfangreiches und zeitaufwendiges Projekt, darüber musst du dir klar sein
Das ist mir schon klar, deshalb will ich auch vorher erst mal ausloten wie umfangreich das wird :9

Verfasst: Montag 14. April 2003, 15:18
von Milan
Also für XML brauchst du dir keine Sorgen zu machen. Ich hab zwar noch nicht damit gearbeitet, aber Python bietet eine breite Unterstützung für XML an (Module 'xml.dom', 'xml.dom.minidom', 'xml.dom.pulldom', 'xml.parsers.expat', 'xml.sax', 'xml.sax.handler', 'xml.sax.saxutils', 'xml.sax.xmlreader', 'xmllib', 'xmlrpclib').

Zu den Gui: mit Tkinter ist prinzipiell sehr viel bis fast alles machbar, der Nachteil an TKinter ist aber, dass es relativ langsam ist. Schließlich ist es ja nur eine Ausweichmöglichkeit von Tcl auf Python, dafür aber recht gut handhabbar. Am besten du schaust dir mal diesen Thread an, da sind die häufigsten GUI's in Python drin aufgelistet.

Verfasst: Mittwoch 16. April 2003, 11:05
von ertlpott
kurze Frage dazwischen:
Was ist eine GUI? :oops:
Es ist zwar sehr oft die Rede davon. Aber irgendwie geht da nirgends hervor was das ist.

Verfasst: Mittwoch 16. April 2003, 11:15
von Milan
Hi Erplot, das ist die Abkürzung für Graphical User Interface, also ein Programm, dass mit Fenstern arbeitet ;). Um das zu programmieren, brauchst du kleine Hilfsmittel, zum Beispiel TKinter, QT oder WXpython.

Verfasst: Mittwoch 16. April 2003, 12:53
von Kartoffel
Milan hat geschrieben:Hi Erplot, das ist die Abkürzung für Graphical User Interface, also ein Programm, dass mit Fenstern arbeitet ;).
Eine Gui muss nicht unbedingt Feinster haben und ein Dos-Fenster in Windows hat auch (ein) Fenster und trotzdem keine Gui!
Gui ist einfach ein Grafisches Interface, das heißt, alles was nicht nur aus Text besteht fällt unter diese Kathegorie, egal ob Fenster oder nicht.

TV-Planer

Verfasst: Freitag 16. Mai 2003, 19:48
von Pythonaya
Hi ho!
Keine schlechte Idee, dein Programm...
Hab schon oft Filme vergessen und da ich mindestens jeden 2. Tag vorm PC hänge, wär das ne gute Lösung, damit ich Matrix das nächste mal nich auch noch verpasse :lol:
Ich könnte mir sogar vorstellen, die grafische Oberfläche mitzugestalten.
Bisher habe ich nur Erfahrungen mit Tkinter, aber was nich is kann ganz schnell noch werden!
Ich kann dir die Fensterhintergründe, Effekte, Sounds, usw. malen/gestalten/aufnehmen/saugen/...
Nur die Schnittstelle zwischen Internet & Prog. stell ich mir ein bischen schwierig vor.


MFG,
Flo

Tolle Idee

Verfasst: Dienstag 26. August 2003, 20:47
von cerbarus
Hallo, bin eben erst auf diesen Tread gestossen.

Wie ist der Stand des Projektes?


Tschau
Cerbarus

Verfasst: Samstag 31. Januar 2004, 23:21
von Pythonaya
Hi Sango,
ich hätte da mal die Bitte, dass du mir den Script schickst oder zeigst...
Ich bin sehr daran interessiert, da ich überlege deine Idee umzusetzen!

Andererseits gibt es solch ein Programm jedoch schon: TV Movie Clickfinder :wink:

Ich hoffe, du kannst mir weiterhelfen,
Florian

Verfasst: Montag 2. Februar 2004, 19:22
von Gast
Also ich hab bereits vor längerem eine Funktion geschrieben die die infos von www.tv-today.de holt...

Mal sehen ist schon alt aber es Funktioniert noch (war damals noch eher python anfänger gibt sicher stellen die sich verbessern lassen)

Code: Alles auswählen

import urllib,re

def get_tvtoday(url):
    a=urllib.urlopen(url).readlines()
    ret=[]
    z=1
    for i in a:
        if '\t\t<td valign="top" bgcolor="#a8a8a8"><span class="text-grau">' in i:
            t=strip_tags(i.split('<span class="text-grau">',1)[1].split("</span></td>")[0]).replace("&"," ").strip() #time
            d=a[z].replace("\t","")
            e=a[z+1].replace("\t","")
            ret.append("".join(re.split("<.*>",t.strip()))+": "+strip_tags(d).strip()+" "+strip_tags(e).strip()) #infos

        z+=1
    return ret

def ask_tvtoday(uhr=None,zeit=None,uhrzeit="jetzt",sender="HS",sparte="alle",tag="heute",suchbegriff=None,suche=None):
    if uhr: uhrzeit=uhr
    if zeit: uhrzeit=zeit
    if suche:
        suchbegriff=suche
    if uhrzeit!="jetzt":
        uhrzeit="Ax"+uhrzeit.split(".")[0].split(":")[0].strip()
    try:
        tag=int(time.strftime("%w",time.localtime()))+eval(tag)
    except:
        if tag=="heute": tag=0
        elif tag=="morgen": tag=1
        elif tag=="gestern": tag=8
        elif "vorgestern" in tag): tag=len(tag.split("vor"))
        elif "\xfebermorgen" in tag: tag=len(tag.split("\xfeber"))
        else:
            wochentag=int(time.strftime("%w",time.localtime()))
            t=dict([ ["1","Montag"],
                     ["2","Dienstag"],
                     ["3","Mittwoch"],
                     ["4","Donnerstag"],
                     ["5","Freitag"],
                     ["6","Samstag"],
                     ["7","Sonntag"] ]
                   )
            s={}
            for a,b in t.items():
                s[b]=a
            wochentag=t[time.strftime("%w",time.localtime())]
            wochentagn=time.strftime("%w",time.localtime())
            if 1:
                tag=s[tag]
                t=int(tag)
                w=int(wochentagn)
                if t>=w:
                    tag=t-w
                else:
                    tag=7-w+t
            #except:
            #    return []
    sender=sender.upper()
    if sender=="RTL2":
        sender="RTL 2"
    if sender=='SAT1':
        sender='SAT 1'
    if sender=='3 SAT':
        sender='3SAT'
    if sender=='SUPER RTL':
        sender='S-RTL'
    if sender=='S RTL':
        sender='S-RTL'
    if sender=='PRO7':
        sender='PRO 7'
    if sender=='TM3' or sender=='9LIVE':
        sender='NEUNLIVE'
    if sender=='KABEL1':
        sender='KABEL 1'
    if not suchbegriff:
        return get_tvtoday("http://www.tvtoday.de/tv/programm/programm.php?ztag=%s&sparte=%s&uhrzeit=%s&sender=%s"%(tag,sparte,uhrzeit,sender.replace(" ","+")))

    return get_tvtoday("http://www.tvtoday.de/tv/programm/programm.php?ztag=%s&sparte=%s&uhrzeit=%s&sender=%s&suchbegriff=%s"%(tag,sparte,uhrzeit,sender.replace(" ","+"),suchbegriff.replace(" ","+")))

def strip_tags(tags,joiner=" "):
    import re
    return joiner.join(filter(lambda x:x!="",re.split("<[\w/]+[^<>]*>",tags))).strip()
Viel Spaß damit :)

comments == 0

Verfasst: Dienstag 10. Februar 2004, 21:20
von Gast
Moin moin @ll,
ich hätte da auch mal ne Frage: IST DAS HIER EIN FORUM, IN DEM MANN/FRAU ERNSTHAFTE DINGE BESPRICHT? oder möchtet ihr eher die Leser ver... . Ich hätte euch ja echt Unterstützung angeboten, fühle mich aber durch einige 'sehr schlaue' Kommentare etwas angegriffen [z.b.GUI] _ es gibt halt auch Programmerehre && wenn jemand im Forum eine Frage stellt, sollte diese auch beantwortet und nicht ins Lächerliche gezogen werden. #schade eigentlich; __da bleib ich wohl lieber fern __.

Ein Tipp mal los werd: Da hier ja jeder sein eigenes Ding macht, denkt doch mal Teamarbeit nach - ist wesentlich effektiver _ ein modul für jeden Interessenten und es endet mächtig.

with best regards
micha