# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: happyaron.xu@gmail.com-20100109175541-zcyly34fqvopotv2 # target_branch: bzr+ssh://bazaar.launchpad.net/~exaile-\ # devel/exaile/exaile-0.3.x/ # testament_sha1: 28c5110ea4f451d93f8d3467e9961b189f2396ce # timestamp: 2010-01-10 01:56:32 +0800 # base_revision_id: reacocard@gmail.com-20100109041725-\ # mp50b7a4i0wwjl93 # # Begin patch === modified file 'xl/metadata/_id3.py' --- xl/metadata/_id3.py 2010-01-04 01:50:17 +0000 +++ xl/metadata/_id3.py 2010-01-09 17:55:41 +0000 @@ -29,6 +29,21 @@ from xl.metadata._base import BaseFormat from mutagen import id3 +import locale +if str(locale.getdefaultlocale()[0]).startswith('zh'): + _unicode=unicode + def unicode(string, encoding='utf8',errors='strict'): + try: + string.decode('utf8').encode('iso8859-1') + except: + return _unicode(string) + string = string.decode('utf8').encode('iso8859-1') + for enc in ('utf8', 'gb2312', 'big5', 'gb18030', 'big5hkscs', 'euc-jp', 'euc_kr', 'cp1251', 'utf16'): + try: + return string.decode(enc) + except: + pass + return string class ID3Format(BaseFormat): MutagenType = id3.ID3 # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWWy8JBsAAeBfgERUUef//3IA AEq////wUAQY3swdtupK7tu7uEklT2k9JM1PTTEGT1U8TU9NT9U2mo9TAaCCSJA00DQU9BQNNHqG gA0Bo0EigQQ1TxT02qfkKek0eiDTQ9TJ6NTEHMABMAATAAAAAASSU2iGo0/VPajU/VPTUyaaaaNN BoNpAE0jXfu7X34XmO3t1Hi4torWwa0PdPNGQHvjClmUnlzoEUQueIH8s9x3dLbJcTnKkYEBnQ76 Lnb66eWaObvjc5VwDwLfs9sglr+n1wLdWEW28iUNWiKDyxqNhy042266fvCNrSS7TB3TtxCGDj2u dp4ucYHcyiwFLVSLuYrEa3lNShYoirb5SMS1EZ07OlWWOhPuQ8VpksjfIRYrgYigjsjMJ9CripUU 0DKKHKBJSOAWlbG/yp0SZQEcKb+E7nn8DaZbet5VpFx8oHZRcnuVp0Keo7x3dbtshQvV0zrVdpAe C08igF5kVl8FupY6mfMWxI6rchszTO7OwmZCppV5iSJLG34YdZUYkhhzkLVYqc8LoM8/NNOFWXNU OTr3VBorErxiYudBka6G0TL/V657lXItmbnJZWBetrrigTcSiorUlQZURwCNGCehaDkjhvEsKrPk XxkNWUYDGg+PqvSpVBSkIOivxOtxv2Oc6WZqbVUpFJmJgpWv0bWLizd1SLaD9kcH2QDu6pb/E1Tj KBU4x/dYMKEMGTH8bHfaq5q5GTOHY9/uxqJdz0BI4HFbHQ8LTRQGfrdeUGkOSRe5VrjYTSZUppQx CsSldhWr9d0DrJKI8yHmW5wiaLSIw7vSaQ+U7MDOLE5OOKRrxXPjCIpp3rCnJnIiEs6DEtd0lhcS q28YGZMd2IrNZeTaTCTwq6TDnKeiDX5giGmhaZGN8xRl3SHD9iZGAohit32BaYwqwrMMBsu4UqiW Br0gYN51UEgRJTeeO7NGdy2i5yJQGxZTYK7okP6XVajUHvyO9N2calClRMaG+gJB9poMqRaMzx+c 6A6ZK+arZp4gagLDfom13g4QV2UxhBNt6kiKpXBYJmGXB3+pzWbaX+QuaR3pGRYTbbP2tohnWDtH qSZmGEtB8yjCYSYiq4JBFoa6dZoWKSyME5tJpdHR5RV7gyh71BXuLlHMJm22q76SINEcWhslCA1R esCXDIKaEckD7Z4VLuwBktY29QuXGvLwzVso3WZwMFnV6j63JUvDZZWmOcCBUPf8N1VKDczDIqTO Az04poNqbNQEdjS7Cy8n04eSEFEq0vnNtw6dg0LbizgjXeRSUxCSZA2c3KmTWXKIoHhelQeG6j70 0N2FKzoYXgqF1gbxXrnDZ/F5LVAWtJ1mOKhtEyLilIWrMLE02/8XckU4UJBsvCQb