import requests, json, os

from django import template

from interface.models import Transcripts

register = template.Library()


def sub_vtt(value): 
    if value is None:
        return {}

    tr_obj = Transcripts.objects.get(id_transcript=value)

    STATIC_FILES = 'static/subtitles'
    # VTT_RESPONSE = {'file': tr_obj.file_org.file_s3_url}
    # INSTANCE_VTT = {key[9:]: str(path).replace('.srt', '.vtt') for key, path in vars(tr_obj).items() if key.startswith('path_srt_') and path}
    VTT_RESPONSE = {
        'file': tr_obj.file_org.file_s3_url,
        'fr': (str(os.path.basename(tr_obj.path_srt_fr)).replace('.srt','.vtt') if  tr_obj.path_srt_fr else None),
        'es': (str(os.path.basename(tr_obj.path_srt_es)).replace('.srt','.vtt') if  tr_obj.path_srt_es else None),
        'en': (str(os.path.basename(tr_obj.path_srt_en)).replace('.srt','.vtt') if  tr_obj.path_srt_en else None),
        'po': (str(os.path.basename(tr_obj.path_srt_po)).replace('.srt','.vtt') if  tr_obj.path_srt_po else None)
    }

    # for k, vtt in INSTANCE_VTT.items():
    #     if not vtt:
    #         continue
    #     vtt_path = os.path.join(STATIC_FILES, f"{os.path.splitext(os.path.basename(vtt))[0]}.{k}.vtt")
    #     if os.path.isfile(vtt_path):
    #         # with open(vtt_path, 'rb') as f:
    #         #     VTT_RESPONSE[k] = f.read()
    #         VTT_RESPONSE[k] = vtt_path
    #     else: 
    #         response = requests.get(vtt)
    #         if response.status_code == 200:
    #             with open(vtt_path, 'wb') as f:
    #                 f.write(response.content)
    #             VTT_RESPONSE[k] = vtt_path
    print(VTT_RESPONSE)
    return json.dumps(VTT_RESPONSE)

register.filter('sub_vtt', sub_vtt)
register.filter('sub_vtt', sub_vtt)
