fix status
This commit is contained in:
parent
17441b5bd5
commit
bec8013365
|
@ -9,7 +9,7 @@ from photoapp.types import Photo, PhotoSet, Tag, TagItem, PhotoStatus, User
|
||||||
from photoapp.dbsession import DatabaseSession
|
from photoapp.dbsession import DatabaseSession
|
||||||
from photoapp.common import pwhash
|
from photoapp.common import pwhash
|
||||||
from photoapp.api import PhotosApi, LibraryManager
|
from photoapp.api import PhotosApi, LibraryManager
|
||||||
from photoapp.dbutils import SAEnginePlugin, SATool, db, get_db_engine, driver_statement
|
from photoapp.dbutils import SAEnginePlugin, SATool, db, get_db_engine, date_format
|
||||||
from photoapp.utils import mime2ext, auth, require_auth, photoset_auth_filter, slugify
|
from photoapp.utils import mime2ext, auth, require_auth, photoset_auth_filter, slugify
|
||||||
from photoapp.storage import uri_to_storage
|
from photoapp.storage import uri_to_storage
|
||||||
from jinja2 import Environment, FileSystemLoader, select_autoescape
|
from jinja2 import Environment, FileSystemLoader, select_autoescape
|
||||||
|
@ -97,8 +97,8 @@ class PhotosWeb(object):
|
||||||
/stats - show server statistics
|
/stats - show server statistics
|
||||||
"""
|
"""
|
||||||
images = photoset_auth_filter(db.query(func.count(PhotoSet.uuid),
|
images = photoset_auth_filter(db.query(func.count(PhotoSet.uuid),
|
||||||
func.strftime('%Y', PhotoSet.date).label('year'),
|
date_format('%Y', PhotoSet.date).label('year'),
|
||||||
func.strftime('%m', PhotoSet.date).label('month'))). \
|
date_format('%m', PhotoSet.date).label('month'))). \
|
||||||
group_by('year', 'month').order_by(desc('year'), desc('month')).all()
|
group_by('year', 'month').order_by(desc('year'), desc('month')).all()
|
||||||
tsize = photoset_auth_filter(db.query(func.sum(Photo.size)).join(PhotoSet)).scalar() # pragma: manual auth
|
tsize = photoset_auth_filter(db.query(func.sum(Photo.size)).join(PhotoSet)).scalar() # pragma: manual auth
|
||||||
yield self.render("monthly.html", images=images, tsize=tsize)
|
yield self.render("monthly.html", images=images, tsize=tsize)
|
||||||
|
@ -219,9 +219,6 @@ class DateView(object):
|
||||||
images=[i for i in images], date=dt)
|
images=[i for i in images], date=dt)
|
||||||
return
|
return
|
||||||
|
|
||||||
date_format = driver_statement({"sqlite": lambda date_format, value: func.strftime(date_format, value),
|
|
||||||
"mysql": lambda date_format, value: func.date_format(value, date_format)})
|
|
||||||
|
|
||||||
images = photoset_auth_filter(db.query(
|
images = photoset_auth_filter(db.query(
|
||||||
func.count(PhotoSet.id),
|
func.count(PhotoSet.id),
|
||||||
date_format('%Y', PhotoSet.date).label('year'),
|
date_format('%Y', PhotoSet.date).label('year'),
|
||||||
|
|
|
@ -4,7 +4,7 @@ from cherrypy.process import plugins
|
||||||
from sqlalchemy.ext.declarative import declarative_base
|
from sqlalchemy.ext.declarative import declarative_base
|
||||||
from sqlalchemy.pool import NullPool
|
from sqlalchemy.pool import NullPool
|
||||||
from sqlalchemy.orm import sessionmaker
|
from sqlalchemy.orm import sessionmaker
|
||||||
|
from sqlalchemy import func
|
||||||
|
|
||||||
Base = declarative_base()
|
Base = declarative_base()
|
||||||
|
|
||||||
|
@ -56,6 +56,12 @@ def driver_statement(statements):
|
||||||
raise Exception(f"Statement not supported for driver {driver}")
|
raise Exception(f"Statement not supported for driver {driver}")
|
||||||
|
|
||||||
|
|
||||||
|
def date_format(date_format, value):
|
||||||
|
stmt = driver_statement({"sqlite": lambda date_format, value: func.strftime(date_format, value),
|
||||||
|
"mysql": lambda date_format, value: func.date_format(value, date_format)})
|
||||||
|
return stmt(date_format, value)
|
||||||
|
|
||||||
|
|
||||||
class DbAlias(object):
|
class DbAlias(object):
|
||||||
"""
|
"""
|
||||||
This provides a shorter alias for the cherrypy.request.db object, which is a database session created bound to the
|
This provides a shorter alias for the cherrypy.request.db object, which is a database session created bound to the
|
||||||
|
|
Loading…
Reference in New Issue