letting re apply the redirect of a previous element
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5s

This commit is contained in:
pierre geeraert
2026-07-14 22:57:50 +01:00
parent 6f1c8cd8ff
commit 9f7fdbc198
5 changed files with 54 additions and 4 deletions
+17 -1
View File
@@ -1,9 +1,25 @@
from django.contrib import admin from django.contrib import admin
from .models import redirectData from .models import redirectData
from .utils import redirect_method
from import_export.admin import ImportExportModelAdmin from import_export.admin import ImportExportModelAdmin
# Register your models here. # 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) @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]
@@ -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),
),
]
@@ -2,6 +2,7 @@ from django.db import models
class redirectData(models.Model): class redirectData(models.Model):
url = models.CharField(max_length=1000) 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) addedDate = models.DateField('Published', blank=True, null=True, auto_now_add=True)
seenDate = models.DateField('Published', blank=True, null=True) seenDate = models.DateField('Published', blank=True, null=True)
@@ -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
@@ -3,6 +3,7 @@ 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 redirectData
from .utils import redirect_method
import redis import redis
@@ -34,9 +35,7 @@ def redirect_process(request):
value = request.GET.get('value') value = request.GET.get('value')
key = key.lower() key = key.lower()
r.set(key, value) text_generated = redirect_method(key,value)
redirectData.objects.create(url=value)
text_generated = "successfully set "+value+" to "+key
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):