Ejemplo n.º 1
0
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)
Ejemplo n.º 3
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)
Ejemplo n.º 5
0
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,
        )