testing #26
@@ -0,0 +1,10 @@
|
|||||||
|
.git
|
||||||
|
.github
|
||||||
|
**/__pycache__
|
||||||
|
*.pyc
|
||||||
|
.pytest_cache
|
||||||
|
media
|
||||||
|
staticfiles
|
||||||
|
*.sqlite3
|
||||||
|
node_modules
|
||||||
|
.env
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from .models import redirectData
|
from .models import historicalData,redirectData
|
||||||
from .utils import redirect_method
|
from .utils import redirect_method
|
||||||
from import_export.admin import ImportExportModelAdmin
|
from import_export.admin import ImportExportModelAdmin
|
||||||
|
|
||||||
@@ -19,7 +19,13 @@ def re_redirect(modeladmin, request, queryset):
|
|||||||
output_generated
|
output_generated
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@admin.register(historicalData)
|
||||||
|
class historicalAdmin(ImportExportModelAdmin):
|
||||||
|
list_display = [field.name for field in historicalData._meta.fields if field.name != 'id']
|
||||||
|
actions = [re_redirect]
|
||||||
|
|
||||||
|
|
||||||
@admin.register(redirectData)
|
@admin.register(redirectData)
|
||||||
class redirectAdmin(ImportExportModelAdmin):
|
class redirectAdmin(ImportExportModelAdmin):
|
||||||
list_display = [field.name for field in redirectData._meta.fields if field.name != 'id']
|
list_display = [field.name for field in redirectData._meta.fields if field.name != 'id']
|
||||||
actions = [re_redirect]
|
|
||||||
+17
@@ -0,0 +1,17 @@
|
|||||||
|
# Generated by Django 4.2.30 on 2026-07-28 09:11
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('redirect', '0003_redirectdata_key'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RenameModel(
|
||||||
|
old_name='redirectData',
|
||||||
|
new_name='historicalData',
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 4.2.30 on 2026-07-28 09:14
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('redirect', '0004_rename_redirectdata_historicaldata'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='historicaldata',
|
||||||
|
name='seenDate',
|
||||||
|
field=models.DateField(blank=True, null=True, verbose_name='Seen'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Generated by Django 4.2.30 on 2026-07-28 09:15
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('redirect', '0005_alter_historicaldata_seendate'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterModelTable(
|
||||||
|
name='historicaldata',
|
||||||
|
table='historical',
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# Generated by Django 4.2.30 on 2026-07-28 09:17
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('redirect', '0006_alter_historicaldata_table'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='redirectData',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('key', models.CharField(default='streaming', max_length=1000)),
|
||||||
|
('url', models.CharField(max_length=1000)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'db_table': 'redirect',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -1,10 +1,16 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
class redirectData(models.Model):
|
class historicalData(models.Model):
|
||||||
url = models.CharField(max_length=1000)
|
url = models.CharField(max_length=1000)
|
||||||
key = models.CharField(max_length=1000,default="streaming")
|
key = models.CharField(max_length=1000,default="streaming")
|
||||||
addedDate = models.DateField('Published', blank=True, null=True, auto_now_add=True)
|
addedDate = models.DateField('Published', blank=True, null=True, auto_now_add=True)
|
||||||
seenDate = models.DateField('Published', blank=True, null=True)
|
seenDate = models.DateField('Seen', blank=True, null=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
db_table = 'historical'
|
||||||
|
|
||||||
|
class redirectData(models.Model):
|
||||||
|
key = models.CharField(max_length=1000,default="streaming")
|
||||||
|
url = models.CharField(max_length=1000)
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = 'redirect'
|
db_table = 'redirect'
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
import redis
|
from .models import historicalData,redirectData
|
||||||
from .models import redirectData
|
|
||||||
|
|
||||||
r = redis.Redis(
|
|
||||||
host='django-redis-svc',
|
|
||||||
port=6379,
|
|
||||||
db=0 # The default Redis database index
|
|
||||||
)
|
|
||||||
|
|
||||||
def redirect_method(key,value):
|
def redirect_method(key,value):
|
||||||
key = key.lower()
|
key = key.lower()
|
||||||
|
|
||||||
r.set(key, value)
|
|
||||||
redirectData.objects.create(url=value,key=key)
|
#Add to the redirect database to be used as a redirection point
|
||||||
|
# using update_or_create so there is no duplicate of one index/key
|
||||||
|
redirectData.objects.update_or_create(key=key,defaults={'url': value})
|
||||||
|
|
||||||
|
#Add to the historical database
|
||||||
|
historicalData.objects.create(url=value, key=key)
|
||||||
|
|
||||||
text_generated = "successfully set "+value+" to "+key
|
text_generated = "successfully set "+value+" to "+key
|
||||||
return text_generated
|
return text_generated
|
||||||
@@ -2,22 +2,15 @@ from django.shortcuts import render
|
|||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.http import HttpResponseRedirect
|
from django.http import HttpResponseRedirect
|
||||||
from django.apps import AppConfig
|
from django.apps import AppConfig
|
||||||
from .models import redirectData
|
from .models import historicalData,redirectData
|
||||||
from .utils import redirect_method
|
from .utils import redirect_method
|
||||||
import redis
|
|
||||||
|
|
||||||
|
|
||||||
def hello(request):
|
def hello(request):
|
||||||
return HttpResponse('<h1>Hello Django!</h1>')
|
return HttpResponse('<h1>Hello Django!</h1>')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
r = redis.Redis(
|
|
||||||
host='django-redis-svc',
|
|
||||||
port=6379,
|
|
||||||
db=0 # The default Redis database index
|
|
||||||
)
|
|
||||||
|
|
||||||
def hello(request):
|
def hello(request):
|
||||||
return HttpResponse('<h1>Hello redirect!</h1>')
|
return HttpResponse('<h1>Hello redirect!</h1>')
|
||||||
|
|
||||||
@@ -27,7 +20,8 @@ def redirect(request):
|
|||||||
|
|
||||||
def clearkey_process(request):
|
def clearkey_process(request):
|
||||||
key = request.GET.get('key')
|
key = request.GET.get('key')
|
||||||
r.delete(key)
|
#commenting this for now , need to see if the function is usefull
|
||||||
|
#r.delete(key)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def redirect_process(request):
|
def redirect_process(request):
|
||||||
@@ -39,22 +33,24 @@ def redirect_process(request):
|
|||||||
return HttpResponse(text_generated, content_type="text/plain")
|
return HttpResponse(text_generated, content_type="text/plain")
|
||||||
|
|
||||||
def display_key(request,key):
|
def display_key(request,key):
|
||||||
value = r.get(key)
|
value = redirectData.objects.filter(key=key).values('url')[0]['url']
|
||||||
value_extracted = str(value.decode())
|
value_extracted = str(value.decode())
|
||||||
text_generated = key+" is set to "+value_extracted
|
text_generated = key+" is set to "+value_extracted
|
||||||
return HttpResponse(text_generated, content_type="text/plain")
|
return HttpResponse(text_generated, content_type="text/plain")
|
||||||
|
|
||||||
|
|
||||||
def redirect_to_key(request,key):
|
def redirect_to_key(request,key):
|
||||||
value = r.get(key)
|
redirect_object = redirectData.objects.filter(key=key)
|
||||||
|
value = str(redirect_object.values('url')[0]['url'])
|
||||||
|
|
||||||
if value == None:
|
if value == None:
|
||||||
icon_url = r.get('icon')
|
#get the icon url, if it doesn't exist , create it with a default icon
|
||||||
if icon_url == None:
|
icon_url = redirectData.objects.get_or_create(key="icon",defaults={'url':"https://cdn-icons-png.flaticon.com/512/6402/6402576.png"})[0].url
|
||||||
icon_url = "https://cdn-icons-png.flaticon.com/512/6402/6402576.png"
|
|
||||||
print(key+" is not setup, displaying default page")
|
print(key+" is not setup, displaying default page")
|
||||||
return render(request, 'website_redirection/blank_page.html', {'title': key,'icon_url':icon_url})
|
return render(request, 'website_redirection/blank_page.html', {'title': key,'icon_url':icon_url})
|
||||||
else:
|
else:
|
||||||
value_extracted = str(value.decode('utf-8'))
|
value_extracted = str(value)
|
||||||
print(key+" is setup to : "+value_extracted)
|
print(key+" is setup to : "+value_extracted)
|
||||||
print(value_extracted)
|
print(value_extracted)
|
||||||
return HttpResponseRedirect(value_extracted)
|
return HttpResponseRedirect(value_extracted)
|
||||||
@@ -42,7 +42,7 @@ urlpatterns = [
|
|||||||
path('redirect/set/', website_redirectionapp.redirect),
|
path('redirect/set/', website_redirectionapp.redirect),
|
||||||
path('redirect/get/<str:key>', website_redirectionapp.display_key),
|
path('redirect/get/<str:key>', website_redirectionapp.display_key),
|
||||||
path('redirect/go/<str:key>', website_redirectionapp.redirect_to_key),
|
path('redirect/go/<str:key>', website_redirectionapp.redirect_to_key),
|
||||||
path('redirect/redirect-form/', website_redirectionapp.redirect_process, name='submit_form'),
|
path('redirect-form/', website_redirectionapp.redirect_process, name='submit_form'),
|
||||||
path('redirect/clearkey/', website_redirectionapp.clearkey_process, name='submit_form'),
|
path('redirect/clearkey/', website_redirectionapp.clearkey_process, name='submit_form'),
|
||||||
|
|
||||||
################### onenote ###################
|
################### onenote ###################
|
||||||
|
|||||||
@@ -1,5 +1,20 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
python django_code/manage.py makemigrations
|
||||||
|
python django_code/manage.py makemigrations redirect
|
||||||
|
python django_code/manage.py makemigrations cloudmanager
|
||||||
|
python django_code/manage.py makemigrations simpsons
|
||||||
|
python django_code/manage.py makemigrations job
|
||||||
|
python django_code/manage.py makemigrations telegram
|
||||||
|
python django_code/manage.py makemigrations podcast
|
||||||
|
|
||||||
|
python django_code/manage.py migrate
|
||||||
|
python django_code/manage.py migrate --database=cloudmanager_db
|
||||||
|
python django_code/manage.py migrate --database=simpsons_db
|
||||||
|
python django_code/manage.py migrate --database=redirect_db
|
||||||
|
python django_code/manage.py migrate --database=job_db
|
||||||
|
python django_code/manage.py migrate --database=telegram_db
|
||||||
|
python django_code/manage.py migrate --database=podcast_db
|
||||||
|
|
||||||
python django_code/manage.py runserver "0.0.0.0:8000"
|
python django_code/manage.py runserver "0.0.0.0:8000"
|
||||||
|
|
||||||
|
|||||||
@@ -9,19 +9,24 @@ ENV DEBUG 'True'
|
|||||||
|
|
||||||
WORKDIR /code/
|
WORKDIR /code/
|
||||||
|
|
||||||
|
|
||||||
# Install build tools and MaxMind library
|
# Install build tools and MaxMind library
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y git nano && \
|
apt-get install -y git nano && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Clone the project
|
|
||||||
RUN git clone -b testing https://gitea.tryton.geeraert.eu/pi-ux-ce/Django_kube.git
|
# Copy only the requirements file first (Changes infrequently)
|
||||||
|
COPY requirements.txt ./
|
||||||
|
|
||||||
RUN pip install --cache-dir=/opt/hostedtoolcache/pip --upgrade pip
|
RUN pip install --cache-dir=/opt/hostedtoolcache/pip --upgrade pip
|
||||||
RUN pip list --cache-dir=/opt/hostedtoolcache/pip --outdated
|
RUN pip list --cache-dir=/opt/hostedtoolcache/pip --outdated
|
||||||
RUN pip install --cache-dir=/opt/hostedtoolcache/pip --upgrade wheel
|
RUN pip install --cache-dir=/opt/hostedtoolcache/pip --upgrade wheel
|
||||||
RUN pip install --cache-dir=/opt/hostedtoolcache/pip --upgrade setuptools
|
RUN pip install --cache-dir=/opt/hostedtoolcache/pip --upgrade setuptools
|
||||||
RUN pip install --cache-dir=/opt/hostedtoolcache/pip -r Django_kube/requirements.txt
|
RUN pip install --cache-dir=/opt/hostedtoolcache/pip -r requirements.txt
|
||||||
|
|
||||||
|
# Copy the rest of your application code (Changes frequently, invalidates subsequent cache)
|
||||||
|
COPY . ./
|
||||||
|
|
||||||
COPY infra/testing/entrypoint.sh /code/entrypoint.sh
|
COPY infra/testing/entrypoint.sh /code/entrypoint.sh
|
||||||
RUN chmod +x /code/entrypoint.sh
|
RUN chmod +x /code/entrypoint.sh
|
||||||
|
|||||||
Reference in New Issue
Block a user