define upload endpoint
This commit is contained in:
parent
eec37ad4d9
commit
f45b76973b
2 changed files with 39 additions and 11 deletions
|
@ -9,23 +9,16 @@ import requests
|
|||
from datetime import datetime
|
||||
from flask import Flask, render_template, jsonify, request, abort
|
||||
from flask.helpers import send_file, send_from_directory
|
||||
from werkzeug.utils import secure_filename
|
||||
from apscheduler.schedulers.background import BackgroundScheduler
|
||||
from core_client import Client
|
||||
|
||||
app = Flask(__name__)
|
||||
scheduler = BackgroundScheduler()
|
||||
|
||||
# Log handlers
|
||||
logger_api = logging.getLogger('waitress')
|
||||
logger_job = logging.getLogger('apscheduler')
|
||||
logger_content = logging.getLogger('content')
|
||||
|
||||
log_level = os.environ.get('SCHEDULER_LOG_LEVEL', 'INFO').upper()
|
||||
logger_api.setLevel(log_level)
|
||||
logger_job.setLevel(log_level)
|
||||
logger_content = logging.getLogger('content')
|
||||
|
||||
# Variables
|
||||
log_level = os.environ.get('FLASKAPI_LOG_LEVEL', 'INFO').upper()
|
||||
vod_token = os.environ.get('FLASKAPI_VOD_TOKEN')
|
||||
core_hostname = os.environ.get('CORE_API_HOSTNAME', 'stream.example.com')
|
||||
core_username = os.environ.get('CORE_API_AUTH_USERNAME', 'admin')
|
||||
core_password = os.environ.get('CORE_API_AUTH_PASSWORD', 'pass')
|
||||
|
@ -34,6 +27,15 @@ core_sync_period = int(os.environ.get('CORE_SYNC_PERIOD', 15))
|
|||
rec_path = "/recordings"
|
||||
enable_delay = 24
|
||||
|
||||
# Log handlers
|
||||
logger_api = logging.getLogger('waitress')
|
||||
logger_job = logging.getLogger('apscheduler')
|
||||
logger_content = logging.getLogger('content')
|
||||
|
||||
logger_api.setLevel(log_level)
|
||||
logger_job.setLevel(log_level)
|
||||
logger_content = logging.getLogger('content')
|
||||
|
||||
# Init
|
||||
database = {}
|
||||
playhead = {}
|
||||
|
@ -272,6 +274,28 @@ def thumb_route(thumb_file):
|
|||
logger_content.warning('[' + client_address(request) + '] thumb' + str(thumb_path))
|
||||
return send_file(thumb_path, mimetype='image/png')
|
||||
|
||||
# Video uploader
|
||||
@app.route('/video', methods=['POST'])
|
||||
def video_upload():
|
||||
token = request.headers.get("Authorization")
|
||||
if token != "Bearer " + str(vod_token):
|
||||
return "Unauthorized", 401
|
||||
upload_path = f'{rec_path}/vod/'
|
||||
if not os.path.exists(upload_path):
|
||||
abort(404)
|
||||
# Streaming chunks
|
||||
#file = request.files['file']
|
||||
#if file:
|
||||
# with open('large_file.txt', 'wb') as f:
|
||||
# for chunk in file.stream:
|
||||
# f.write(chunk)
|
||||
# return 'File uploaded successfully'
|
||||
#return 'No file provided', 400
|
||||
file = request.files['file']
|
||||
filename = secure_filename(file.filename)
|
||||
file.save(os.path.join(upload_path, filename))
|
||||
return "File uploaded successfully"
|
||||
|
||||
# Video streamer
|
||||
@app.route("/video/<video_file>", methods=['GET'])
|
||||
def video_route(video_file):
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
BASE_URL=example.com
|
||||
EMAIL=info@example.com
|
||||
ACCOUNT_THUMBPRINT=CHANGE_ME
|
||||
|
||||
CORE_LOG_LEVEL=warn
|
||||
CORE_API_HOSTNAME=stream.example.com
|
||||
CORE_API_AUTH_USERNAME=admin
|
||||
CORE_API_AUTH_PASSWORD=CHANGE_ME
|
||||
SCHEDULER_LOG_LEVEL=warn
|
||||
FLASKAPI_LOG_LEVEL=warn
|
||||
FLASKAPI_VOD_TOKEN=CHANGE_ME
|
||||
|
||||
DISCORDBOT_TOKEN=CHANGE_ME
|
||||
DISCORDBOT_LIVE_CHANNEL_ID=CHANGE_ME
|
||||
DISCORDBOT_LIVE_CHANNEL_UPDATE=1440
|
||||
|
||||
ICECAST_SOURCE_PASSWORD=CHANGE_ME
|
||||
ICECAST_ADMIN_PASSWORD=CHANGE_ME
|
||||
ICECAST_RELAY_PASSWORD=CHANGE_ME
|
||||
|
|
Loading…
Add table
Reference in a new issue