Ich habe heute etwas mit Python gespielt. Das Auslesen von Informationen klappt schon gut mit meinem Modul (auch wenn man die Bedienung noch verbessern kann): https://github.com/seahawk1986…blob/master/restfulapi.py
Mal sehen wie sich die POST und DELETE Kommandos umsetzen lassen...
[ANNOUNCE] vdr-restfulapi 0.1.0
- aelo
- Geschlossen
-
-
Sehr schick!
Gerald
-
Scheint wohl für ya only zu sein??
Unter gentoo mit cxxtolls 2.0 bekome ich es nicht gebaut.
Code
Alles anzeigenvdr01 restfulapi # make all g++ -g -fPIC -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -march=core2 -O2 -mtune=generic -pipe -D__STDC_CONSTANT_MACROS -ggdb -O0 -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DUSE_ALTERNATECHANNEL -DUSE_CHANNELBIND -DUSE_CHANNELPROVIDE -DUSE_CUTTERLIMIT -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_GRAPHTFT -DUSE_HARDLINKCUTTER -DUSE_JUMPINGSECONDS -DUSE_JUMPPLAY -DUSE_LIEMIEXT -DUSE_LIRCSETTINGS -DUSE_LIVEBUFFER -DUSE_LNBSHARE -DUSE_MAINMENUHOOKS -DUSE_MENUORG -DUSE_NOEPG -DUSE_PINPLUGIN -DUSE_PLUGINMISSING -DUSE_ROTOR -DUSE_TIMERINFO -DUSE_TTXTSUBS -DUSE_UNICABLE -DUSE_VALIDINPUT -DUSE_WAREAGLEICON -DUSE_YAEPG -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"restfulapi"' -I/usr/local/src/DVB/include -I/usr/local/src/VDR/include restfulapi.cpp g++ -g -fPIC -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -march=core2 -O2 -mtune=generic -pipe -D__STDC_CONSTANT_MACROS -ggdb -O0 -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DUSE_ALTERNATECHANNEL -DUSE_CHANNELBIND -DUSE_CHANNELPROVIDE -DUSE_CUTTERLIMIT -DUSE_CUTTIME -DUSE_DDEPGENTRY -DUSE_GRAPHTFT -DUSE_HARDLINKCUTTER -DUSE_JUMPINGSECONDS -DUSE_JUMPPLAY -DUSE_LIEMIEXT -DUSE_LIRCSETTINGS -DUSE_LIVEBUFFER -DUSE_LNBSHARE -DUSE_MAINMENUHOOKS -DUSE_MENUORG -DUSE_NOEPG -DUSE_PINPLUGIN -DUSE_PLUGINMISSING -DUSE_ROTOR -DUSE_TIMERINFO -DUSE_TTXTSUBS -DUSE_UNICABLE -DUSE_VALIDINPUT -DUSE_WAREAGLEICON -DUSE_YAEPG -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"restfulapi"' -I/usr/local/src/DVB/include -I/usr/local/src/VDR/include serverthread.cpp serverthread.cpp: In Elementfunktion »virtual void cServerThread::Action()«: serverthread.cpp:76:49: Fehler: keine passende Funktion für Aufruf von »cxxtools::http::Server::addService(cxxtools::Regex&, InfoService&)« /usr/include/cxxtools/http/server.h:59:14: Anmerkung: candidate is: void cxxtools::http::Server::addService(const std::string&, cxxtools::http::Service&) serverthread.cpp:77:57: Fehler: keine passende Funktion für Aufruf von »cxxtools::http::Server::addService(cxxtools::Regex&, ChannelsService&)« /usr/include/cxxtools/http/server.h:59:14: Anmerkung: candidate is: void cxxtools::http::Server::addService(const std::string&, cxxtools::http::Service&) serverthread.cpp:78:53: Fehler: keine passende Funktion für Aufruf von »cxxtools::http::Server::addService(cxxtools::Regex&, EventsService&)« /usr/include/cxxtools/http/server.h:59:14: Anmerkung: candidate is: void cxxtools::http::Server::addService(const std::string&, cxxtools::http::Service&) serverthread.cpp:79:61: Fehler: keine passende Funktion für Aufruf von »cxxtools::http::Server::addService(cxxtools::Regex&, RecordingsService&)« /usr/include/cxxtools/http/server.h:59:14: Anmerkung: candidate is: void cxxtools::http::Server::addService(const std::string&, cxxtools::http::Service&) serverthread.cpp:80:53: Fehler: keine passende Funktion für Aufruf von »cxxtools::http::Server::addService(cxxtools::Regex&, RemoteService&)« /usr/include/cxxtools/http/server.h:59:14: Anmerkung: candidate is: void cxxtools::http::Server::addService(const std::string&, cxxtools::http::Service&) serverthread.cpp:81:53: Fehler: keine passende Funktion für Aufruf von »cxxtools::http::Server::addService(cxxtools::Regex&, TimersService&)« /usr/include/cxxtools/http/server.h:59:14: Anmerkung: candidate is: void cxxtools::http::Server::addService(const std::string&, cxxtools::http::Service&) serverthread.cpp:82:47: Fehler: keine passende Funktion für Aufruf von »cxxtools::http::Server::addService(cxxtools::Regex&, OsdService&)« /usr/include/cxxtools/http/server.h:59:14: Anmerkung: candidate is: void cxxtools::http::Server::addService(const std::string&, cxxtools::http::Service&) serverthread.cpp:83:65: Fehler: keine passende Funktion für Aufruf von »cxxtools::http::Server::addService(cxxtools::Regex&, SearchTimersService&)« /usr/include/cxxtools/http/server.h:59:14: Anmerkung: candidate is: void cxxtools::http::Server::addService(const std::string&, cxxtools::http::Service&) make: *** [serverthread.o] Fehler 1 vdr01 restfulapi #
-
Scheint wohl für ya only zu sein??
Nö, unter Squeeze läufts auch Vermutlich die zu alten cxxtools, schau mal weiter oben im Thread.
Die Releaseversion auf der cxxtools Homepage ist auch zu alt, du must schon die svn Version nutzen.
cu
-
Zur Info: Ich arbeite gerade an einem kleinen Patch für osd.cpp, um das OSD über CSS besser skinbar zu machen.
-
auch grad ein wenig nach dem API.html auf der Konsole gepielt:
während:
brav eine Ausgabe erzeugt, bewirkt:
nur ein müdes:Überseh ich da was oder kann man beide Vorgänge nicht vergleichen?
Christian
-
W
Nö, unter Squeeze läufts auch Vermutlich die zu alten cxxtools, schau mal weiter oben im Thread.
Die Releaseversion auf der cxxtools Homepage ist auch zu alt, du must schon die svn Version nutzen.
cu
Wie ich schon geschrieben hatte, habe ich cxxtools 2.0 installiert ind laut hier: "http://www.tntnet.org/download.html", scheint das die aktuelle Version zu sein. -
W
Wie ich schon geschrieben hatte, habe ich cxxtools 2.0 installiert ind laut hier: "http://www.tntnet.org/download.html", scheint das die aktuelle Version zu sein.Im svn ist ne neuere. http://www.tntnet.org/subversion.html
Im yaVDR ist auch das exact passende Source tar.
BTW: Hat jemand zufällig ne gute Idee wie man sowas (ist aktuell in der restfullapi.cpp) elegant und allgm. verständlich ins Makefile verfrachtet?
--
#ifndef USE_STREAMDEVEXT
#error STREAMDEVEXT patch (Extensions Patch) is required bevore vdr 1.7.5
#endif
--
Evtl. sogar so das man das manuell einschalten kann (make.global) wenn man diesen Patch nicht mit dem Extensionspatch bezieht (also USE_STREAMDEVEXT nicht definiert ist auch wenn der Patch da ist). Irgendwie ist mir niht klar wie ich im Makefile vdr kompertibel abbreche.cu
-
THX @ Keine_Ahnung,
aber dann hat sich das erledigt, ich jetzt zu faul mir dafür exrta ein ebuild zu basteln, so wichtig ist mir das Plugin nun auch wieder nicht.
-
Hi,
bei mir funktioniert alles bis auf die OSD Abfragen.
Klappt das bei euch?Gruß
Marcel -
Ja, aber nur wenn das OSD offen ist, sonst gibt es einen HTTP Error.
-
aber dann hat sich das erledigt, ich jetzt zu faul mir dafür exrta ein ebuild zu basteln, so wichtig ist mir das Plugin nun auch wieder nicht.
Hier kannst meins nehmen: @github
Habs vorhin schnell gebastelt, als ich das plugin hier mal probieren wollte. -
Hi,
bei mir funktioniert alles bis auf die OSD Abfragen.
Klappt das bei euch?Ja funktioniert.
Aber ich bekomme gerne mal "Not enough space" zurück, hat wohl was mit der Unicode Sache zu tun.
BTW: /recordings.html meints einwenig zu gut
--
<li>Battlestar Galactica~04x20</body></html><li>Battlestar Galactica~04x04 Perfekter Schmerz</body></html><li>Battlestar Galactica~04x03 Meuterei im All</body></html><li>Battlestar Galactica~04x07 Rat mal, was zum essen kommt</body></html>
--cu
-
Ich habe eben zwei Commits für das HTML-OSD gemacht: https://github.com/yavdr/vdr-plugin-restfulapi
1) Die Farb-Buttons sind nun in der richtigen Reihenfolge.
2) Der HTML-Quelltext ist angereichert mit CSS-Klassen/Selektoren
3) Das CSS-Stylesheet ist umstrukturiert und das Design ist minimal schöner. Es ist nun für Leute mit CSS-Erfahrung leichter, das ganze zu skinnen. Es passt sich auch (bis auf die Schriftgröße) ans Browserfenster an.
4) Event-Messages habe ich außen vorgelassen aus Zeitgründen.Screenshot:
Gruß
hepi -
hepi: Absolute Spitzenklasse Sieht gut aus!
Keine_Ahnung: Hast Recht! Peinlicher Fehler! Ist gefixed und in den Masterbranch hochgeladen
@all: Wenn ich eure posts so lese scheint es mir als wäre es eine gute Idee auch die HTTP-Error-Codes in der Doku zu erwähnen.
Keine_Ahnung bzgl DEFINES:
Ich reagiere allergisch auf defines für Patches :-). Sind Dinge die nicht reingehören und Code und Makefiles unübersichtlich machen :-). Das Plugin sollte ja modern und simple bleiben und was ich vermeiden möchte: auf keinen Fall Altlasten mit schleppen. Und wer verwendet schon noch vdr devel 1.7.1 - 1.7.5?Bzgl. VDR 1.6 gilt für mich das selbe (Altlasten), spätestens wenn die nächste Final-Version veröffentlicht wird ist diese für die meisten wohl uninteressant. Ich habe allerdings nichts dagegen einen funktionierenden Patch in den patches-folder als unsupported aufzunehmen und würde mich sogar darüber freuen wenn das jemand stabil hinbekommt :-).
Btw: Das Plugin läuft auch mit anderen aktuellen VDR-Versionen unabhängig von Patches, also auch mit Vanilla! Dieses Plugin wird außerdem auch in Zukunft mit der Vanilla-Version kompatibel bleiben, das ist mir sehr wichtig! Nur eben Altlasten möchte ich vermeiden.
mfg
aelo -
Ich reagiere allergisch auf defines für Patches :-).
Es geht eigentlich nur darum das der streamdevext Patch im VDR was nachrüstet (eine Zeile) was der 1.7er hat. Und ohne wirds kompleziertet. Aber ich verstehe dich schon.
Ich habe allerdings nichts dagegen einen funktionierenden Patch in den patches-folder als unsupported aufzunehmen und würde mich sogar darüber freuen wenn das jemand stabil hinbekommt :-).Schön, damit sind wir dann wohl beide glücklich Dann warte ich da erstmal noch einwenig bis sich der Code etwas beruhigt hat und hänge den dann in den Bugtracker. Ist auch nix wildes, nur einige "#if APIVERSNUM >= XXXXX".
cu
-
Dieses Plugin wird außerdem auch in Zukunft mit der Vanilla-Version kompatibel bleiben, das ist mir sehr wichtig!
[+1] Das ist mir auch wichtig. Sonst hat sowas keine Zukunft... Darauf achte ich bei dbus2vdr auch. Bei dynamite geht's leider nicht anders...Lars.
-
Hat nur bedingt was mit dem Thema zu tun, aber evtl. hatte jemand im Zuge des cxxtools Update das selbe Problem?
Ich habe aus dem yaVDR PPA die Quellen für cxxtools_2.0+r1231.orig.tar.gz und für tntnet_2.0+rev.1295.orig.tar.gz geholt (natürlich mit den dazugehörigen *debian.tar.gz). Beide Packete gebaut und installiert. restfullapi geht, tntnet geht auch (d.h. startet ohne Fehler). Aber live (letzte git Version, neu gebaut, keine Fehler dabei) geht nicht mehr (keine Fehlermeldung, der Port ist aber anscheinend nicht offen).
Hat jemand zufällig nen Tipp? Brauchts nen Patch für live?
cu
-
Super das sich da endlich mal jemand rangetraut hat, hatte das ja vor einiger Zeit schonmal vorgeschlagen
... aber bisher noch keine Zeit für die Umsetzung gefunden (jaja "nächster Winter")Werds mir bei Gelegenheit mal angucken. Als mögliche Anwendung sehe ich z.B. "offline" Versionen von VDRadmin / Live-plugin auf einem "lightweight" Device (z.B. Fritzbox) ohne laufenden VDR. Das ganze kombiniert mit WOL für den (Aufnahme-VDR) und der brauch wirklich nur während einer Aufnahme laufen...
-
Hat jemand zufällig nen Tipp? Brauchts nen Patch für live?
Bei uns geht live. Hol dir doch mal unsere Paketsourcen und probiere es damit.
Gerald
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!