Seite 1 von 1

iTunes gesamte Spielzeit einer Bibliothek

Verfasst: Samstag 24. Oktober 2009, 11:12
von nemomuk
Hallo,

mich hatte vor kurzer zeit mal interessiert, wie lang ich eigentlich schon so Musik gehört habe und hab mir auf die Schnelle ein kleines Script gebastelt, das das erledigt.

Code: Alles auswählen

from xml.etree import ElementTree
import shutil
import os

TEMP_FILE_NAME = 'itunes_temp.xml'

def get_total_play_time(xml_path):
    total_time = 0
    e = ElementTree.parse(xml_path)
    for song in e.findall('dict/dict/dict'):
        infos = song.getchildren()
        song_time = 0
        song_count = 0
        for pos,info in enumerate(infos):
            if info.tag == 'key':
                if info.text == 'Total Time':
                    try:
                        song_time = int(infos[pos+1].text)
                    except ValueError:
                        continue
                elif info.text == 'Play Count':
                    try:
                        song_count = int(infos[pos+1].text)
                    except ValueError:
                        continue
        total_time += song_count * song_time
    return total_time
                    
if __name__ == '__main__':
    shutil.copyfile('iTunes Music Library.xml', TEMP_FILE_NAME)
    time = get_total_play_time(TEMP_FILE_NAME)
    print time / (1000.0 * 60 *60), 'h'
    os.remove(TEMP_FILE_NAME)
Vllt. auch ganz lustig für den ein oder anderen, der auch iTunes verwendet...;) (und sagt jetzt nicht, dass das iTunes von Hause aus kann^^)

MfG

Verfasst: Samstag 24. Oktober 2009, 11:35
von snafu
Wozu die Überprüfung in Zeile 26/27?

Verfasst: Samstag 24. Oktober 2009, 11:52
von nemomuk
Unsinnig, aber funktioniert auch mit... wie gesagt: auf die Schnelle.

Verfasst: Samstag 24. Oktober 2009, 14:54
von derdon
Warum nicht das tempfile-modul nutzen?

Verfasst: Samstag 24. Oktober 2009, 15:23
von nemomuk
Auch damit hast du Recht, ändert aber wie gesagt auch nichts an der Funktionalität und ist ja auch nicht wirklich umständlich - wäre aber mit Sicherheit besser und schöner. Wie gesagt: auf die Schnelle.

Verfasst: Samstag 24. Oktober 2009, 15:48
von lunar
Wieso muss man die Datei überhaupt kopieren?

Verfasst: Samstag 24. Oktober 2009, 16:01
von nemomuk
lol...

ja ich wollte sichergehen, dass ich die Datei nicht zerstöre, wie gesagt: das war rein aus Spielerei und sollte hier jetzt eigentlich nicht groß diskutiert werden. Wenn es euch nicht gefällt, dann ändert es euch selbst.