3 Réponses :


3
votes

Je ne peux pas vous aider avec les trucs Windows, mais sur le Mac Ce que vous constatez dans ce fichier Prefs est la vieille alias de la vieille-école. Jetez un coup d'œil ou utilisez simplement la classe Bdalias de Chris Hanson pour le convertir en chemin.

http://github.com/rentzsch/bdalias


1 commentaires

Merci beaucoup. Je vais essayer.



10
votes

sous Windows, la bibliothèque iTunes xml Emplacement: 1 entrée dans iTunesprefs.xml est un BASE 64 encodé chaîne unicode, vous devez donc le décoder avant de pouvoir l'utiliser. Sur mon PC, il décode c: \ documents et paramètres \ emerick \ Mes documents \ ma musique \ iTunes \ iTunes music bibliothèque.xml .

Il doit être relativement facile à décoder cette valeur en utilisant votre langue de choix; Votre plate-forme peut même fournir des bibliothèques utilitaires qui rendent ce trivial. En C #, par exemple, la fonction de décodage ressemblerait à ceci comme suit: xxx


1 commentaires

Merci je vais essayer! J'ai vu le fichier .pref mais je ne savais pas comment il a été codé.



0
votes

Comme les autres signalent "Alis: 1: Lieu de la bibliothèque iTunes" est des données d'alias. Voici comment trouver le chemin des données du système d'exploitation X en utilisant Python.

#!/usr/bin/env python

import commands, plistlib
from Carbon import File
from os.path import expanduser

PLIST_PATH = '~/Library/Preferences/com.apple.iTunes.plist'
PLIST_KEY = 'alis:1:iTunes Library Location'

def resolve_path_from_alias_data( alis ):

    fs_ref = File.Alias( rawdata=alis ).FSResolveAlias( None )[0]
    file_path = fs_ref.as_pathname()
    return file_path

plist_str = commands.getoutput( '/usr/bin/plutil -convert xml1 -o - "' + expanduser( PLIST_PATH ) + '"' )

plist_data = plistlib.readPlistFromString( plist_str )

alis_data = plist_data[ PLIST_KEY ].data

file_path = resolve_path_from_alias_data( alis_data )

print repr( file_path )


0 commentaires