# coding=utf-8 from django.contrib.sitemaps import Sitemap from django.urls import reverse from BaseModels.mailSender import techSendMail import json from datetime import datetime, time, timezone # from PageSetsApp.models import * # from ArticlesApp.models import * # from BaseModels.base_api_requests import base_api_request # from tEsiteProj.settings import API_URL from django.db.models import Q limit_records = 1000 sitemaps = { } protocol = 'https' class sm_StaticPage(Sitemap): changefreq = 'monthly' priority = 1 i18n = True protocol = protocol def items(self): from GeneralApp.models import StaticPage return StaticPage.objects.filter(enable=True) def location(self, item): if item.url == 'main': return reverse('main') else: return reverse('static_page', args=[item.url]) def lastmod(self, obj): return obj.modifiedDT sitemaps.update({'static_pages': sm_StaticPage}) class sm_ArticlesPage(Sitemap): changefreq = 'daily' priority = 2 i18n = True protocol = protocol def items(self): return [''] def location(self, item): return reverse('articles') def lastmod(self, obj): from ArticlesApp.models import ArticleModel article = ArticleModel.objects.filter(enable=True).order_by('-modifiedDT').first() if article: return article.modifiedDT else: return datetime.now() sitemaps.update({'articles_page': sm_ArticlesPage}) class sm_Article(Sitemap): changefreq = 'yearly' priority = 2 i18n = True protocol = protocol def items(self): from ArticlesApp.views import ArticleModel objs = ArticleModel.objects.filter(enable=True) return objs def location(self, item): return reverse('article_one', args=[item.url]) def lastmod(self, obj): return obj.modifiedDT sitemaps.update({'article': sm_Article}) class sm_UserPage(Sitemap): changefreq = 'yearly' priority = 2 i18n = True protocol = protocol def items(self): from ArticlesApp.views import UserPageModel objs = UserPageModel.objects.filter(enable=True) return objs def location(self, item): return reverse('user_page', args=[item.url]) def lastmod(self, obj): return obj.modifiedDT sitemaps.update({'user_page': sm_UserPage}) class sm_Registration(Sitemap): changefreq = 'never' priority = 1 i18n = True protocol = protocol def items(self): return [''] def location(self, item): return reverse('registration_page') def lastmod(self, obj): return datetime(2024, 6, 1) sitemaps.update({'registration': sm_Registration}) class sm_Login(Sitemap): changefreq = 'never' priority = 1 i18n = True protocol = protocol def items(self): return [''] def location(self, item): return reverse('login_profile') def lastmod(self, obj): return datetime(2024, 6, 1) sitemaps.update({'login': sm_Login})