3 Commits
Author SHA1 Message Date
pi-ux-ce 2da9e9390d 🗑️ cleaning
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-06-17 18:59:14 +01:00
pi-ux-ce 47bf1d40f9 cleaning 2026-06-17 18:51:05 +01:00
pi-ux-ce 256cc8cd71 simpsons redirection working 2026-06-17 18:48:22 +01:00
4 changed files with 49 additions and 177 deletions
-111
View File
@@ -1,117 +1,6 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.http import HttpResponse
from django.shortcuts import render
from django.shortcuts import redirect
from django.core.files import File
#from django.template.loader import render_to_string
import time
import psycopg2
import random
import mimetypes
class RandomSimpsonsConfig(AppConfig): class RandomSimpsonsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField' default_auto_field = 'django.db.models.BigAutoField'
name = 'apps.random_simpsons' name = 'apps.random_simpsons'
label = 'simpsons' label = 'simpsons'
def DB_generation(host_in,port_in,user_in,password_in,db_in):
#db = pymysql.connect(host=host_in, port=port_in, user=user_in, passwd=password_in,db=db_in)
db = psycopg2.connect(host=host_in, port=port_in, user=user_in, password=password_in,database=db_in)
return db
def Launch_sql_query(sql,db):
#sql query with 1 object returned
cursor = db.cursor()
try:
# Execute the SQL command
cursor.execute(sql)
# Fetch all the rows in a list of lists.
results = cursor.fetchall()
for row in results:
return row[0]
except:
print ("Error: unable to fetch data from the query:")
print (sql)
print("---")
cursor.close()
def hello(request):
return HttpResponse('<h1>Hello Simpsons!</h1>')
#<h1>href="{{ STATIC_URL }}/files/somefile</h1>)
def download_file(request):
# fill these variables with real values
fl_path = '/data/download/sonarr'
filename = 'The.Boys.2019.S04E05.2160p.HDR10Plus.WEBRip.6CH.x265.HEVC-PSA.mkv'
# fl = open(fl_path, 'r')
# mime_type, _ = mimetypes.guess_type(fl_path)
# response = HttpResponse(fl, content_type=mime_type)
# response['Content-Disposition'] = "attachment; filename=%s" % filename
some_file = open('/data/kubernetes/Backup/nextcloud/notes/2024-07-28/Course.md', "r")
django_file = File(some_file)
return HttpResponse("<h1>Hello download!</h1><h1><a href='{{ MEDIA_URL }}{{ django_file.relative_path }}'>{{ django_file.name }}</a></h1><h1>bye download!</h1>")
# return response
def download_mo(request,file):
path_to_file = os.path.realpath(file)
response = FileResponse(open(path_to_file, 'rb'))
file_name = file[5:]
response['Content-Disposition'] = 'inline; filename=' + file_name
return response
#def template(request):
# rendered = render_to_string("random_simpsons/my_template.html", {"foo": "bar"})
#return HttpResponse('<h1>Hello !</h1>')
def simpsons(request):
#dev settings
#generated_db = DB_generation("192.168.88.50",32345, "django_username", "Suffrage-Moneybags-Illusion7","django")
#production settings
generated_db = DB_generation("django-db-svc",5432, "django_username", "Suffrage-Moneybags-Illusion7","django")
cursor = generated_db.cursor()
#get max number of season
maximum_number_of_seasons = Launch_sql_query("SELECT COUNT(DISTINCT season) as result FROM episodes;",generated_db)
boolean_restart = True;
while (boolean_restart):
random_seasons = random.randint(1, maximum_number_of_seasons)
print("random season: " + str(random_seasons))
#get max number of epiosde for this season
maximum_number_of_episodes_query = "SELECT COUNT(url) as result FROM episodes WHERE season = " + str(random_seasons) + ";"
maximum_number_of_episodes = Launch_sql_query(maximum_number_of_episodes_query,generated_db)
random_episode = random.randint(1, maximum_number_of_episodes)
print("random episode: " + str(random_episode))
#check if the episode was already seen
check_if_already_seen_query = "select seen from episodes where season="+ str(random_seasons) +" and episode = "+ str(random_episode) +";"
if not Launch_sql_query(check_if_already_seen_query, generated_db):
boolean_restart = False
else:
print("episode "+str(random_episode)+" from season "+str(random_seasons)+" already seen")
url_from_episode_season_query = "select url from episodes where season="+ str(random_seasons) +" and episode = "+ str(random_episode) +";"
generated_url = Launch_sql_query(url_from_episode_season_query,generated_db)
#mark as seen
url_from_episode_season_query = "update episodes set seen = True where season=" + str(random_seasons) + " and episode = " + str(random_episode) + ";"
Launch_sql_query(url_from_episode_season_query, generated_db)
generated_db.commit()
generated_db.close()
#return HttpResponse(str(generated_url))
return redirect(str(generated_url))
+39 -54
View File
@@ -1,77 +1,62 @@
from django.shortcuts import render from django.http import HttpResponse
from django.db.models import Count
from django.shortcuts import redirect
from apps.random_simpsons.models import SimpsonsData
import random import random
# Create your views here.
from django.http import HttpResponse
from django.db.models import Count
from django.shortcuts import render
from apps.random_simpsons.models import SimpsonsData
def hello(request): def hello(request):
return HttpResponse('<h1>Hello Django!</h1>') return HttpResponse('<h1>Hello Simpsons view!</h1>')
def random_episode(request): def episode_generator(request):
simpsons_data_object = SimpsonsData.objects.using('simpsons_db') simpsons_data_object = SimpsonsData.objects.using('simpsons_db')
maximum_number_of_seasons = SimpsonsData.objects.aggregate(unique_season=Count('season', distinct=True))['unique_season']
print("maximum_number_of_seasons: "+str(maximum_number_of_seasons))
random_seasons = random.randint(1, maximum_number_of_seasons)
print("random season: " + str(random_seasons))
print("--- START SIMPSONS LOG ---")
simpson_stuff = simpsons_data_object.filter(season=random_seasons)
for line in simpson_stuff:
print(line)
print("--- END SIMPSONS LOG ---")
# Keeps Django happy by returning a valid web response
return HttpResponse('Check your terminal log!')
def simpsons(request):
#dev settings
#generated_db = DB_generation("192.168.88.50",32345, "django_username", "Suffrage-Moneybags-Illusion7","django")
#production settings
generated_db = DB_generation("django-db-svc",5432, "django_username", "Suffrage-Moneybags-Illusion7","django")
cursor = generated_db.cursor()
#get max number of season
maximum_number_of_seasons = Launch_sql_query("SELECT COUNT(DISTINCT season) as result FROM episodes;",generated_db)
boolean_restart = True; boolean_restart = True;
while (boolean_restart): while (boolean_restart):
maximum_number_of_seasons = simpsons_data_object.aggregate(unique_season=Count('season', distinct=True))['unique_season']
random_seasons = random.randint(1, maximum_number_of_seasons) random_seasons = random.randint(1, maximum_number_of_seasons)
print("random season: " + str(random_seasons)) print("random season: " + str(random_seasons))
maximum_number_of_episodes = simpsons_data_object.filter(season=random_seasons).count()
#get max number of epiosde for this season
maximum_number_of_episodes_query = "SELECT COUNT(url) as result FROM episodes WHERE season = " + str(random_seasons) + ";"
maximum_number_of_episodes = Launch_sql_query(maximum_number_of_episodes_query,generated_db)
random_episode = random.randint(1, maximum_number_of_episodes) random_episode = random.randint(1, maximum_number_of_episodes)
print("random episode: " + str(random_episode)) print("random episode: " + str(random_episode))
#check if the episode was already seen episode_seen = simpsons_data_object.filter(season=random_seasons, episode=random_episode).values('seen')[0]['seen']
check_if_already_seen_query = "select seen from episodes where season="+ str(random_seasons) +" and episode = "+ str(random_episode) +";"
if not Launch_sql_query(check_if_already_seen_query, generated_db): if not(episode_seen):
boolean_restart = False boolean_restart = False
else: else:
print("episode "+str(random_episode)+" from season "+str(random_seasons)+" already seen") print("episode "+str(random_episode)+" from season "+str(random_seasons)+" already seen")
url_from_episode_season_query = "select url from episodes where season="+ str(random_seasons) +" and episode = "+ str(random_episode) +";" random_url = simpsons_data_object.filter(season=random_seasons, episode=random_episode).values('url')[0]['url']
generated_url = Launch_sql_query(url_from_episode_season_query,generated_db)
#mark as seen #Set episode as seen
url_from_episode_season_query = "update episodes set seen = True where season=" + str(random_seasons) + " and episode = " + str(random_episode) + ";" # It will still update an already seem episode but it works and I'm lazy
Launch_sql_query(url_from_episode_season_query, generated_db)
generated_db.commit() simpsons_data_object.filter(season=random_seasons, episode=random_episode).values('seen').update(seen=True)
generated_db.close()
#return HttpResponse(str(generated_url)) return redirect(str(random_url))
return redirect(str(generated_url))
def download_file(request):
# fill these variables with real values
fl_path = '/data/download/sonarr'
filename = 'The.Boys.2019.S04E05.2160p.HDR10Plus.WEBRip.6CH.x265.HEVC-PSA.mkv'
# fl = open(fl_path, 'r')
# mime_type, _ = mimetypes.guess_type(fl_path)
# response = HttpResponse(fl, content_type=mime_type)
# response['Content-Disposition'] = "attachment; filename=%s" % filename
some_file = open('/data/kubernetes/Backup/nextcloud/notes/2024-07-28/Course.md', "r")
django_file = File(some_file)
return HttpResponse("<h1>Hello download!</h1><h1><a href='{{ MEDIA_URL }}{{ django_file.relative_path }}'>{{ django_file.name }}</a></h1><h1>bye download!</h1>")
# return response
def download_mo(request,file):
path_to_file = os.path.realpath(file)
response = FileResponse(open(path_to_file, 'rb'))
file_name = file[5:]
response['Content-Disposition'] = 'inline; filename=' + file_name
return response
+1 -1
View File
@@ -115,7 +115,7 @@ DATABASES = {
'PORT': os.environ.get('DB_PORT'), 'PORT': os.environ.get('DB_PORT'),
}, },
} }
DATABASE_ROUTERS = ['django_code.routers.ProjectDatabaseRouter'] #DATABASE_ROUTERS = ['django_code.routers.ProjectDatabaseRouter']
# Password validation # Password validation
# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators # https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators
+2 -4
View File
@@ -19,8 +19,7 @@ from django.urls import path
#from apps.cloudmanager import (credentials,db_interaction) #from apps.cloudmanager import (credentials,db_interaction)
from apps.cloudmanager import apps as cloudmanager_apps from apps.cloudmanager import apps as cloudmanager_apps
from apps.cloudmanager import views as cloudmanager_views from apps.cloudmanager import views as cloudmanager_views
from apps.random_simpsons import apps as random_simpsons from apps.random_simpsons import views as random_simpsons
from apps.random_simpsons import views as random_simpsons_view
from apps.dashboard import apps as dashboardapp from apps.dashboard import apps as dashboardapp
from apps.dashboard import views as dashboardview from apps.dashboard import views as dashboardview
from apps.kubernetes_connection import apps as kubernetes_connection from apps.kubernetes_connection import apps as kubernetes_connection
@@ -34,9 +33,8 @@ urlpatterns = [
################### Simpsons ################### ################### Simpsons ###################
path('hello/', random_simpsons.hello), path('hello/', random_simpsons.hello),
path('simpsons/', random_simpsons.simpsons), path('simpsons/', random_simpsons.episode_generator),
path('download_file/', random_simpsons.download_file), path('download_file/', random_simpsons.download_file),
path('print/', random_simpsons_view.random_episode),
################### Redirect ################### ################### Redirect ###################
path('redirect/hello/', website_redirectionapp.hello), path('redirect/hello/', website_redirectionapp.hello),