front log and related datetime stuff

This commit is contained in:
cube
2026-03-30 22:20:16 +01:00
parent db4a7cc46e
commit 1ee6a96d58
13 changed files with 117 additions and 47 deletions

View File

@@ -2,6 +2,7 @@ from flask import Blueprint, flash, g, redirect, render_template, request, sessi
from werkzeug.utils import secure_filename
import os, uuid, json, zipfile, datetime
from myriad.utilities import server_time, get_datetime_obj, server_time_obj
from myriad.auth import login_required
from myriad.db import get_db
@@ -16,9 +17,11 @@ def new():
subtitle = request.form["subtitle"]
bio = request.form['bio']
user_id = g.user[0]
date_created = get_datetime_obj(server_time())
db = get_db()
db.execute("INSERT INTO member (user_id, member_name, bio, subtitle) VALUES (?, ?, ?, ?)",(user_id, name, bio, subtitle))
db.execute("INSERT INTO member (user_id, member_name, bio, subtitle, created) VALUES (?, ?, ?, ?, ?)",(user_id, name, bio, subtitle, date_created))
db.commit()
return redirect(url_for('home.full_list'))
@@ -193,6 +196,9 @@ def add_to_front(mid,location):
db.execute("UPDATE member SET front=(?) WHERE id=(?)",(1, mid))
db.commit()
db.execute("INSERT INTO front_log (member_id, start_time) VALUES (?, ?)",(mid, server_time_obj()))
db.commit()
if location == "home":
return redirect(url_for('index'))
else:
@@ -205,10 +211,24 @@ def remove_front(mid, location):
db.execute("UPDATE member SET front=(?) WHERE id=(?)",(0, mid))
db.commit()
current_entry = db.execute("SELECT id FROM front_log WHERE member_id=(?) AND end_time IS NULL",(mid,)).fetchone()
current_entry_id = current_entry[0]
db.execute("UPDATE front_log SET end_time=(?) WHERE id=(?)",(server_time_obj(), current_entry_id))
db.commit()
if location == "home":
return redirect(url_for('index'))
else:
return redirect(url_for('home.full_list'))
@bp.route("/delete_front_log/<fid>")
@login_required
def delete_front_log(fid):
db = get_db()
db.execute("DELETE FROM front_log WHERE id=(?)",(fid,))
db.commit()
return redirect(url_for('manage.admin'))
@bp.route("/add_to_home/<mid>/<location>")
@@ -255,13 +275,9 @@ def import_member(member):
db = get_db()
mid = member["id"]
date_raw = member["date-created"].split(",")
date = date_raw[0]
day,month,year = date.split("/")
time = date_raw[1]
hour,minute,second = time.split(":")
date_created = datetime.datetime(int(year), int(month), int(day), int(hour), int(minute), int(second))
date_created_obj = get_datetime_obj(member["date-created"])
name = member["name"]
subtitle = member["subtitle"]
description = member["description"]
@@ -284,12 +300,7 @@ def import_member(member):
blog = member["blog"]
for post in blog:
date_raw = post["date-created"].split(",")
date = date_raw[0]
day,month,year = date.split("/")
time = date_raw[1]
hour,minute,second = time.split(":")
date_created = datetime.datetime(int(year), int(month), int(day), int(hour), int(minute), int(second))
post_date_created = get_datetime_obj(post["date-created"])
title = post["title"]
content = post["content"]
@@ -299,7 +310,7 @@ def import_member(member):
else:
privacy = 0
db.execute("INSERT INTO blog (member_id, created, title, content, public) VALUES (?, ?, ?, ?, ?)",(mid, date_created, title, content, privacy))
db.execute("INSERT INTO blog (member_id, created, title, content, public) VALUES (?, ?, ?, ?, ?)",(mid, post_date_created, title, content, privacy))
db.commit()
icons = member["icons"]
@@ -320,7 +331,7 @@ def import_member(member):
db.execute("INSERT INTO stamps (member_id, stamp_location) VALUES (?, ?)",(mid, stamp))
db.commit()
db.execute("INSERT INTO member (id,created,user_id, member_name,subtitle, bio,public,theme,homepage,main_icon) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",(mid, date_created, user_id, name, subtitle, description,privacy, theme, homepage, main_icon_id))
db.execute("INSERT INTO member (id,created,user_id, member_name,subtitle, bio,public,theme,homepage,main_icon) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",(mid, date_created_obj, user_id, name, subtitle, description,privacy, theme, homepage, main_icon_id))
db.commit()
@@ -369,8 +380,9 @@ def admin():
return "<a href='/'>go home</a>"
users = db.execute("SELECT * FROM user").fetchall()
front_log = db.execute("SELECT * FROM front_log ORDER BY start_time DESC").fetchall()
return render_template("manage/admin.html", users=users)
return render_template("manage/admin.html", users=users, front_log=front_log)
@@ -394,7 +406,7 @@ def generate_json(mid):
else:
privacy = "private"
date_created = member[2].strftime("%d/%m/%Y, %H:%M:%S")
date_created = member[2]
homepage = member[7]
@@ -403,7 +415,7 @@ def generate_json(mid):
groups.append(group[0])
blog = []
for post in blog_r:
d_c = post[2].strftime("%d/%m/%Y, %H:%M:%S")
d_c = post[2]
if post[5] == 1:
priv = "public"