def reset_latest_import_timestamp(): if request.method == "POST": token = request.form.get("token") if token != current_user.auth_token: raise BadRequest( "Can only reset latest import timestamp of currently logged in user" ) reset = request.form.get("reset") if reset == "yes": try: db_user.reset_latest_import(current_user.musicbrainz_id) flash.info( "Latest import time reset, we'll now import all your data instead of stopping at your last imported listen." ) except DatabaseException: flash.error( "Something went wrong! Unable to reset latest import timestamp right now." ) return redirect(url_for("profile.info")) else: token = current_user.auth_token return render_template( "profile/resetlatestimportts.html", token=token, )
def test_reset_latest_import(self): user = db_user.get_or_create(7, 'resetlatestimportuser') self.assertEqual(int(user['latest_import'].strftime('%s')), 0) val = int(time.time()) db_user.update_latest_import(user['musicbrainz_id'], val) user = db_user.get_by_mb_id(user['musicbrainz_id']) self.assertEqual(int(user['latest_import'].strftime('%s')), val) db_user.reset_latest_import(user['musicbrainz_id']) user = db_user.get_by_mb_id(user['musicbrainz_id']) self.assertEqual(int(user['latest_import'].strftime('%s')), 0)
def delete_listens_history(musicbrainz_id): """ Delete a user's listens from ListenBrainz completely. Args: musicbrainz_id (str): the MusicBrainz ID of the user Raises: NotFound if user isn't present in the database """ user = _get_user(musicbrainz_id) timescale_connection._ts.delete(user.musicbrainz_id) timescale_connection._ts.reset_listen_count(user.musicbrainz_id) db_user.reset_latest_import(user.musicbrainz_id) db_stats.delete_user_stats(user.id)
def delete_listens_history(musicbrainz_id): """ Delete a user's listens from ListenBrainz completely. This, drops the user's influx measurement and resets their listen count. Args: musicbrainz_id (str): the MusicBrainz ID of the user Raises: NotFound if user isn't present in the database """ user = _get_user(musicbrainz_id) _influx.delete(user.musicbrainz_id) _influx.reset_listen_count(user.musicbrainz_id) db_user.reset_latest_import(user.musicbrainz_id)
def reset_latest_import_timestamp(): if request.method == "POST": token = request.form.get("token") if token != current_user.auth_token: raise BadRequest("Can only reset latest import timestamp of currently logged in user") reset = request.form.get("reset") if reset == "yes": try: db_user.reset_latest_import(current_user.musicbrainz_id) flash.info("Latest import time reset, we'll now import all your data instead of stopping at your last imported listen.") except DatabaseException: flash.error("Something went wrong! Unable to reset latest import timestamp right now.") return redirect(url_for("profile.info")) else: token = current_user.auth_token return render_template( "profile/resetlatestimportts.html", token=token, )