[Release] Media Divider

  • Ich habe ein Python-Skript geschrieben, welches die Medien-Ordner von überflüssigem Ballast befreit. Das heißt:

    • leere Ordner werden gelöscht
    • alle Ordner und Dateien, in denen sich keine Mediendateien befinden bzw. keine Mediendateien sind, werden gelöscht

    Mediendateien sind lt. Definition:

    • Dateien mit der Endung '.MKV', '.ISO', '.MP4', '.MPG', '.MPEG', '.MOV', '.H264', '.H265', '.TS', '.PDF', '.FLAC', '.WAV', '.OGG', '.MP3'
    • Dateien größer 100MB

    Das Skript ist bewusst kein Addon, da das Potential einfach zu groß ist, dass man dadurch versehentlich einen Großteil seiner Medien verliert. Lässt man dieses Skript bspw. auf seine Bildersammlung los, ist diese anschliessend weg. Außerdem sollte man gewisse Grundkenntnisse im Skripten haben und auch die Ausgaben des Skriptes interpretieren können.

    Ich möchte nochmals darauf hinweisen, dass bei falscher Anwendung ein Großteil der Filme, Audiodateien und Bilder gelöscht werden kann.

    Das Skript wird wie folgt aufgerufen (hier z.B. LibreElec):

    Code
    python default.py media=/storage/videos action=dry-run

    "media" ist das entsprechende Wurzelverzeichnis, ab dem rekursiv gelöscht wird.

    Es erfolgt ein 'Trockenlauf', d.h. es werden lediglich die zu löschenden Dateien aufgelistet, bzw. Ausnahmen angezeigt. Bevor der eigentliche Lauf angestoßen wird, sollte man sich die generierte Ausgabe genau anschauen. Sind Dateien/Ordner dabei, die man nicht löschen möchte, gibt es verschiedene Möglichkeiten:

    • komplette Ordner inclusive Unterordner kann man ausschliessen, indem man im Ordner eine (versteckte) Datei namens .donotdelete anlegt. Der Punkt (.) vor dem .donotdelete ist wichtig!
    • auszuschliessende Dateiformate oder Verzeichnisse kann man dauerhaft im Script selbst einfügen (Zeile 4/5)
    • zusätzlich auszuschliessende Dateitypen/-formate kann man optional dem Aufruf hinzufügen (s.u.)
    Code
    python default.py media=/storage/videos action=dry-run exclude=".nfo .idx .png"

    Hier werden NFO-Dateien, IDX-Dateien sowie PNG-Bilddateien vom Löschen ausgeschlossen. Groß-/Kleinschreibung der Dateendungen ist egal, die Liste der Endungen wird per Leerzeichen getrennt und muss in Anführungszeichen gesetzt werden.

    War der Trockenlauf erfolgreich und befindet sich keine Datei, die nicht gelöscht werden soll, in der generierten Liste, kann man einen 'heissen' Lauf machen. ACHTUNG: Es werden Dateien ohne weitere Abfrage gelöscht, in einem darauf folgenden 2. Lauf auch alle leeren Verzeichnisse:


    Code
    python default.py media=/storage/videos action=execute


    Nach diesem Lauf befinden sich nur noch Dateien in den Media-Ordnern, die die oben aufgeführten Dateiendungen haben (incl. der exclude-Dateien) oder größer als 100 MB sind. Das betrifft auch Dateien in Ordnern + Unterordnern, die eine .donotdelete im Verzeichnis haben. Leere Ordner sind verschwunden.

    Es ist relativ sinnfrei, das Script auf den pictures-Ordner anzuwenden, sämtliche jpg, jpeg, tif, png usw. sind danach weg! Ebenso macht es absolut keinen Sinn zu denken, 'Großreinemachen' ist media=/storage. Anschließend dürft Ihr euer System neu installieren!

    Ich übernehme keinerlei Haftung, jeder muss selbst wissen, was er macht! Ein Backup vorher ist in jedem Fall sinnvoll!
    Für Hinweise, Anregungen oder Ergänzungen habe ich immer ein offenes Ohr.

    Dateien

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

    3 Mal editiert, zuletzt von PvD (25. Juni 2018 um 15:21)

  • Ist bei korrekter und überlegter Verwendung durchaus hilfreich. Danke dafür!

    "Ich will doch nur alle Dateien löschen, die einen Punkt im Namen haben!"
    => rm -rf * .*
    "Upsi, da ist mir wohl ein Space zu viel reingerutscht" :)

  • :D . Das Skript habe ich geschrieben, um die bei Emby erzeugten NFOs, JPGs, extrafanarts incl. Ordner usw. zu löschen. Danach war mein Filmverzeichnis wieder clean, d.h. in den Ordnern waren nur noch die Filme drin.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • rm -rf und irgendwas mit * ? Ich bin dabei.

    "I don't caretaker"

    SKIN: Embuary - Donate: HIER de Hoibe bestellen, merci :thumbup:

    Devices: Nvidia Shield + Fire TV 4k --- NAS: i3 6100 | 8GB | 15tb | OMV4 | Emby --- TV: Sony 55" XF9005 + LG 47" LM640S | 114x Adalight | Yamaha 683

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!