Python Download Manager

Du hast eine Idee für ein Projekt?
Antworten
tuxthekiller
User
Beiträge: 18
Registriert: Samstag 2. Dezember 2006, 12:17

Sonntag 18. März 2007, 17:44

Was hält ihr von einem Download Manager der mithilfe von Twisted geschrieben ist? Ich hatte ja mal die Idee mit dem Bittorrent Client, die sich aber als zu schwierig herausstellte, da ich damals kaum Ahnung von Python und Twisted hatte.

Ich habe mal etwas Code auf das Trac geladen, das dev mir für den Bittorrent Client bereitgestellt hatte: http://pdm.netzflocken.de/
Leider funktioniert das Trac bzw. svn im Moment nicht richtig, was sich aber die nächsten Tage ändern wird.
Genug gelabert, folgendes soll unterstützt werden:

-HTTP & FTP
-später Bittorrent
-Radio Streams aufnehmen
-die Protokolle/Module sollen per XMLRPC (GUI) oder per Webinterface steuerbar sein
Zuletzt geändert von tuxthekiller am Sonntag 22. April 2007, 19:24, insgesamt 2-mal geändert.
rafael
User
Beiträge: 189
Registriert: Mittwoch 26. Juli 2006, 16:13

Sonntag 18. März 2007, 20:42

Und wie stehts mit SSL Fähigkeit?

Das mit dem Radiostream find ich interessant, aber für den Rest nehm ich lieber wget...
tuxthekiller
User
Beiträge: 18
Registriert: Samstag 2. Dezember 2006, 12:17

Sonntag 18. März 2007, 21:42

rafael hat geschrieben:Und wie stehts mit SSL Fähigkeit?
Hab ich mir noch keine Gedanken drüber gemacht. ;)
rafael hat geschrieben:Das mit dem Radiostream find ich interessant, aber für den Rest nehm ich lieber wget...
Kann wget auch als Daemon laufen? :D
Und wenn man "mal eben" 15 1GB-Dateien runterladen will, mit Queuing und Part Download, dann reicht wget halt nichtmehr aus. (Wobei wget ein super Tool ist).
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 18. März 2007, 22:15

tuxthekiller hat geschrieben:-Radio Streams aufnehmen
Welche Protokolle? Mit Metadaten? Mit Scheduling? Mit Automatischen Reconnects?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
tuxthekiller
User
Beiträge: 18
Registriert: Samstag 2. Dezember 2006, 12:17

Montag 19. März 2007, 18:06

Leonidas hat geschrieben:Welche Protokolle? Mit Metadaten? Mit Scheduling? Mit Automatischen Reconnects?
Das wird alles stückchenweise eingebaut. ;)
Protokolle erstmal das HTTP Protokoll, welches auch von Icecast, Shoutcast und schlagmichtot benutzt wird.
Metadaten sollten auch kein Problem sein. Den Sinn von Scheduling in diesem Zusammenhang versteh ich nicht wirklich. ;)
Reconnection sollte eines der kleinsten Probleme sein.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 19. März 2007, 21:08

tuxthekiller hat geschrieben:Den Sinn von Scheduling in diesem Zusammenhang versteh ich nicht wirklich. ;)
Da ist nicht wirklich ein Zusammenhang. Ich wollte nur wissen, ob es mäglich sei, von einer bestimmten Zeit bis zu einer bestimmten Zeit Sendungen aufzunehmen - automatisch.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
tuxthekiller
User
Beiträge: 18
Registriert: Samstag 2. Dezember 2006, 12:17

Montag 19. März 2007, 22:47

Leonidas hat geschrieben:
tuxthekiller hat geschrieben:Den Sinn von Scheduling in diesem Zusammenhang versteh ich nicht wirklich. ;)
Da ist nicht wirklich ein Zusammenhang. Ich wollte nur wissen, ob es mäglich sei, von einer bestimmten Zeit bis zu einer bestimmten Zeit Sendungen aufzunehmen - automatisch.
Achso, jetzt versteh ich, was du meinst. Ich denke, das wird nicht allzu schwer realisierbar sein. Aber erstmal muss das Programm überhaupt aufnehmen können und nen GUI und Webinterface sollte am Besten zuerst erstellt werden. ;)
tuxthekiller
User
Beiträge: 18
Registriert: Samstag 2. Dezember 2006, 12:17

Samstag 14. April 2007, 18:43

Ich habe mal am HTTP-Modul weitergecodet. Das Modul kann unabhängig vom Rest getestet werden. Allerdings kann das Programm die geladenen Daten nur ausgeben, denn ich bin mir noch nicht einig, ob das mit den Packages so das wahre ist. Es war so gedacht, dass neben dem eigentlichen Downloaden auch noch in einer Schleife geprüft wird, ob ein Package fertig geladen hat, wenn ja, wird abgespeichert. Dank Twisted blockiert sich das ja nicht. ;) Da die Packagegröße variabel ist, kann man einstellen, wie oft auf die Platte zugegriffen wird.

Hier der Code: http://rafb.net/p/v7Veft57.html

Wäre nett, wenn sich das jemand anguckt und Feedback gibt. :)
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 14. April 2007, 19:37

tuxthekiller hat geschrieben:Hier der Code: http://rafb.net/p/v7Veft57.html
Du weißt schon, dass man Klassennamen groß schreibt? Oder Funktionen eher wie ``funktion_name`` und nicht ``funktionName`` benennt? Oder dass Code einfacher zu lesen ist, wenn Highlighting aktiviert ist? ;)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten