def execute_many_sql(s, values): c = DATABASE.cursor() try: c.executemany(s, values) DATABASE.commit() except Exception as e: print(f"Exception when running {s}: with values {values} : {e}")
def execute_sql(s): c = DATABASE.cursor() try: c.execute(s) DATABASE.commit() except Exception as e: print(f"Exception when running {s}: {e}")
def internal_get_recent_tracks(number, mode): try: max_date = get_max_scrobble_time() min_date = get_min_scrobble_time() if mode == UPDATE_MODE.GET_FIRST_SCROBBLE: if min_date == 0: recent_tracks = LASTFM_API.get_user( LASTFM_DATA['username']).get_recent_tracks(limit=number, time_from=0) else: recent_tracks = LASTFM_API.get_user( LASTFM_DATA['username']).get_recent_tracks( limit=number, time_from=0, time_to=min_date) elif mode == UPDATE_MODE.UPDATE_DATABASE: recent_tracks = LASTFM_API.get_user( LASTFM_DATA['username']).get_recent_tracks(limit=number, time_from=max_date + 1) count = 0 values = [] except Exception as e: print(e) raise for i, track in enumerate(recent_tracks): count += 1 try: artist = str(track.track.artist) title = str(track.track.title) values.append((artist, title, track.album, track.timestamp)) except Exception as e: print(e) raise try: c = DATABASE.cursor() print(f"Number of scrobbles added to database: {len(values)}") c.executemany( "INSERT INTO lastfm_scrobbles(artist, title, album, timestamp) VALUES(?,?,?,?)", values) DATABASE.commit() except Exception as e: print(e) raise print(f"Count: {count}") return recent_tracks