import ffmpeg from .get import * from .. import helpers def getPreview(request): answer = get(request, "previews") try: if answer['error']: return answer except KeyError: pass except Exception as e: return {"status": "error", "details": { "error_code": 123, "error_details": e }} urlcode = answer['urlcode'] bitrate = answer['bitrate'] quality = answer['quality'] error_code = answer['ytdlp-code'] try: if request.method == 'POST': duration = request.form['duration'] else: duration = request.args['duration'] if duration > 60: duration = 60 except: duration = 30 if answer['done-or-not']: return {"status": "pass", "details": {"code": error_code, "name":"{}.ogg".format(urlcode), "result": "http://funapi.dnszilla.bar/static/previews/{}.ogg".format(urlcode)}} try: audio_input = ffmpeg.input(answer['path']) audio_cut = audio_input.audio.filter('atrim', duration=duration) audio_output = ffmpeg.output(audio_cut, "/home/ubuntu/api/static/previews/{}.ogg".format(urlcode), audio_bitrate=bitrate) ffmpeg.run(audio_output) helpers.deleteAudio("temp/{}.ogg".format(urlcode)) except Exception as e: return {"status": "error", "details": {"error_code": 102, "error_details": str(e), "result": "http://funapi.dnszilla.bar/static/temp/{}.ogg".format(urlcode)}} return {"status": "pass", "details": {"code": error_code, "name":"{}.ogg".format(urlcode), "result": "http://funapi.dnszilla.bar/static/previews/{}.ogg".format(urlcode)}}