Jul 13 - Optimize code
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
"""Admin backend: dashboard KPIs + user management. Admin-only."""
|
||||
import json
|
||||
from datetime import datetime, timedelta
|
||||
from app.utils.time import utcnow
|
||||
from flask import Blueprint, render_template, request, redirect, url_for, flash, abort
|
||||
from flask_login import current_user
|
||||
from flask_babel import gettext as _
|
||||
@@ -443,9 +444,9 @@ def admin_ad_new():
|
||||
lang=request.form.get("lang", "").strip() or None,
|
||||
geo_state=request.form.get("geo_state", "").strip().upper() or None,
|
||||
starts_at=_parse_dt(request.form.get("starts_at"),
|
||||
datetime.utcnow()),
|
||||
utcnow()),
|
||||
ends_at=_parse_dt(request.form.get("ends_at"),
|
||||
datetime.utcnow() + timedelta(days=30)),
|
||||
utcnow() + timedelta(days=30)),
|
||||
is_active=request.form.get("is_active") == "on",
|
||||
)
|
||||
db.session.add(ad)
|
||||
@@ -540,9 +541,9 @@ def admin_sponsor_new():
|
||||
logo_path=request.form.get("logo_path", "").strip() or None,
|
||||
tier=request.form.get("tier", "directory"),
|
||||
category_id=cat_id,
|
||||
starts_at=_parse_dt(request.form.get("starts_at"), datetime.utcnow()),
|
||||
starts_at=_parse_dt(request.form.get("starts_at"), utcnow()),
|
||||
ends_at=_parse_dt(request.form.get("ends_at"),
|
||||
datetime.utcnow() + timedelta(days=30)),
|
||||
utcnow() + timedelta(days=30)),
|
||||
is_active=request.form.get("is_active") == "on",
|
||||
)
|
||||
db.session.add(sp)
|
||||
@@ -620,7 +621,7 @@ def admin_promoted_keyword_new():
|
||||
keyword = request.form.get("keyword", "").strip()
|
||||
priority = request.form.get("priority", 0, type=int)
|
||||
expires_at = _parse_dt(request.form.get("expires_at"),
|
||||
datetime.utcnow() + timedelta(days=7))
|
||||
utcnow() + timedelta(days=7))
|
||||
listing = db.session.get(Listing, listing_id) if listing_id else None
|
||||
if not listing:
|
||||
error = "Listing not found."
|
||||
@@ -662,7 +663,7 @@ def admin_promoted_keyword_delete(pk_id):
|
||||
@admin_bp.route("/admin/analytics")
|
||||
@admin_required
|
||||
def analytics():
|
||||
since_30 = datetime.utcnow() - timedelta(days=30)
|
||||
since_30 = utcnow() - timedelta(days=30)
|
||||
|
||||
# signups per day (last 30 days)
|
||||
signups_raw = (db.session.query(
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
"""Auth flows: register, login, logout, email verification, password reset."""
|
||||
from datetime import datetime
|
||||
from app.utils.time import utcnow
|
||||
from flask import (Blueprint, render_template, redirect, url_for, flash,
|
||||
request, current_app, abort)
|
||||
from flask_login import login_user, logout_user, login_required, current_user
|
||||
@@ -82,7 +83,7 @@ def login():
|
||||
flash(_("This account is suspended."), "danger")
|
||||
return render_template("auth/login.html", form=form)
|
||||
login_user(user, remember=form.remember.data)
|
||||
user.last_login_at = datetime.utcnow()
|
||||
user.last_login_at = utcnow()
|
||||
db.session.commit()
|
||||
nxt = request.args.get("next")
|
||||
if nxt and nxt.startswith("/"):
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
"""Main blueprint: landing page, health check, SEO files."""
|
||||
from datetime import datetime
|
||||
from app.utils.time import utcnow
|
||||
from flask import Blueprint, render_template, jsonify, Response, request
|
||||
|
||||
main_bp = Blueprint("main", __name__)
|
||||
@@ -54,7 +55,7 @@ def sitemap():
|
||||
# active listings (last 500 by bump/created for crawl budget)
|
||||
listings = (Listing.query
|
||||
.filter(Listing.status == ListingStatus.active,
|
||||
Listing.expires_at > datetime.utcnow())
|
||||
Listing.expires_at > utcnow())
|
||||
.order_by(Listing.created_at.desc())
|
||||
.limit(500).all())
|
||||
for l in listings:
|
||||
@@ -82,7 +83,7 @@ def category_landing(slug):
|
||||
listings = (Listing.query
|
||||
.filter(Listing.category_id == cat.id,
|
||||
Listing.status == ListingStatus.active,
|
||||
Listing.expires_at > datetime.utcnow())
|
||||
Listing.expires_at > utcnow())
|
||||
.order_by(Listing.created_at.desc())
|
||||
.limit(20).all())
|
||||
return render_template("main/category_landing.html", cat=cat, listings=listings)
|
||||
@@ -97,7 +98,7 @@ def state_landing(state):
|
||||
listings = (Listing.query
|
||||
.filter(Listing.state == state,
|
||||
Listing.status == ListingStatus.active,
|
||||
Listing.expires_at > datetime.utcnow())
|
||||
Listing.expires_at > utcnow())
|
||||
.order_by(Listing.created_at.desc())
|
||||
.limit(20).all())
|
||||
return render_template("main/state_landing.html", state=state, listings=listings)
|
||||
|
||||
Reference in New Issue
Block a user