diff --git a/config.json.example b/config.json.example index 3a25b32..c00263e 100644 --- a/config.json.example +++ b/config.json.example @@ -1,5 +1,5 @@ { "username" : "", "api_key" : "", - "export_format": "is as, simple, csv" + "export_format": "dump, simple, csv" } diff --git a/lastfm_backup.py b/lastfm_backup.py index d0f1341..8da87f5 100755 --- a/lastfm_backup.py +++ b/lastfm_backup.py @@ -54,10 +54,10 @@ def get_now_scrobbling(username, api_key): return(False) -def scrobbling_export(tracks, username, export_format='is as'): +def scrobbling_export(tracks, username, export_format='dump'): """ Save scrobbled track via various format """ - if export_format == 'is as': + if export_format == 'dump': with open('%s.json' % (username), 'w', encoding='utf-8') as f: data = json.dumps(tracks, indent=4, sort_keys=True, ensure_ascii=False) @@ -67,35 +67,33 @@ def scrobbling_export(tracks, username, export_format='is as'): _ = [] for track in tracks: - _.append({'artist': track['artist']['#text'], - 'name': track['name'], - 'album': track['album']['#text'], - 'date': track['date']['uts']}) + _.append({ + 'artist': track['artist']['#text'], + 'name': track['name'], + 'album': track['album']['#text'], + 'date': int(track['date']['uts']) + }) with open('%s.json' % (username), 'w', encoding='utf-8') as f: - data = json.dumps(_, indent=4, - sort_keys=True, ensure_ascii=False) + data = json.dumps(_, indent=4, sort_keys=True, ensure_ascii=False) f.write(data) elif export_format == 'csv': _ = [] - _.append([ - 'artist', - 'track', - 'date' - ]) for track in tracks: _.append([ track['artist']['#text'], track['name'], + track['album']['#text'], int(track['date']['uts']) ]) - with open('%s.csv' % (username), 'w', encoding='utf-8', newline='') as f: + with open('%s.csv' % (username), 'w', encoding='utf-8', + newline='') as f: data = csv.writer(f, quoting=csv.QUOTE_NONNUMERIC, delimiter=',') - for row in _: - data.writerow(row) + data.writerow(['artist', 'track', 'album', 'date']) + data.writerows(_) return(1) diff --git a/setup.py b/setup.py index a85c27a..3ccf0c4 100644 --- a/setup.py +++ b/setup.py @@ -17,5 +17,5 @@ setuptools.setup( classifiers=['License :: Public Domain', 'Programming Language :: Python :: 3', 'Operating System :: OS Independent'], - python_requires='>=3.0' + python_requires='>=3.2' )