from django.shortcuts import render
from .forms import SEOForm, fields_list
from admin_base.functions import *
from django.contrib.auth.decorators import login_required
from .functions import *
from django.contrib.sitemaps.views import sitemap
from .sitemap import StaticSitemap  # Import your sitemap class

db_path = "seo/storage/seo.sqlite3"

@login_required(login_url='/admin/login/')
def seo_main(request):
    if request.method == 'POST':
        form = SEOForm(request.POST)
        
        if form.is_valid():
            for field in fields_list:
                initial = database.read(db_path, "MetaTags", field)[0][0]
                
                if initial == request.POST.get(field):
                    pass
                    
                else:
                    database.update(db_path, "MetaTags", field, request.POST.get(field))
                    update_content_cache_index()
        
    else:
        form = SEOForm()
        
    context = {
        'meta_tags_form': form
    }

    return render(request, 'seo_main.html', context)

def sitemap_view(request):
    # Create an instance of your sitemap
    sitemaps = {
        'static': StaticSitemap(),
    }

    # Set the protocol dynamically
    sitemaps['static'].protocol = 'https' if is_https(request) else 'http'

    # Pass the sitemaps to the default Django sitemap view
    return sitemap(request, sitemaps)
