def get_songs(self):
     app = App()
     app.collection_importer = LastFmLibraryTracks
     app.collection_importer_params = {
         'api_key':    config['lastfm']['api_key'],
         'api_secret': config['lastfm']['api_secret'],
         'username':   self.data['username'],
         'limit':      int(self.data['limit']) or None
     }
     return list(app.collection())
    app = App()
    parser = argparse.ArgumentParser()

    parser.add_argument("-s", "--source", dest = "source", default = "loved", help="Last.fm track source")
    # parser.add_argument("-d", "--dest", dest = "dest", default = "exfm", help="Track destination: exfm. Default exfm")
    parser.add_argument("-l", "--limit", dest = "limit", default = None, help="Number of tracks to process")
    parser.add_argument("-r", "--resume", dest = "resume", default = True, help="Resume import from the same page.")
    args = parser.parse_args()

    source = args.source
    # dest = args.dest
    limit = args.limit
    resume = args.resume
    if source == "loved":
        app.collection_importer = LastFmLovedTracks
    elif source == "library":
        app.collection_importer = LastFmLibraryTracks
    else:
        print("Set --source=loved|library")
        raise Exception("Invalid argument: source. Should be loved|library")

    app.collection_importer_params = {
        'api_key': config['lastfm']['api_key'],
        'api_secret': config['lastfm']['api_secret'],
        'username': config['lastfm']['username'],
        'limit': int(limit or 0) or None,
        'resume': resume
    }

    # if dest == "grooveshark":