44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
import os
|
|
from ahserver.webapp import webapp
|
|
from ahserver.filestorage import FileStorage
|
|
from ahserver.serverenv import ServerEnv
|
|
from appPublic.registerfunction import RegisterFunction
|
|
from appPublic.log import debug
|
|
from appPublic.worker import awaitify
|
|
|
|
from appbase.init import load_appbase
|
|
from rbac.init import load_rbac
|
|
from findperson.init import load_findperson
|
|
from ext import init_ui_ext
|
|
from loadmedia import save_media, load_media
|
|
from imageface import create_knownface
|
|
|
|
def runytdlp(cookie_webpath, url):
|
|
# we have a dl in ~/bin, and ~bin in PATH
|
|
fs = FileStorage()
|
|
cookiefile = fs.realPath(cookie_webpath)
|
|
cmd = f"""cd /d/ymq/media/dl; yt-dlp --cookies {cookiefile} --proxy socks5://127.0.0.1:1086 -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a] /best[ext=mp4]/best' "{url}" """
|
|
debug(f'execute:{cmd}')
|
|
os.system(cmd)
|
|
|
|
def get_module_dbname(mn):
|
|
return 'mediadb'
|
|
|
|
def init():
|
|
g = ServerEnv()
|
|
g.get_module_dbname = get_module_dbname
|
|
g.runytdlp = awaitify(runytdlp)
|
|
g.create_knownface = create_knownface
|
|
g.load_media = load_media
|
|
g.save_media = save_media
|
|
rf = RegisterFunction()
|
|
rf.register('get_module_dbname', get_module_dbname)
|
|
init_ui_ext()
|
|
load_appbase()
|
|
load_rbac()
|
|
load_findperson()
|
|
|
|
if __name__ == '__main__':
|
|
webapp(init)
|
|
|