def archive(opt): t = opt['trackURI'] abs_path = '' if (t.find('spotify:local:') != -1): info = local.getLocalTrackInfo(t) dst_path = config.local_archive_folder split = os.path.split(info['location']) src_path, fname = split[0], split[1] abs_path = os.path.join(dst_path, fname) if not os.path.isdir(config.local_archive_folder): os.makedirs(config.local_archive_folder) log("thumbsDown", "Moving '" + fname + "' to '" + dst_path + "'") try: os.rename(os.path.join(src_path, fname), abs_path) except WindowsError: pass conn = sql.connect(config.db) c = conn.cursor() c.execute('CREATE TABLE IF NOT EXISTS archive' + '(track TEXT,spURI TEXT, playlists TEXT,' + ' date TEXT, path TEXT);') c.execute('''INSERT INTO ARCHIVE VALUES(?,?,?,date('now'),?);''', (opt['name'], opt['trackURI'], opt['plURIs'], abs_path)) conn.commit() conn.close()
def trackUpdate(d): """ Calling trackUpdate with dict with data POSTed to /trackinfo Server copy of now playing info is updated with data from this dict and some other sources Includes: - song - artist - album - starred - year - arturl - playlist name - play/pause state - sonos connected state - spotify uris for artist, album - flag indicating if track is local - local track path (if local) """ global trackInfo, tid log("trackUpdate", "for '" + urllib.unquote(d.song) + "' -> Received 'Now Playing' information") trackInfo['song'] = d.song trackInfo['artist'] = d.artist trackInfo['album'] = d.album trackInfo['starred'] = d.starred trackInfo['playing'] = d.playing trackInfo['playlist'] = d.playlist # trackInfo['sonos_connected'] = isSonosConnected() if (d.local == 'false'): trackInfo['year'] = d.year trackInfo['artURL'] = getArt(d.spotifyURI) trackInfo['artistURI'] = d.artistURI trackInfo['albumURI'] = d.albumURI elif (d.local == 'true'): lt = local.getLocalTrackInfo(d.spotifyURI) if lt is not None: trackInfo['artURL'] = lt['img'] trackInfo['year'] = lt['year'] trackInfo['artistURI'] = "local" trackInfo['albumURI'] = "local" else: trackInfo['artURL'] = '/static/artwork/no_art.png' trackInfo['year'] = '2048' trackInfo['artistURI'] = "local" trackInfo['albumURI'] = "local" trackInfo['id'] += 1 tid = trackInfo['id'] log('Now Playing', '\'' + urllib.unquote(d.song) + '\' by \'' + urllib.unquote(d.artist) + '\' on \'' + urllib.unquote(d.album) + '\'')