07-10-2025, 07:42 AM
3 sekundy z chatem gpt:
import os
import datetime
import xml.etree.ElementTree as ET
# Rozszerzenia plików wideo, które Kodi rozpoznaje
VIDEO_EXTENSIONS = {'.mp4', '.mkv', '.avi', '.mov', '.wmv', '.flv', '.mpg', '.mpeg'}
def create_nfo(title, date, path, is_folder=False):
"""Tworzy plik NFO w formacie akceptowanym przez Kodi."""
# Wybór głównego tagu: <movie> dla pliku, <tvshow> dla folderu
root_tag = 'tvshow' if is_folder else 'movie'
root = ET.Element(root_tag)
title_el = ET.SubElement(root, 'title')
title_el.text = title
date_el = ET.SubElement(root, 'dateadded')
date_el.text = date
# Formatowanie XML (ładny zapis z wcięciami)
xml_str = ET.tostring(root, encoding='utf-8')
nfo_path = os.path.splitext(path)[0] + '.nfo'
# Zapis NFO
with open(nfo_path, 'wb') as f:
f.write(b'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n')
f.write(xml_str)
print(f'Utworzono NFO: {nfo_path}')
def generate_nfo_for_directory(base_path):
"""Przechodzi po wszystkich plikach i katalogach, tworząc NFO."""
for root, dirs, files in os.walk(base_path):
# Najpierw dla folderów (TV show / kolekcje)
for d in dirs:
dir_path = os.path.join(root, d)
nfo_path = os.path.join(dir_path, 'tvshow.nfo')
if not os.path.exists(nfo_path):
creation_time = os.path.getctime(dir_path)
date_str = datetime.datetime.fromtimestamp(creation_time).strftime('%Y-%m-%d')
create_nfo(d, date_str, nfo_path, is_folder=True)
# Następnie dla plików wideo
for f in files:
file_path = os.path.join(root, f)
name, ext = os.path.splitext(f)
if ext.lower() in VIDEO_EXTENSIONS:
nfo_path = os.path.splitext(file_path)[0] + '.nfo'
if not os.path.exists(nfo_path):
creation_time = os.path.getctime(file_path)
date_str = datetime.datetime.fromtimestamp(creation_time).strftime('%Y-%m-%d')
create_nfo(name, date_str, file_path, is_folder=False)
if __name__ == "__main__":
base_dir = input("Podaj ścieżkę katalogu z plikami wideo: ").strip('"')
if not os.path.isdir(base_dir):
print("Błąd: podana ścieżka nie jest katalogiem.")
else:
generate_nfo_for_directory(base_dir)
print("Zakończono generowanie plików NFO.")
Oczywiście do zmian we własnym zakresie
Widziałem rzeczy, o których wam ludziom nawet się nie śniło. Płonące okręty szturmowe w konstelacji Oriona. Strumienie elektronów jarzące się w ciemności przy wrotach Tannhausera. Pamięć o wszystkich tych chwilach zniknie w otchłani czasu, jak łzy w deszczu. Pora umierać...
By zobaczyć linki musisz się zalogować lub zarejestrować.By zobaczyć linki musisz się zalogować lub zarejestrować.
By zobaczyć linki musisz się zalogować lub zarejestrować.By zobaczyć linki musisz się zalogować lub zarejestrować.


