move "determining last updated date" to the server

This commit is contained in:
geoffrey45
2022-05-10 13:20:07 +03:00
parent d52c8ac8fe
commit b13dad4c34
7 changed files with 20 additions and 44 deletions
+4 -2
View File
@@ -12,6 +12,8 @@ from app.lib import playlistlib
from flask import Blueprint
from flask import request
from app.helpers import create_new_date
playlist_bp = Blueprint("playlist", __name__, url_prefix="/")
PlaylistExists = exceptions.PlaylistExists
@@ -38,7 +40,7 @@ def create_playlist():
"name": data["name"],
"description": "",
"pre_tracks": [],
"lastUpdated": data["lastUpdated"],
"lastUpdated": create_new_date(),
"image": "",
"thumb": "",
}
@@ -99,7 +101,7 @@ def update_playlist(playlistid: str):
playlist = {
"name": str(data.get("name")).strip(),
"description": str(data.get("description").strip()),
"lastUpdated": str(data.get("lastUpdated")),
"lastUpdated": create_new_date(),
"image": None,
"thumb": None,
}
+9 -10
View File
@@ -5,6 +5,8 @@ from app import db
from app import models
from bson import ObjectId
from app.helpers import create_new_date
convert_many = db.convert_many
convert_one = db.convert_one
@@ -23,12 +25,8 @@ class Playlists(db.Mongo):
Inserts a new playlist object into the database.
"""
return self.collection.update_one(
{
"name": playlist["name"]
},
{
"$set": playlist
},
{"name": playlist["name"]},
{"$set": playlist},
upsert=True,
).upserted_id
@@ -50,12 +48,13 @@ class Playlists(db.Mongo):
"""
Adds a track to a playlist.
"""
date = create_new_date()
return self.collection.update_one(
{"_id": ObjectId(playlistid)},
{"$push": {
"pre_tracks": track
}},
{
"_id": ObjectId(playlistid),
},
{"$push": {"pre_tracks": track}, "$set": {"lastUpdated": date}},
)
def get_playlist_by_name(self, name: str) -> dict:
+5 -13
View File
@@ -1,7 +1,7 @@
"""
This module contains mini functions for the server.
"""
import datetime
from datetime import datetime
import os
import random
import threading
@@ -114,21 +114,13 @@ def check_artist_image(image: str) -> str:
return img_name
class Timer:
begin: int = 0
end: int = 0
def start(self):
self.begin = time.time()
def stop(self):
self.end = time.time()
print(str(datetime.timedelta(seconds=round(self.end - self.begin))))
def create_album_hash(title: str, artist: str) -> str:
"""
Creates a simple hash for an album
"""
return (title + artist).replace(" ", "").lower()
def create_new_date():
now = datetime.now()
str = now.strftime("%Y-%m-%d %H:%M:%S")
return str
+1
View File
@@ -145,6 +145,7 @@ class Playlist:
if track not in self._pre_tracks:
self._pre_tracks.append(track)
self.update_count()
self.lastUpdated = helpers.create_new_date()
else:
raise TrackExistsInPlaylist("Track already exists in playlist")
-2
View File
@@ -49,7 +49,6 @@ import { onMounted, ref } from "vue";
import { Playlist } from "../../interfaces";
import { updatePlaylist } from "../../composables/playlists";
import usePStore from "../../stores/p.ptracks";
import { getCurrentDate } from "../../composables/perks";
const pStore = usePStore();
@@ -103,7 +102,6 @@ function update_playlist(e: Event) {
const formData = new FormData(form);
formData.append("image", image);
formData.append("lastUpdated", getCurrentDate());
if (formData.get("name").toString().trim() !== "") {
updatePlaylist(props.playlist.playlistid, formData, pStore).then(() => {
-14
View File
@@ -75,24 +75,10 @@ function formatSeconds(seconds) {
}
}
export function getCurrentDate() {
const date = new Date();
const yyyy = date.getFullYear();
const mm = date.getMonth() + 1;
const dd = date.getDate();
const hh = date.getHours();
const min = date.getMinutes();
const sec = date.getSeconds();
return `${yyyy}-${mm}-${dd} ${hh}:${min}:${sec}`;
}
export default {
putCommas,
focusCurrent,
formatSeconds,
getElem,
getCurrentDate,
};
+1 -3
View File
@@ -2,7 +2,6 @@ import axios from "axios";
import { Playlist, Track } from "../interfaces";
import { Notification, NotifType } from "../stores/notification";
import state from "./state";
import { getCurrentDate } from "../composables/perks";
/**
* Creates a new playlist on the server.
* @param playlist_name The name of the playlist to create.
@@ -13,7 +12,6 @@ async function createNewPlaylist(playlist_name: string, track?: Track) {
await axios
.post(state.settings.uri + "/playlist/new", {
name: playlist_name,
lastUpdated: getCurrentDate(),
})
.then((res) => {
new Notification("✅ Playlist created successfullly!");
@@ -29,7 +27,7 @@ async function createNewPlaylist(playlist_name: string, track?: Track) {
.catch((err) => {
if (err.response.status == 409) {
new Notification(
"That playlist already exists ... you might want to try another name!",
"That playlist already exists",
NotifType.Error
);
}