aboutsummarybugs & patchesrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVosjedev <vosje@vosjedev.net>2026-01-24 15:56:30 +0100
committerVosjedev <vosje@vosjedev.net>2026-01-24 15:56:30 +0100
commit2b9e9fe0deaf5b7a2dabedee1482d847a0c4bf47 (patch)
tree2abac2ee12b3aa3de26e5acaff61f2d163d04f33
parente12579bff3c80a5da2f1cf0e24fb0eb32731580c (diff)
downloaddiscord_image_bridge-2b9e9fe0deaf5b7a2dabedee1482d847a0c4bf47.tar.gz
discord_image_bridge-2b9e9fe0deaf5b7a2dabedee1482d847a0c4bf47.tar.bz2
discord_image_bridge-2b9e9fe0deaf5b7a2dabedee1482d847a0c4bf47.tar.xz
web: allow running cache cleaner by a cron url with token
Signed-off-by: Vosjedev <vosje@vosjedev.net>
-rw-r--r--src/discord_image_bridge/__init__.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/discord_image_bridge/__init__.py b/src/discord_image_bridge/__init__.py
index 6744543..7570d70 100644
--- a/src/discord_image_bridge/__init__.py
+++ b/src/discord_image_bridge/__init__.py
@@ -15,6 +15,7 @@ import cherrypy
from .dbpool import DBPoolManager
from .discord import DiscordWsManager
from . import _values
+from . import utils
class Root(object):
def __init__(self,dbpool:DBPoolManager):
@@ -45,7 +46,6 @@ class Root(object):
hash=match[0]
osname=os.path.join(hash[:2],hash)
if not os.path.isfile(osname):
- from . import utils
ohash, osname=utils.download_uncached(*match[1:4])
if not hash==ohash:
cherrypy.log("Wrong hash! Expected %s, got %s"%(hash,ohash))
@@ -69,6 +69,14 @@ class Root(object):
domain=cherrypy.request.base
url=domain+"/"+str(data[0])+'/'+quote(data[1],safe='')
return url
+
+ @cherrypy.expose
+ def run_cron(self, token=None):
+ if not token or not token==os.getenv("CRON_TOKEN"):
+ cherrypy.response.status=403
+ return
+
+ utils.clear_cache()
@cherrypy.expose