{ "info": { "author": "DLFW", "author_email": "", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)" ], "description": "========\ntatorter\n========\n\n\u201ctatorter\u201d is a simple script to rename video files of the German police crime drama television series \u201cTatort\u201d to a standardized file name format.\nThat makes it a lot easier to archive local copies of the episodes which may come from various sources with different and/or insufficient naming schemes.\nThe used information such as episode indexes and detective team is fetched from the list of episodes on the German Wikipedia.\nFor each video file to be renamed, tatorter uses an easy heuristic with some fuzzy string matching to find the 5 best fitting episodes and to rename the file\naccording to the user\u2019s choice.\n\nGitHub page: https://github.com/DLFW/tatorter\n\ntatorter depends on Python 3 and can be installed with *pip*.\n\nSince tatorter can handle only the original German episode names, the rest of this documentation is also written in German. :)\n\nDeutsch\n=======\n\n\u201etatorter\u201c ist einfaches Skript um lokale Videodateien der Serie \u201eTatort\u201c automatisch umzubenennen und so ein ein einheitliches Dateinamensschema f\u00fcr alle Videos zu erhalten.\nDas macht die Archivierung einfacher und erh\u00f6ht die \u00dcbersichtlichkeit der Sammlung.\nDie notwendigen Daten wie Episodennummer und Ermittlerteam werden dabei aus der deutschen Wikipedia bezogen.\nF\u00fcr jede Videodatei, die umbenannt werden soll, ermittelt tatorter die f\u00fcnf besten Episoden-Treffer durch eine Heuristik mit Fuzzy-String-Suche. Der Anwender w\u00e4hlt dann\nden passenden Treffer aus.\n \nErh\u00e4lt man Tatort-Videos beispielsweise aus der ARD-Mediathek, haben diese oft Namen wie ``Tatort Auf einen Schlag MDR Fernsehen Video ARD Mediathek.mp4``.\ntatorter w\u00fcrde f\u00fcr diese Datei etwa folgende Umbenennungsvorschl\u00e4ge machen:\n\n.. code-block::\n\n ================================================================================\n Choose new name for \"Tatort Auf einen Schlag MDR Fernsehen Video ARD Mediathek.mp4\"\n \u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\n 1 (84%)| 0978--Dresden--Auf einen Schlag--(Sieland, Gorniak, Mohr und Schnabel).mp4\n \u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\n 2 (63%)| 0185--[Stoever und Brockm\u00f6ller]--Tod auf Eis--(Stoever und Brockm\u00f6ller).mp4\n \u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\n 3 (57%)| 1027--Stuttgart--Stau--(Lannert und Bootz).mp4\n \u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\n 4 (53%)| 0588--[Ehrlicher und Kain]--Feuertaufe--(Ehrlicher und Kain).mp4\n \u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\n 5 (51%)| 0391--[Ehrlicher und Kain]--Tanz auf dem Hochseil--(Ehrlicher und Kain).mp4\n \u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\u2013\n\nDabei wird je ein Index (hier von 1 bis 5), eine Trefferquote (als Prozentangabe) und der zur Wahl stehende neue Dateiname angezeigt.\n\nVerwendung\n==========\n\n\u201etatorter\u201c ben\u00f6tigt Python 3. Die Installation kann mit *pip* vorgenommen werden (``pip3 install tatorter``).\n\nDas Skript ist nur unter Linux getestet. Durch die Windows-Dateisysteme werden unter Windows viele Umbenennungen fehlschlagen, da viele\nTator-Titel Zeichen enthalten, die unter Windows nicht in Dateinamen erlaubt sind.\n\n.. NOTE::\n\n F\u00fcr **Linux** gilt: Wird ein Paket nicht als \u201eroot\u201c installiert, kann es je nach Distribution sein,\n dass das Python-Skript sp\u00e4ter nicht direkt aufgerufen kann.\n \n F\u00fcr **Windows** relevant: Es steht neben dem Skript ``tatorter`` auch ein identisches Skript mit\n dem Namen ``tatorter.py`` zur Verf\u00fcgung, welches auch f\u00fcr Windows als Python3-Skript zu erkennen ist,\n sofern die Dateiendung mit dem Python3-Interpreter verkn\u00fcpft ist.\n\n\u201etatorter\u201c wird als Python-Skript installiert und kann damit typischerweise systemweit aufgerufen werde.\nDie umzubenennenen Dateien m\u00fcssen mit Dateinamen oder \u201eGlobbing\u201c-Dateinamenmuster mit \u201e*\u201c und \u201e?\u201c und \u201e[...]\u201c als Platzhaltern als Argument \u00fcbergeben werden.\nEtwa ``tatorter Schwanensee\\ Tatort\\ Video\\ ARD\\ Mediathek.mp4`` oder ``tatorter *.mp4``.\n\nF\u00fcr alle passenden Dateien werden anschlie\u00dfend Namensvorschl\u00e4ge ermittelt. Die besten f\u00fcnf Treffer stehen dann jeweils zur Auswahl.\n\nBeim ersten Start werden die notwendigen Information von der `Liste der Tatort-Folgen`_ der deutschen Wikipedia bezogen und in einer Cache-Datei ``.tatorter.cache`` im Heimverzeichnis abgelegt.\nIst dieser Cache \u00e4lter als 24 Stunden wird er verworfen und die Daten erneut aus der Wikipedia bezogen.\nMit der Option ``-c`` kann eine andere Cache-Datei gew\u00e4hlt werden.\nDie Option ``-r`` forciert ein Update des Cache, egal wann dieser zuletzt aktulaisiert wurde.\nMit der Option ``-p`` kann ein anderes Namensschema gew\u00e4hlt werden.\n\nDie Voreinstellung f\u00fcr das Namensschema lautet derzeit ``{episode_index:0>4}--{location}--{title}--({team})``, wobei ``location`` der Heimatstadt/-region des jeweiligen Ermittlerteams entspricht.\nDie Heimatstadt ist die einzige Information die nicht direkt aus der Wikipedia stammt, sondern anhand eines\nMappings (``team_to_location`` in ``grabber.py``) aus dem Team abgeleitet wird. Derzeit sind alle Heimatst\u00e4dte ab Episode 800 dort\nverzeichnet. Fehlen hier relevante \u201elocations\u201c, m\u00fcssten diese h\u00e4ndisch nachgetragen werden.\n\n.. WARNING:: \n\n Manuelle \u00c4nderungen an den Quellen werden bei einem Update via *pip* \u00fcberschrieben!\n\nInsgesamt stehen die folgenden Variablen f\u00fcr das Namensschema zur Verf\u00fcgung:\n\n* ``episode_index``: Episodenindex \n* ``location``: Heimatstadt/-region des Ermittlerteams\n* ``title``: Titel der Episode\n* ``broadcaster``: Produzierende Rundfunkanstalt\n* ``premiere``: Datum der Erstaustrahlung\n* ``team``: Ermittlerteam\n* ``case_index``: Fall-Nummer des jeweiligen Ermittlerteams\n* ``author``: Autor der Episode\n* ``director``: Regisseur der Episode\n* ``season``: Jahr der Erstausstrahlung\n* ``episode``: Laufende Episode im Jahr\n\nGitHub-Seite: https://github.com/DLFW/tatorter\n\n.. _`Liste der Tatort-Folgen`: https://de.wikipedia.org/wiki/Liste_der_Tatort-Folgen\n\ntatorter steht unter der `GNU General Public License`, Version 3 (GPL 3).\n\n+--------------------------------------------------------------------------------------+\n| tatorter is a free and open project, you can redistribute it and/or modify |\n| it under the terms of the `GNU General Public License`_ as published by |\n| the Free Software Foundation, either version 3 of the License, or any later version. |\n| |\n| tatorter is distributed in the hope that it will be useful, |\n| but without any warranty; without even the implied warranty of |\n| merchantability or fitness for a particular purpose. See the |\n| GNU General Public License for more details. |\n+--------------------------------------------------------------------------------------+\n\n.. _GNU General Public License: http://www.gnu.org/licenses/\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "GPL 3", "maintainer": "", "maintainer_email": "", "name": "tatorter", "package_url": "https://pypi.org/project/tatorter/", "platform": "", "project_url": "https://pypi.org/project/tatorter/", "project_urls": null, "release_url": "https://pypi.org/project/tatorter/0.1.5/", "requires_dist": null, "requires_python": "", "summary": "A simple script to rename Tatort episode video files to a unique pattern.", "version": "0.1.5" }, "last_serial": 4618658, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "e9cd6142aab8c6900b90e9866cdf86d6", "sha256": "7baefee74490791e5e13aac3eea06828db8fcb6124b9873fe3eb60c2900d9e40" }, "downloads": -1, "filename": "tatorter-0.1.tar.gz", "has_sig": false, "md5_digest": "e9cd6142aab8c6900b90e9866cdf86d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7856, "upload_time": "2018-02-25T14:01:47", "url": "https://files.pythonhosted.org/packages/8a/25/29e699bfeb40348b0b3b28974ad4a0ad6e1fbb6ef4df702b953afc3d2948/tatorter-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "cee7bfd9c1f4a9e49251ee8afaa27b1b", "sha256": "aee3ffbe2c0b0863280ac47b805477a55ee099dbf224dce7b097c8bea33059c7" }, "downloads": -1, "filename": "tatorter-0.1.1.tar.gz", "has_sig": false, "md5_digest": "cee7bfd9c1f4a9e49251ee8afaa27b1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8458, "upload_time": "2018-02-25T14:08:59", "url": "https://files.pythonhosted.org/packages/c3/02/d9759ad58872008f9e0ef43c781f1b02a12725ad71db2a576989d33b71bc/tatorter-0.1.1.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "ca9271f8d82874bbb80898a4bf1c1791", "sha256": "cb2dd893f86e2a27629c131b42d1d70ee6b876d205bbab259945f1c566a44d77" }, "downloads": -1, "filename": "tatorter-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ca9271f8d82874bbb80898a4bf1c1791", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8502, "upload_time": "2018-04-18T17:09:55", "url": "https://files.pythonhosted.org/packages/a5/24/d2a12517d17867353fe679f050424c48f1d43bdd7f0757f517610aa38897/tatorter-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "3e9ad0800e92438b272af6704b630de5", "sha256": "69a910476459365169f6710c12b7bfb82e28b5c4df532754d1416cfa8cf3628a" }, "downloads": -1, "filename": "tatorter-0.1.5.tar.gz", "has_sig": false, "md5_digest": "3e9ad0800e92438b272af6704b630de5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8823, "upload_time": "2018-12-19T23:09:08", "url": "https://files.pythonhosted.org/packages/7d/26/bd06dbdba6085d244f7b56f9963f061406ff52821fd2fced85f71adccc0d/tatorter-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3e9ad0800e92438b272af6704b630de5", "sha256": "69a910476459365169f6710c12b7bfb82e28b5c4df532754d1416cfa8cf3628a" }, "downloads": -1, "filename": "tatorter-0.1.5.tar.gz", "has_sig": false, "md5_digest": "3e9ad0800e92438b272af6704b630de5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8823, "upload_time": "2018-12-19T23:09:08", "url": "https://files.pythonhosted.org/packages/7d/26/bd06dbdba6085d244f7b56f9963f061406ff52821fd2fced85f71adccc0d/tatorter-0.1.5.tar.gz" } ] }