from typing import Dict, Tuple
from django.http import HttpResponseNotFound
from django.shortcuts import render
import os, random
from django.template import Context

def image_dict_from_name_list(name_list: list[str]):
    dict_list = []
    for name in name_list:
        url =  name.split(".")
        url.pop()
        url = ".".join(url)
        dict_list.append({
                "name": name,
                "url": url
            }
        )
    return dict_list

def index(request):
    # Get random ad from ad dir
    ad_list = os.listdir(os.path.join(os.path.dirname(os.path.dirname(__file__)), "webpage", "static/ads/hor/"))
    ad = random.choice(ad_list)
    # Get list of 81x33 icons
    banner_list = image_dict_from_name_list(os.listdir(os.path.join(os.path.dirname(os.path.dirname(__file__)), "webpage", "static/icons/88x31/")))    
    # Get list of funni gifs
    gif_list = image_dict_from_name_list(os.listdir(os.path.join(os.path.dirname(os.path.dirname(__file__)), "webpage", "static/gif/")))
    if not ad or not banner_list or not gif_list:
        return HttpResponseNotFound()
    else:
        context = {
            "ad": ad, 
            "banner_list": banner_list,
            "gif_list": gif_list
        }
        return render(request, 
        "index.html", context)
