pyvdr

Python library for accessing a Linux VDR via SVDRP


License
MIT
Install
pip install pyvdr==0.3.1

Documentation

pyvdr

Python library for accessing a Linux VDR via SVDRP

CircleCI

220 easyVDR SVDRP VideoDiskRecorder 2.2.0; Sat Dec  8 19:21:38 2018; UTF-8
250 Message queued
221 easyVDR closing connection

SVDRP

Parsing of Responses

The first and the last row just contain a ' ' as separator while other have a '-'.

Example:

[
('220', ' ', 'easyVDR SVDRP VideoDiskRecorder 2.2.0; Sun Dec  9 21:17:06 2018; UTF-8\r'),
('215', '-', 'C C-9999-161-12103 ProSieben'),
('215', '-', 'E 4321 1544382900 7500 4E 16'),
('215', '-', 'T The Jungle Book'),
('215', '-', 'S Abenteuer-Realfilm. Der kleine Mogli wird im Dschungel von W\xc3\xb6lfen aufgezogen. Als sein Leben durch den Tiger Shir Khan bedroht wird, muss er zu den Menschen zur\xc3\xbcckkehren.'), ('215', '-', 'D Abenteuer-Realfilm. Der Junge Mogli ist im Indischen Dschungel von W\xc3\xb6lfen gro\xc3\x9fgezogen worden. Doch dann bedroht der Tiger Shir Khan sein Leben und er muss seine Familie verlassen. Gemeinsam mit seinen Begleitern, dem strengen Panther Baghira und dem lebenslustigen B\xc3\xa4ren Balu, macht er sich auf den Weg zu den Menschen. Zusammen m\xc3\xbcssen sie ein Abenteuer voller Gefahren bestehen. So hat es unter anderem die Schlange Kaa auf Mogli abgesehen und auch der Affenk\xc3\xb6nig Louie ist hinter ihm her. Louie will ihm entlocken, wie man Feuer macht, um den Menschen so \xc3\xa4hnlich wie m\xc3\xb6glich zu werden. Doch auch Shir Khan ist den drei Freunden immer dicht auf den Fersen. Er will Mogli daran hindern, das Menschendorf zu erreichen. IMDb rating: 7.4/10.|Role Player: Neel Sethi|Director: Jon Favreau|Scriptwriter: Justin Marks|Producer: Brigham Taylor'),
('215', '-', 'G 12'),
('215', '-', 'e'),
('215', '-', 'c'),
('215', ' ', 'End of EPG data\r')]

LSTE 2 now

215-C C-102-1079-11110 ZDF HD
215-E 45654 1544564700 4500 4E 4
215-T Markus Lanz
215-D Ole von Beust, Politiker - Hamburgs ehemaliger Erster BĂŒrgermeister sagt: "Der Wahlkampf hat belebend gewirkt." Von Beust erklĂ€rt, warum er mit dem Ergebnis zufrieden ist und wie der Aufbruch in der CDU gelingen kann.|Kristina Dunz, Journalistin - Auch sie war beim CDU-Parteitag in Hamburg und sagt: "Es geht ein Riss durch die Christdemokraten." In der Sendung erzĂ€hlt Dunz, wie sie die Stimmung in der Partei vor Ort erlebt hat.|Wolfgang Grupp, Unternehmer - Er sprach sich im Vorfeld offen fĂŒr Friedrich Merz als Parteivorsitzenden aus. Grupp sagt: "Die Chance auf einen Kurswechsel der CDU wurde vertan." Der Unternehmer gibt seine EinschĂ€tzung.|Benedikt Böhm, Speedbergsteiger - Der Extrembergsteiger weiß: "Der Tod ist Teil des Sports." In der Sendung erklĂ€rt Böhm, warum der Tod immer eine Option ist, und erzĂ€hlt von seiner Speedbesteigung des Mount Damavand. Moderation: Markus Lanz|HD-Produktion|Altersfreigabe: 6
215-G 80
215-X 2 03 deu Stereo
215-X 2 03 mul ohne Originalton
215-X 2 03 mis ohne Audiodeskription
215-X 2 03 deu Dolby Digital 2.0
215-X 5 0B deu HDTV
215-X 3 10 deu DVB-Untertitel
215-V 1544564700
215-e
215-c
215 End of EPG data
215-e
215-E 4603 1545174000 3600 51 6
215-T CNN Today (with World Sport)
215-D CNN's Michael Holmes and Amara Walker from Atlanta, set the agenda for the day's most important news, business and sport stories.
215-G 20
215-e
215-c

Chan

250 2 ZDF HD

Timers

Plain response

250-1 1:3:2018-12-12:2013:2330:50:99:The Taste~Es weihnachtet sehr! Acht ehemalige SchĂŒtzlinge der Coaches Cornelia Poletto, Alexander Herrmann, Frank Rosin und Roland Trettl kochen bei der grossen Weihnachtsspezial-Challenge.:<epgsearch><channel>3 - SAT.1</channel><searchtimer>The taste</searchtimer><start>1544641980</start><stop>1544653800</stop><s-id>4</s-id><eventid>4353</eventid></epgsearch>

Status Flags

Flags in timer definition

1   the timer is active (and will record if it hits)
2   this is an instant recording timer
4   this timer uses VPS
8   this timer is currently recording (may only be up-to-date with SVDRP)

Those flags are bit-representations in the timers' status field.

Test

python -m unittest discover -v

Module lifecycle

Build module

python3 setup.py sdist bdist_wheel

Install module

To manually install:

pip install pyvdr/dist/pyvdr-0.1.2-py3-none-any.whl --upgrade

Upload

After setup of an configuration file ~/.pypirc:

python -m twine upload dist/*
netcat -w 10 vdr.local 6419 <<EOF
chan
quit
EOF
220 easyVDR SVDRP VideoDiskRecorder 2.2.0; Sun Sep  1 15:27:23 2019; UTF-8
250 66 Disney SD
221 easyVDR closing connection

Resources

Create a python module https://dzone.com/articles/executable-package-pip-install