# -*- coding: utf-8 -*- import encodings.utf_8 import os, sys, subprocess, urllib, re, pickle, win32com.client class MyOpener(urllib.FancyURLopener): version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11' def usage(): print 'Usage: AMG file_path artist album [-track tracknumber title]' def q(enq): return '"' + enq + '"' def last_arg(arg): return re.search(arg, sys.argv[len(sys.argv) - 1]) def strip_white(stp): stp = stp.replace('amp;','') stp = re.sub('\W+?','', stp.lower()) return stp def clean_up(cln): i = ['\\','/','"','`',';',','] for j in range(len(i)/2): cln = cln.replace(i[2*j-2], i[2*j-1]) return cln def re_parse(dx, dt, rx): match = re.search(rx, dt) if match: if dx == 'r': return match.group(1) else: amg[dx] = match.group(1) def re_parse_multi(dx, dt, rx): if dx <> None: res = [] match = re.findall(rx, dx, re.M) if match: for i in range(len(match)): res.append(match[i]) res = '; '.join(res) amg[dt] = res def re_song_review(link): req = MyOpener().open(link).read().decode('latin-1').encode('utf-8') res = re.search('Song Review.*?by\s.(.*?)<.*?
(.*?)
', req, re.S) if res: return re.sub('<.*?>', '', res.group(2).replace(' ',' ') + ' AMG Song Review by ' + res.group(1)) def go(): src = '/cg/amg.dll?p=amg&sql=%s&P=amg&opt1=2' % (urllib.quote(album)) rx_src = re.compile('(