mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
svg newlines + fix cleaner warning:
* support newlines in svg files; * `--error--\ncheck\nserver\nlog` * `upload\nonly` * thumbnails of files with lastmodified year 1601 would make the cleaner print a harmless but annoying warning
This commit is contained in:
parent
f9954bc4e5
commit
20920e844f
|
@ -94,10 +94,21 @@ class Ico(object):
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<svg version="1.1" viewBox="0 0 100 {}" xmlns="http://www.w3.org/2000/svg"><g>
|
<svg version="1.1" viewBox="0 0 100 {}" xmlns="http://www.w3.org/2000/svg"><g>
|
||||||
<rect width="100%" height="100%" fill="#{}" />
|
<rect width="100%" height="100%" fill="#{}" />
|
||||||
<text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" xml:space="preserve"
|
<text x="50%" y="{}" dominant-baseline="middle" text-anchor="middle" xml:space="preserve"
|
||||||
fill="#{}" font-family="monospace" font-size="14px" style="letter-spacing:.5px">{}</text>
|
fill="#{}" font-family="monospace" font-size="14px" style="letter-spacing:.5px">{}</text>
|
||||||
</g></svg>
|
</g></svg>
|
||||||
"""
|
"""
|
||||||
svg = svg.format(h, c[:6], c[6:], html_escape(ext, True))
|
|
||||||
|
txt = html_escape(ext, True)
|
||||||
|
if "\n" in txt:
|
||||||
|
lines = txt.split("\n")
|
||||||
|
n = len(lines)
|
||||||
|
y = "20%" if n == 2 else "10%" if n == 3 else "0"
|
||||||
|
zs = '<tspan x="50%%" dy="1.2em">%s</tspan>'
|
||||||
|
txt = "".join([zs % (x,) for x in lines])
|
||||||
|
else:
|
||||||
|
y = "50%"
|
||||||
|
|
||||||
|
svg = svg.format(h, c[:6], y, c[6:], txt)
|
||||||
|
|
||||||
return "image/svg+xml", svg.encode("utf-8")
|
return "image/svg+xml", svg.encode("utf-8")
|
||||||
|
|
|
@ -4,6 +4,7 @@ from __future__ import print_function, unicode_literals
|
||||||
import hashlib
|
import hashlib
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess as sp
|
import subprocess as sp
|
||||||
import threading
|
import threading
|
||||||
|
@ -49,6 +50,9 @@ HAVE_WEBP = False
|
||||||
EXTS_TH = set(["jpg", "webp", "png"])
|
EXTS_TH = set(["jpg", "webp", "png"])
|
||||||
EXTS_AC = set(["opus", "owa", "caf", "mp3"])
|
EXTS_AC = set(["opus", "owa", "caf", "mp3"])
|
||||||
|
|
||||||
|
PTN_TS = re.compile("^-?[0-9a-f]{8,10}$")
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if os.environ.get("PRTY_NO_PIL"):
|
if os.environ.get("PRTY_NO_PIL"):
|
||||||
raise Exception()
|
raise Exception()
|
||||||
|
@ -998,6 +1002,8 @@ class ThumbSrv(object):
|
||||||
# thumb file
|
# thumb file
|
||||||
try:
|
try:
|
||||||
b64, ts, ext = f.split(".")
|
b64, ts, ext = f.split(".")
|
||||||
|
if len(ts) > 8 and PTN_TS.match(ts):
|
||||||
|
ts = "yeahokay"
|
||||||
if len(b64) != 24 or len(ts) != 8 or ext not in exts:
|
if len(b64) != 24 or len(ts) != 8 or ext not in exts:
|
||||||
raise Exception()
|
raise Exception()
|
||||||
except:
|
except:
|
||||||
|
|
Loading…
Reference in a new issue