show upload date next to filesize in slideshow
This commit is contained in:
@@ -39,6 +39,7 @@ def slideshow():
|
|||||||
tags_list = []
|
tags_list = []
|
||||||
file_sizes = []
|
file_sizes = []
|
||||||
preview_sizes = []
|
preview_sizes = []
|
||||||
|
created_ats = []
|
||||||
|
|
||||||
for r in results:
|
for r in results:
|
||||||
fname = r['filename']
|
fname = r['filename']
|
||||||
@@ -47,6 +48,7 @@ def slideshow():
|
|||||||
post_urls.append(r['post_url'])
|
post_urls.append(r['post_url'])
|
||||||
tags_list.append(r['tags'].split())
|
tags_list.append(r['tags'].split())
|
||||||
file_sizes.append(os.path.getsize(os.path.join(pictures_dir, fname)))
|
file_sizes.append(os.path.getsize(os.path.join(pictures_dir, fname)))
|
||||||
|
created_ats.append(r['created_at'])
|
||||||
|
|
||||||
ppath = os.path.join(previews_dir, pname) if pname else ''
|
ppath = os.path.join(previews_dir, pname) if pname else ''
|
||||||
if pname and os.path.exists(ppath):
|
if pname and os.path.exists(ppath):
|
||||||
@@ -66,6 +68,7 @@ def slideshow():
|
|||||||
tags_list=tags_list,
|
tags_list=tags_list,
|
||||||
file_sizes=file_sizes,
|
file_sizes=file_sizes,
|
||||||
preview_sizes=preview_sizes,
|
preview_sizes=preview_sizes,
|
||||||
|
created_ats=created_ats,
|
||||||
active_tags=active_tags,
|
active_tags=active_tags,
|
||||||
tag_query=raw_query,
|
tag_query=raw_query,
|
||||||
selected_site=selected_site,
|
selected_site=selected_site,
|
||||||
|
|||||||
6
db.py
6
db.py
@@ -76,13 +76,13 @@ def search_images(tag_query, sort=None):
|
|||||||
with get_conn() as c:
|
with get_conn() as c:
|
||||||
if not terms:
|
if not terms:
|
||||||
rows = c.execute(
|
rows = c.execute(
|
||||||
f"SELECT filename, preview_filename, post_url, tags FROM images ORDER BY {order}"
|
f"SELECT filename, preview_filename, post_url, tags, created_at FROM images ORDER BY {order}"
|
||||||
).fetchall()
|
).fetchall()
|
||||||
else:
|
else:
|
||||||
where = ' AND '.join(['tags LIKE ?'] * len(terms))
|
where = ' AND '.join(['tags LIKE ?'] * len(terms))
|
||||||
params = [f'%{t}%' for t in terms]
|
params = [f'%{t}%' for t in terms]
|
||||||
rows = c.execute(
|
rows = c.execute(
|
||||||
f"SELECT filename, preview_filename, post_url, tags FROM images WHERE {where} ORDER BY {order}",
|
f"SELECT filename, preview_filename, post_url, tags, created_at FROM images WHERE {where} ORDER BY {order}",
|
||||||
params,
|
params,
|
||||||
).fetchall()
|
).fetchall()
|
||||||
return [{'filename': r[0], 'preview_filename': r[1], 'post_url': r[2], 'tags': r[3]} for r in rows]
|
return [{'filename': r[0], 'preview_filename': r[1], 'post_url': r[2], 'tags': r[3], 'created_at': r[4]} for r in rows]
|
||||||
|
|||||||
@@ -164,6 +164,7 @@
|
|||||||
const tags_list = {{ tags_list|tojson }};
|
const tags_list = {{ tags_list|tojson }};
|
||||||
const file_sizes = {{ file_sizes|tojson }};
|
const file_sizes = {{ file_sizes|tojson }};
|
||||||
const preview_sizes = {{ preview_sizes|tojson }};
|
const preview_sizes = {{ preview_sizes|tojson }};
|
||||||
|
const created_ats = {{ created_ats|tojson }};
|
||||||
|
|
||||||
let use_full = false;
|
let use_full = false;
|
||||||
|
|
||||||
@@ -171,6 +172,8 @@
|
|||||||
function cur_size(n) { return use_full ? file_sizes[n] : preview_sizes[n]; }
|
function cur_size(n) { return use_full ? file_sizes[n] : preview_sizes[n]; }
|
||||||
|
|
||||||
function fmt_size(b){ return b >= 1048576 ? (b/1048576).toFixed(1)+' MB' : Math.round(b/1024)+' KB'; }
|
function fmt_size(b){ return b >= 1048576 ? (b/1048576).toFixed(1)+' MB' : Math.round(b/1024)+' KB'; }
|
||||||
|
function fmt_date(ts){ if (!ts) return ''; const d = new Date(ts*1000); return d.getFullYear()+'-'+String(d.getMonth()+1).padStart(2,'0')+'-'+String(d.getDate()).padStart(2,'0'); }
|
||||||
|
function fmt_label(n){ const d = fmt_date(created_ats[n]); return fmt_size(cur_size(n)) + (d ? ' · '+d : ''); }
|
||||||
const sidebar = document.getElementById('tag-sidebar');
|
const sidebar = document.getElementById('tag-sidebar');
|
||||||
|
|
||||||
const current_query = {{ tag_query|tojson }};
|
const current_query = {{ tag_query|tojson }};
|
||||||
@@ -286,7 +289,7 @@
|
|||||||
i = n;
|
i = n;
|
||||||
img.src = cur_src(n);
|
img.src = cur_src(n);
|
||||||
counter.textContent = `${i+1} / ${images.length}`;
|
counter.textContent = `${i+1} / ${images.length}`;
|
||||||
file_size_el.textContent = fmt_size(cur_size(n));
|
file_size_el.textContent = fmt_label(n);
|
||||||
render_tags(n);
|
render_tags(n);
|
||||||
reset_zoom();
|
reset_zoom();
|
||||||
preload_next();
|
preload_next();
|
||||||
|
|||||||
Reference in New Issue
Block a user