Attempt to log more and find correct paths
This commit is contained in:
parent
c1b25603a8
commit
f677e27282
32
pubspace.py
32
pubspace.py
@ -1,5 +1,6 @@
|
|||||||
import logging
|
import logging
|
||||||
from os import environ
|
from os import environ
|
||||||
|
from os.path import basename
|
||||||
|
|
||||||
import owncloud
|
import owncloud
|
||||||
from fastapi import FastAPI, Request
|
from fastapi import FastAPI, Request
|
||||||
@ -43,8 +44,11 @@ nextcloud.login(NEXTCLOUD_USER, NEXTCLOUD_APP_PASSWORD)
|
|||||||
|
|
||||||
|
|
||||||
def create_share(fpath):
|
def create_share(fpath):
|
||||||
if not nextcloud.is_shared(fpath):
|
fname = basname(fpath)
|
||||||
info = nextcloud.share_file_with_link(fpath)
|
fpaths = nextcloud.list("/", depth="infinity")
|
||||||
|
matching = [f.path for f in fpaths if fname in f.path][0]
|
||||||
|
if not nextcloud.is_shared(matching):
|
||||||
|
info = nextcloud.share_file_with_link(matching)
|
||||||
return info.get_link()
|
return info.get_link()
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@ -53,15 +57,23 @@ def create_share(fpath):
|
|||||||
async def home(request: Request):
|
async def home(request: Request):
|
||||||
try:
|
try:
|
||||||
payload = await request.json()
|
payload = await request.json()
|
||||||
request.app.state.log.info(f"Received: {payload}")
|
|
||||||
file = payload["file"]
|
|
||||||
link = create_share(file)
|
|
||||||
if link:
|
|
||||||
request.app.state.log.info(f"Shared {file} on {link}")
|
|
||||||
else:
|
|
||||||
request.app.state.log.info(f"{file} already shared or failure!")
|
|
||||||
except Exception:
|
except Exception:
|
||||||
return {}
|
request.app.state.log.info("Unable to parse request, bailing out")
|
||||||
|
return {"detail": "unknown request"}
|
||||||
|
|
||||||
|
request.app.state.log.info(f"Received: {payload}")
|
||||||
|
|
||||||
|
try:
|
||||||
|
file = payload["rel_path"]
|
||||||
|
link = create_share(file)
|
||||||
|
except Exception:
|
||||||
|
request.app.state.log.info(f"Failed to share {file}"
|
||||||
|
return {"detail": "failed to create share"}
|
||||||
|
|
||||||
|
if link:
|
||||||
|
request.app.state.log.info(f"Shared {file} on {link}")
|
||||||
|
else:
|
||||||
|
request.app.state.log.info(f"{file} already shared or failure!")
|
||||||
|
|
||||||
|
|
||||||
@app.get("/healthz")
|
@app.get("/healthz")
|
||||||
|
Reference in New Issue
Block a user