updates to bump the whole app to Django 5.0

note that this removes support for python 3.8 and 3.9!

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
This commit is contained in:
Brian S. Stephan 2024-05-03 12:40:01 -05:00
parent 2dfb942f91
commit 03e1269cf2
Signed by: bss
GPG Key ID: 3DE06D3180895FCB
19 changed files with 288 additions and 82 deletions

View File

@ -0,0 +1,18 @@
# Generated by Django 5.0.4 on 2024-05-03 17:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('countdown', '0007_countdownitem_reminder_target_new'),
]
operations = [
migrations.AlterField(
model_name='countdownitem',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

View File

@ -0,0 +1,23 @@
# Generated by Django 5.0.4 on 2024-05-03 17:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dispatch', '0007_rename_type_dispatcheraction_action_type'),
]
operations = [
migrations.AlterField(
model_name='dispatcher',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='dispatcheraction',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

View File

@ -2,20 +2,21 @@
Django settings for dr_botzo project.
For more information on this file, see
https://docs.djangoproject.com/en/1.6/topics/settings/
https://docs.djangoproject.com/en/5.0/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.6/ref/settings/
https://docs.djangoproject.com/en/5.0/ref/settings/
"""
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
from pathlib import Path
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
# Build paths inside the project like this: BASE_DIR / 'subdir'
BASE_DIR = Path(__file__).resolve().parent.parent
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/
# See https://docs.djangoproject.com/en/5.0/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '8@frp#a5wb)40g=#rbbxy($_!ttqw(*t_^os37_a*9kbx1xuvp'
@ -28,8 +29,8 @@ ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = (
'django.contrib.admin.apps.SimpleAdminConfig',
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
@ -50,9 +51,9 @@ INSTALLED_APPS = (
'races',
'seen',
'storycraft',
)
]
MIDDLEWARE = (
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
@ -60,7 +61,7 @@ MIDDLEWARE = (
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
]
ROOT_URLCONF = 'dr_botzo.urls'
@ -85,21 +86,37 @@ WSGI_APPLICATION = 'dr_botzo.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.6/ref/settings/#databases
# https://docs.djangoproject.com/en/5.0/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'NAME': BASE_DIR / 'db.sqlite3',
}
}
# inherited default, look at changing to BigAutoField
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
# Password validation
# https://docs.djangoproject.com/en/5.0/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
# https://docs.djangoproject.com/en/1.6/topics/i18n/
# https://docs.djangoproject.com/en/5.0/topics/i18n/
LANGUAGE_CODE = 'en-us'
@ -107,8 +124,6 @@ TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
@ -117,15 +132,21 @@ SITE_ID = 1
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.6/howto/static-files/
# https://docs.djangoproject.com/en/5.0/howto/static-files/
STATIC_URL = '/static/'
STATIC_URL = 'static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
# Default primary key field type
# https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
REST_FRAMEWORK = {
# Use Django's standard `django.contrib.auth` permissions,
# or allow read-only access for unauthenticated users.

View File

@ -2,7 +2,6 @@
from django.db import models, migrations
import datetime
from django.utils.timezone import utc
class Migration(migrations.Migration):
@ -15,7 +14,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='fact',
name='time',
field=models.DateTimeField(default=datetime.datetime(2015, 6, 20, 15, 22, 20, 481856, tzinfo=utc), auto_now_add=True),
field=models.DateTimeField(default=datetime.datetime(2015, 6, 20, 15, 22, 20, 481856, tzinfo=datetime.timezone.utc), auto_now_add=True),
preserve_default=False,
),
]

View File

@ -0,0 +1,23 @@
# Generated by Django 5.0.4 on 2024-05-03 17:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('facts', '0006_factcategory_show_all_entries'),
]
operations = [
migrations.AlterField(
model_name='fact',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='factcategory',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

View File

@ -36,5 +36,3 @@ admin.site.register(BotUser)
admin.site.register(IrcChannel)
admin.site.register(IrcPlugin)
admin.site.register(IrcServer)
admin.site.register_view('ircbot/privmsg/', "Ircbot - privmsg", view=send_privmsg, urlname='ircbot_privmsg')

View File

@ -0,0 +1,38 @@
# Generated by Django 5.0.4 on 2024-05-03 17:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ircbot', '0019_ircchannel_discord_bridge'),
]
operations = [
migrations.AlterField(
model_name='alias',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='botuser',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='ircchannel',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='ircplugin',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='ircserver',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

View File

@ -0,0 +1,23 @@
# Generated by Django 5.0.4 on 2024-05-03 17:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('karma', '0002_auto_20150519_2156'),
]
operations = [
migrations.AlterField(
model_name='karmakey',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='karmalogentry',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

View File

@ -105,8 +105,3 @@ def teach_line(request):
form = TeachLineForm()
return render(request, 'markov/teach_line.html', {'form': form})
admin.site.register_view('markov/importfile/', "Markov - Import log file", view=import_file,
urlname='markov_import_file')
admin.site.register_view('markov/teach/', "Markov - Teach line", view=teach_line, urlname='markov_teach_line')

View File

@ -0,0 +1,28 @@
# Generated by Django 5.0.4 on 2024-05-03 17:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('markov', '0008_alter_markovtarget_name'),
]
operations = [
migrations.AlterField(
model_name='markovcontext',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='markovstate',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='markovtarget',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

View File

@ -0,0 +1,18 @@
# Generated by Django 5.0.4 on 2024-05-03 17:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('pi', '0004_simulation_x_y_logging'),
]
operations = [
migrations.AlterField(
model_name='pilog',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

View File

@ -0,0 +1,23 @@
# Generated by Django 5.0.4 on 2024-05-03 17:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('races', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='racer',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='raceupdate',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

View File

@ -45,7 +45,7 @@ cryptography==42.0.5
# via authlib
distlib==0.3.8
# via virtualenv
django==3.2.25
django==5.0.4
# via
# -r requirements/requirements.in
# django-bootstrap3
@ -53,7 +53,7 @@ django==3.2.25
# djangorestframework
django-adminplus==0.6
# via -r requirements/requirements.in
django-bootstrap3==23.6
django-bootstrap3==24.2
# via -r requirements/requirements.in
django-extensions==3.2.3
# via -r requirements/requirements.in
@ -206,7 +206,6 @@ python-mpd2==3.1.1
pytz==2024.1
# via
# -r requirements/requirements.in
# django
# irc
# tempora
pyyaml==6.0.1

View File

@ -1,4 +1,4 @@
Django<4.0 # core
Django # core
django-adminplus # admin.site.register_view
django-bootstrap3 # bootstrap layout
django-extensions # more commands

View File

@ -10,7 +10,7 @@ autocommand==2.2.2
# via jaraco-text
backports-tarfile==1.1.1
# via jaraco-context
django==3.2.25
django==5.0.4
# via
# -r requirements/requirements.in
# django-bootstrap3
@ -18,7 +18,7 @@ django==3.2.25
# djangorestframework
django-adminplus==0.6
# via -r requirements/requirements.in
django-bootstrap3==23.6
django-bootstrap3==24.2
# via -r requirements/requirements.in
django-extensions==3.2.3
# via -r requirements/requirements.in
@ -62,7 +62,6 @@ python-mpd2==3.1.1
pytz==2024.1
# via
# -r requirements/requirements.in
# django
# irc
# tempora
six==1.16.0

View File

@ -0,0 +1,18 @@
# Generated by Django 5.0.4 on 2024-05-03 17:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('seen', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='seennick',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

View File

@ -2,7 +2,6 @@
from django.db import models, migrations
import datetime
from django.utils.timezone import utc
class Migration(migrations.Migration):
@ -15,7 +14,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='storycraftgame',
name='create_time',
field=models.DateTimeField(default=datetime.datetime(2015, 6, 20, 1, 51, 18, 778824, tzinfo=utc), auto_now_add=True),
field=models.DateTimeField(default=datetime.datetime(2015, 6, 20, 1, 51, 18, 778824, tzinfo=datetime.timezone.utc), auto_now_add=True),
preserve_default=False,
),
]

View File

@ -0,0 +1,28 @@
# Generated by Django 5.0.4 on 2024-05-03 17:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('storycraft', '0005_storycraftgame_create_time'),
]
operations = [
migrations.AlterField(
model_name='storycraftgame',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='storycraftline',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
migrations.AlterField(
model_name='storycraftplayer',
name='id',
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
),
]

46
tox.ini
View File

@ -4,7 +4,7 @@
# and then run "tox" from this directory.
[tox]
envlist = begin,py38,py39,py310,py311,coverage,security,lint,bundle
envlist = begin,py310,py311,coverage,security,lint,bundle
[testenv]
# build a wheel and test it
@ -31,50 +31,6 @@ deps = setuptools
skip_install = true
commands = coverage erase
[testenv:py38]
# run pytest with coverage
commands =
pytest --cov-append --cov-branch \
--cov={envsitepackagesdir}/acro/ \
--cov={envsitepackagesdir}/countdown/ \
--cov={envsitepackagesdir}/dice/ \
--cov={envsitepackagesdir}/dispatch/ \
--cov={envsitepackagesdir}/dr_botzo/ \
--cov={envsitepackagesdir}/facts/ \
--cov={envsitepackagesdir}/gitlab_bot/ \
--cov={envsitepackagesdir}/ircbot/ \
--cov={envsitepackagesdir}/karma/ \
--cov={envsitepackagesdir}/markov/ \
--cov={envsitepackagesdir}/mpdbot/ \
--cov={envsitepackagesdir}/pi/ \
--cov={envsitepackagesdir}/races/ \
--cov={envsitepackagesdir}/seen/ \
--cov={envsitepackagesdir}/storycraft/ \
--cov={envsitepackagesdir}/transform/ \
--cov={envsitepackagesdir}/weather/
[testenv:py39]
# run pytest with coverage
commands =
pytest --cov-append --cov-branch \
--cov={envsitepackagesdir}/acro/ \
--cov={envsitepackagesdir}/countdown/ \
--cov={envsitepackagesdir}/dice/ \
--cov={envsitepackagesdir}/dispatch/ \
--cov={envsitepackagesdir}/dr_botzo/ \
--cov={envsitepackagesdir}/facts/ \
--cov={envsitepackagesdir}/gitlab_bot/ \
--cov={envsitepackagesdir}/ircbot/ \
--cov={envsitepackagesdir}/karma/ \
--cov={envsitepackagesdir}/markov/ \
--cov={envsitepackagesdir}/mpdbot/ \
--cov={envsitepackagesdir}/pi/ \
--cov={envsitepackagesdir}/races/ \
--cov={envsitepackagesdir}/seen/ \
--cov={envsitepackagesdir}/storycraft/ \
--cov={envsitepackagesdir}/transform/ \
--cov={envsitepackagesdir}/weather/
[testenv:py310]
# run pytest with coverage
commands =