testing #12
@@ -225,3 +225,4 @@ __marimo__/
|
|||||||
*/.env/*
|
*/.env/*
|
||||||
Webcal-python/*
|
Webcal-python/*
|
||||||
.idea/*
|
.idea/*
|
||||||
|
django_code/db.sqlite3
|
||||||
|
|||||||
@@ -1,3 +1,44 @@
|
|||||||
from django.contrib import admin
|
from django.contrib import admin,messages
|
||||||
|
from django.utils.translation import ngettext
|
||||||
|
from .models import Machine_Data,Schedule_Day_Data,Schedule_Week_Data
|
||||||
# Register your models here.
|
# Register your models here.
|
||||||
|
|
||||||
|
class ActiveAtHourFilter(admin.SimpleListFilter):
|
||||||
|
title = 'Active at hour'
|
||||||
|
parameter_name = 'active_at_hour'
|
||||||
|
|
||||||
|
def lookups(self, request, model_admin):
|
||||||
|
return [(str(h), f'{h:02d}:00') for h in range(24)]
|
||||||
|
|
||||||
|
def queryset(self, request, queryset):
|
||||||
|
if self.value() is not None:
|
||||||
|
hour = self.value()
|
||||||
|
return queryset.filter(**{f'schedule_day__state_at_{hour}': True})
|
||||||
|
return queryset
|
||||||
|
|
||||||
|
@admin.register(Machine_Data)
|
||||||
|
class Machine_Data(admin.ModelAdmin):
|
||||||
|
list_display = ('name', 'namespace', 'schedule_week', 'schedule_day','replicas')
|
||||||
|
list_filter = (
|
||||||
|
'schedule_week', # filter by week schedule (shows all Schedule_Week_Data entries)
|
||||||
|
ActiveAtHourFilter, # filter by active hour (e.g. who runs at 08:00)
|
||||||
|
)
|
||||||
|
#list_filter = ['seen']
|
||||||
|
#fields = ['season', 'episode', 'url', 'seen']
|
||||||
|
#actions = [make_seen,make_unseen]
|
||||||
|
|
||||||
|
@admin.register(Schedule_Day_Data)
|
||||||
|
class Schedule_Day_Data(admin.ModelAdmin):
|
||||||
|
list_display = ('name_schedule','state_at_0','state_at_1','state_at_2','state_at_3','state_at_4','state_at_5','state_at_6','state_at_7','state_at_8','state_at_9','state_at_10','state_at_11','state_at_12','state_at_13','state_at_14','state_at_15','state_at_16','state_at_17','state_at_18','state_at_19','state_at_20','state_at_21','state_at_22','state_at_23')
|
||||||
|
#list_filter = ['seen']
|
||||||
|
#fields = ['season', 'episode', 'url', 'seen']
|
||||||
|
#actions = [make_seen,make_unseen]
|
||||||
|
|
||||||
|
|
||||||
|
@admin.register(Schedule_Week_Data)
|
||||||
|
class Schedule_Week_Data(admin.ModelAdmin):
|
||||||
|
list_display = ('name_schedule','state_Monday','state_Tuesday','state_Wednesday','state_Thursday','state_Friday','state_Saturday','state_Sunday')
|
||||||
|
#list_filter = ['seen']
|
||||||
|
#fields = ['season', 'episode', 'url', 'seen']
|
||||||
|
#actions = [make_seen,make_unseen]
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# Generated by Django 4.2.29 on 2026-06-11 19:35
|
# Generated by Django 4.2.30 on 2026-06-17 13:00
|
||||||
|
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
@@ -12,17 +13,68 @@ class Migration(migrations.Migration):
|
|||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='CmmData',
|
name='Schedule_Day_Data',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('name_schedule', models.CharField(max_length=100, unique=True)),
|
||||||
|
('state_at_0', models.BooleanField()),
|
||||||
|
('state_at_1', models.BooleanField()),
|
||||||
|
('state_at_2', models.BooleanField()),
|
||||||
|
('state_at_3', models.BooleanField()),
|
||||||
|
('state_at_4', models.BooleanField()),
|
||||||
|
('state_at_5', models.BooleanField()),
|
||||||
|
('state_at_6', models.BooleanField()),
|
||||||
|
('state_at_7', models.BooleanField()),
|
||||||
|
('state_at_8', models.BooleanField()),
|
||||||
|
('state_at_9', models.BooleanField()),
|
||||||
|
('state_at_10', models.BooleanField()),
|
||||||
|
('state_at_11', models.BooleanField()),
|
||||||
|
('state_at_12', models.BooleanField()),
|
||||||
|
('state_at_13', models.BooleanField()),
|
||||||
|
('state_at_14', models.BooleanField()),
|
||||||
|
('state_at_15', models.BooleanField()),
|
||||||
|
('state_at_16', models.BooleanField()),
|
||||||
|
('state_at_17', models.BooleanField()),
|
||||||
|
('state_at_18', models.BooleanField()),
|
||||||
|
('state_at_19', models.BooleanField()),
|
||||||
|
('state_at_20', models.BooleanField()),
|
||||||
|
('state_at_21', models.BooleanField()),
|
||||||
|
('state_at_22', models.BooleanField()),
|
||||||
|
('state_at_23', models.BooleanField()),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'db_table': 'schedule_day',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Schedule_Week_Data',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('name_schedule', models.CharField(max_length=100, unique=True)),
|
||||||
|
('state_Monday', models.BooleanField()),
|
||||||
|
('state_Tuesday', models.BooleanField()),
|
||||||
|
('state_Wednesday', models.BooleanField()),
|
||||||
|
('state_Thursday', models.BooleanField()),
|
||||||
|
('state_Friday', models.BooleanField()),
|
||||||
|
('state_Saturday', models.BooleanField()),
|
||||||
|
('state_Sunday', models.BooleanField()),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'db_table': 'schedule_week',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Machine_Data',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
('name', models.CharField(max_length=100)),
|
('name', models.CharField(max_length=100)),
|
||||||
('namespace', models.CharField(max_length=100)),
|
('namespace', models.CharField(max_length=100)),
|
||||||
('schedule_day', models.CharField(max_length=100)),
|
|
||||||
('schedule_hour', models.CharField(max_length=100)),
|
|
||||||
('replicas', models.IntegerField()),
|
('replicas', models.IntegerField()),
|
||||||
|
('schedule_day', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cloudmanager.schedule_day_data')),
|
||||||
|
('schedule_week', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='cloudmanager.schedule_week_data')),
|
||||||
],
|
],
|
||||||
options={
|
options={
|
||||||
'db_table': 'cloudmanager',
|
'db_table': 'machine',
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,12 +1,58 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
class CmmData(models.Model):
|
|
||||||
|
|
||||||
|
class Schedule_Week_Data(models.Model):
|
||||||
|
name_schedule = models.CharField(max_length=100,unique=True)
|
||||||
|
state_Monday = models.BooleanField()
|
||||||
|
state_Tuesday = models.BooleanField()
|
||||||
|
state_Wednesday = models.BooleanField()
|
||||||
|
state_Thursday = models.BooleanField()
|
||||||
|
state_Friday = models.BooleanField()
|
||||||
|
state_Saturday = models.BooleanField()
|
||||||
|
state_Sunday = models.BooleanField()
|
||||||
|
class Meta:
|
||||||
|
db_table = 'schedule_week'
|
||||||
|
def __str__(self):
|
||||||
|
return self.name_schedule
|
||||||
|
|
||||||
|
class Schedule_Day_Data(models.Model):
|
||||||
|
name_schedule = models.CharField(max_length=100,unique=True)
|
||||||
|
state_at_0 = models.BooleanField()
|
||||||
|
state_at_1 = models.BooleanField()
|
||||||
|
state_at_2 = models.BooleanField()
|
||||||
|
state_at_3 = models.BooleanField()
|
||||||
|
state_at_4 = models.BooleanField()
|
||||||
|
state_at_5 = models.BooleanField()
|
||||||
|
state_at_6 = models.BooleanField()
|
||||||
|
state_at_7 = models.BooleanField()
|
||||||
|
state_at_8 = models.BooleanField()
|
||||||
|
state_at_9 = models.BooleanField()
|
||||||
|
state_at_10 = models.BooleanField()
|
||||||
|
state_at_11 = models.BooleanField()
|
||||||
|
state_at_12 = models.BooleanField()
|
||||||
|
state_at_13 = models.BooleanField()
|
||||||
|
state_at_14 = models.BooleanField()
|
||||||
|
state_at_15 = models.BooleanField()
|
||||||
|
state_at_16 = models.BooleanField()
|
||||||
|
state_at_17 = models.BooleanField()
|
||||||
|
state_at_18 = models.BooleanField()
|
||||||
|
state_at_19 = models.BooleanField()
|
||||||
|
state_at_20 = models.BooleanField()
|
||||||
|
state_at_21 = models.BooleanField()
|
||||||
|
state_at_22 = models.BooleanField()
|
||||||
|
state_at_23 = models.BooleanField()
|
||||||
|
class Meta:
|
||||||
|
db_table = 'schedule_day'
|
||||||
|
def __str__(self):
|
||||||
|
return self.name_schedule
|
||||||
|
|
||||||
|
class Machine_Data(models.Model):
|
||||||
name = models.CharField(max_length=100)
|
name = models.CharField(max_length=100)
|
||||||
namespace = models.CharField(max_length=100)
|
namespace = models.CharField(max_length=100)
|
||||||
schedule_day = models.CharField(max_length=100)
|
schedule_week = models.ForeignKey(Schedule_Week_Data,null=True, blank=True, on_delete=models.SET_NULL)
|
||||||
schedule_hour = models.CharField(max_length=100)
|
schedule_day = models.ForeignKey(Schedule_Day_Data,null=True, blank=True, on_delete=models.SET_NULL)
|
||||||
replicas = models.IntegerField()
|
replicas = models.IntegerField()
|
||||||
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
db_table = 'cloudmanager'
|
db_table = 'machine'
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
|
|
||||||
# IMPORT AT THE TOP HERE: This is completely safe!
|
# IMPORT AT THE TOP HERE: This is completely safe!
|
||||||
from apps.cloudmanager.models import CmmData
|
from apps.cloudmanager.models import Machine_Data,Schedule_Week_Data
|
||||||
|
|
||||||
def coucou(request):
|
def coucou(request):
|
||||||
# 1. Prepare the data inside the function
|
# 1. Prepare the data inside the function
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
# Generated by Django 4.2.30 on 2026-06-16 08:46
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
initial = True
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='SimpsonsData',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('season', models.IntegerField()),
|
||||||
|
('episode', models.IntegerField()),
|
||||||
|
('url', models.CharField(max_length=1000)),
|
||||||
|
('seen', models.BooleanField()),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'db_table': 'episodes',
|
||||||
|
},
|
||||||
|
),
|
||||||
|
]
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -2,6 +2,7 @@ services:
|
|||||||
db:
|
db:
|
||||||
image: docker.io/library/postgres:latest
|
image: docker.io/library/postgres:latest
|
||||||
restart: always
|
restart: always
|
||||||
|
container_name: postgres
|
||||||
volumes:
|
volumes:
|
||||||
- db:/var/lib/postgresql/
|
- db:/var/lib/postgresql/
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
Reference in New Issue
Block a user