MovieCockpit

  • AMS hat beides ,wir haben dort seit einiger Zeit auch die Serien von tmdb (schon alleine bessere backdrops für die AMS) .
    Tvdb ist aber dennoch nicht schlecht und daher beides um bessere Auswahl zu haben.

  • bin jetzt schon seit ner weile mit dem "entkernen" des codes beschaeftigt. ist wie bei einem alten haus, an das ueber die jahre giebel, erker, anbauten etc. gebaut worden sind.
    und beim wiederaufbau sind mir folgende tools ueber den weg gelaufen, die einem gut zeigen, wo noch renovierungsbedarf ist:
    - flake8
    - pylint
    - doxygen
    teilweise sind die tools ja sehr pingelig, was das ausspucken von warnungen anbelangt, aber oft zeigen sie auch verborgene fehlerquellen auf.
    bei doxygen gefaellt mir die class hierarchy gut. damit sieht gut die code struktur.



    die kompletten daten hab ich mal hier hochgeladen.


    haette vorher nie gedacht, dass diese plugins so umfangreich sind:
    - EMC 9000 LOCs
    - AMS ueber 17000 LOCs
    - MVC hab ich runtergestrippt auf 6000 LOCs


    das ist der helle wahnsinn.

  • aus spass am basteln habe ich neben der erweiterung des runningtext renderers das filesystem weiterentwickelt.
    da ich 2 festplatten (eine interne, und eine usb platte) angeschlossen habe, habe ich ein virtuelles filesytem konzept im kopf, bei dem der user nicht mehr genau sieht, auf welcher platte, die files liegen.
    d.h. die einzelnen enigma2 video dirs werden als ein virtuelles dir betrachtet, und neu ist jetzt, dass die trashcans, die unter jedem video dir haengen (/media/xxx/movie/trashcan) auch als eine virtuelle trashcan behandelt werden. (bei nur einer trashcan ist ja das problem, dass das moven eines files von einer platte in die trashcan auf der anderen platte elend lange dauert.)
    ausserdem habe ich den code weiter vereinfacht, denn nur so bekommt/behaelt man den ueberblick und code stabilitaet.
    je mehr options, je mehr pfade, je mehr opportunities for errors/bugs :-)

  • Virtueller Papierkorb das gibt es seit langem bei der AMS ;)
    Da wird an das gelöschte file einfach nur ein .trash angehangen und das auf jedem Laufwerk wo man dann was löscht .
    Man kann dann dort auch einstellen ob man im Papierkorb menü halt alles unter Media angezeigt bekommen möchte oder aktuelles Verzeichnis sowie auch aktuelles Verzeichnis mit Unterordnern.
    Und dann wird dir im Papierkorb alles angezeigt was man halt dort oder dort in den Papierkorb gelegt hat,da wird nix wo hinkopiert oder sonst was das ist alles nur Virtuell ;)

  • code schreiben ist eine sache, code debuggen und fehlersuche eine andere. dazu stehen ja bei e2 imho nur print-ausgaben zur verfuegung.
    habe mittlerweile ein recht gutes konzept implementiert, um einfach sehen zu koennen, wo das print herkommt und wie ich die anzahl der prints recht gut steuern kann.
    das layout eines prints sieht so aus:


    print("MVC|MVC-I|MVC-E: <modul>: <function>: foobar")


    die prints mit MVC-I (info) oder MVC-E (error) sind immer an. die restlichen mit MVC kann ich mit script einfach auskommentieren oder aktivieren.
    und mit "journalctl | grep MVC" bekomme ich alle aktivierten prints vom plugin.
    macht sinn?

  • hab mal ein bisschen weitergebastelt und eine progress-anzeige fuer lang laufende operationen wie file move von platte zu platte, sql chache reload oder movie cover download eingebaut. das ganze laeuft asynchron ab, sodass keine busy zahnraeder auftauchen.

  • was es heute alles so auf dem internet gibt... https://gemfury.com/ z.b.
    damit kann man in nullkommanichts seinen eigenen feed aufbauen.
    - deb package hochladen
    - conf file fuer apt generieren
    fertig.


    anhaengend ist die conf file fuer MVC (ohne ".txt") ... die kommt nach /etc/apt/sources.list.d
    dann apt-get update, apt-get install enigma2-plugin-moviecockpit
    fertig.


    vorher muss man noch mit "apt-get install apt-transport-https" https-support fuer apt installieren.


    moviecockpit.list.txt

  • @alpha
    Nur weil ich halt neugirig bin und gern rumteste hab ich mir mal das Teil geladen ,da scheint viel vermischt worden zu sein in dem Teil ,aber gut.
    Muss aber sagen zum einen startet es garnicht sondern knallt nur weg, stellt man im Setup Papierkorb aus rumst es ebenso wenn man abspeichern möchte.
    HD (was immernoch Standard beim DreamOS ist geht hier garnicht da du anscheind FHD screens drin hast und keine HD Screens ).
    Auch wenn es einen FHD default Skin im DreamOS gibt sollte man Plugins in HD und FHD gleichermaßen bereitstellen da wie gesagt HD Standard ist und immer auch aktiv ist wenn man die Box kauft oder ein Image aufspielt.
    Im DreamOS kann man das echt recht gut machen das beides geht dafür wurde viel getan in den letzten Jahren ;) und im EMC haste ja auch Beispiele ,da haste ja so einiges her und da hatte ich die default Screens auch in HD und FHD gemacht so das es für beide Auflösungen default passt.
    Das ganze Plugin ist somit absolut nicht bedinbar so wie es zZ. ist .


    Das ist nur mal ne Info an dich das man es so nicht wirklich nutzen kann



  • @zombi: danke fuers feedback. hab mal die neuste version auf gemfury hochgeladen.
    die hd/fhd skin diskussion hatten wir ja schon mal. ich verwende nur den fhd skin, von daher habe ich nur fhd vorgesehen. vielleicht kann man ja spaeter mal hd hinzufuegen.

  • Diskussion nein wenn du HD nicht vorgesehen hast dann ist es ebend so ,hätte wohl den default FHD nicht bauen sollen und Reichi dann nicht einbauen :D:D .
    FHD ist ja auch das was ich normal seit langem mache und bevorzuge ,war nur als Info gedacht weil halt HD noch Standard ist im DreamOS und die User mit einem HD Skin das Plugin dann halt nicht nutzen können.

  • der crash kommt daher, dass ich wohl an einigen stellen eine leere list nicht abgefangen habe.
    die leere liste ist ein zeichen, dass der cache nicht gefuellt worden ist, sollte eigentlich beim ersten starten passieren.
    man kann den cache auch ueber menue->cache aktualisieren fuellen.... aber du hast sicher besseres zu tun, als meine bugs zu debuggen ;-)

  • Hab hier nur mal rein schauen mögen ,ich nutz und arbeite bei der AMS mit und daher mach ich mit deinem Plugin nicht wirklich was sorry.
    Denke du solltest dir mal paar Betatester suchen und dann in einer kleinen Gruppe was zusammen bauen ,das geht besser als hier und vorallem wenn du nicht wirklich getestete Versionen auf die User los lässt ist das nicht sehr gut.

  • @zombi: ich habe nicht den ehrgeiz, eine konkurrenz zu emc oder ams zu entwickeln.
    ich stelle nur meine bastelei zur verfuegung. wer sie ausprobieren will, der kanns tun (mit der gefahr, dass es crasht).
    auf meiner box laeuft mvc stabil, aber ich habe auch einen sehr eingeschraenkten setup.

  • War von mir nur ein Vorschlag aus Erfahrung raus.
    Wie gesagt hier rumst es bei sehr vielen Dingen ,da geht so einiges nicht .
    Hier nochmal paar grüne bei TMDB Info aufrufen zb.

    Oder einfach nur Info aufrufen und es ist keine vorhanden dann rumst es hier auch

    Code
    1. Traceback (most recent call last):
    2. File "/usr/lib/enigma2/python/enigma.py", line 8210, in __call__
    3. return ret(*args, **kwargs)
    4. File "/usr/lib/enigma2/python/Components/ActionMap.py", line 63, in action
    5. res = self.actions[action]()
    6. File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 557, in openEventView
    7. info = service.info()
    8. AttributeError: 'NoneType' object has no attribute 'info'
    9. -------
    10. ]]>


    Einträge sind zig mal vorhanden obwohl es sie ja nur einmal gibt uvm. was mir in der kurzen Zeit aufgefallen ist wo ich es mal testen wollte ,rund finde ich das halt leider nicht und daher hier meine Info an dich da ich sowas als Betatester für viele Sachen gewohnt bin und gern auch immer selbst eine Info haben möchte wenn ich was den Usern gebe.