diff --git a/django_code/apps/website_redirection/admin.py b/django_code/apps/website_redirection/admin.py index 73da4f7..5b99b4f 100644 --- a/django_code/apps/website_redirection/admin.py +++ b/django_code/apps/website_redirection/admin.py @@ -1,9 +1,25 @@ from django.contrib import admin from .models import redirectData +from .utils import redirect_method from import_export.admin import ImportExportModelAdmin # Register your models here. + +@admin.action(description="Add this episode back to its key") +def re_redirect(modeladmin, request, queryset): + output_generated = "" + for query in queryset.values(): + print(query) + key = query.get('key') + value = query.get('url') + output_generated = output_generated + redirect_method(key,value)+";" + + modeladmin.message_user( + request, + output_generated + ) + @admin.register(redirectData) class redirectAdmin(ImportExportModelAdmin): list_display = [field.name for field in redirectData._meta.fields if field.name != 'id'] - \ No newline at end of file + actions = [re_redirect] \ No newline at end of file diff --git a/django_code/apps/website_redirection/migrations/0003_redirectdata_key.py b/django_code/apps/website_redirection/migrations/0003_redirectdata_key.py new file mode 100644 index 0000000..bf40f60 --- /dev/null +++ b/django_code/apps/website_redirection/migrations/0003_redirectdata_key.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.29 on 2026-07-14 21:41 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('redirect', '0002_alter_redirectdata_addeddate'), + ] + + operations = [ + migrations.AddField( + model_name='redirectdata', + name='key', + field=models.CharField(default='streaming', max_length=1000), + ), + ] diff --git a/django_code/apps/website_redirection/models.py b/django_code/apps/website_redirection/models.py index 73f213a..b441355 100644 --- a/django_code/apps/website_redirection/models.py +++ b/django_code/apps/website_redirection/models.py @@ -2,6 +2,7 @@ from django.db import models class redirectData(models.Model): url = models.CharField(max_length=1000) + key = models.CharField(max_length=1000,default="streaming") addedDate = models.DateField('Published', blank=True, null=True, auto_now_add=True) seenDate = models.DateField('Published', blank=True, null=True) diff --git a/django_code/apps/website_redirection/utils.py b/django_code/apps/website_redirection/utils.py new file mode 100644 index 0000000..3e8d913 --- /dev/null +++ b/django_code/apps/website_redirection/utils.py @@ -0,0 +1,16 @@ +import redis +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): + key = key.lower() + + r.set(key, value) + redirectData.objects.create(url=value,key=key) + text_generated = "successfully set "+value+" to "+key + return text_generated \ No newline at end of file diff --git a/django_code/apps/website_redirection/views.py b/django_code/apps/website_redirection/views.py index 58f2f49..4a32330 100644 --- a/django_code/apps/website_redirection/views.py +++ b/django_code/apps/website_redirection/views.py @@ -3,6 +3,7 @@ from django.http import HttpResponse from django.http import HttpResponseRedirect from django.apps import AppConfig from .models import redirectData +from .utils import redirect_method import redis @@ -34,9 +35,7 @@ def redirect_process(request): value = request.GET.get('value') key = key.lower() - r.set(key, value) - redirectData.objects.create(url=value) - text_generated = "successfully set "+value+" to "+key + text_generated = redirect_method(key,value) return HttpResponse(text_generated, content_type="text/plain") def display_key(request,key): diff --git a/django_testing/entrypoint.sh b/django_testing/entrypoint.sh index 2629a87..c8440e4 100644 --- a/django_testing/entrypoint.sh +++ b/django_testing/entrypoint.sh @@ -9,7 +9,21 @@ git pull pip install -r requirements.txt +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"