diff --git a/countdown/migrations/0008_alter_countdownitem_id.py b/countdown/migrations/0008_alter_countdownitem_id.py new file mode 100644 index 0000000..53ec37a --- /dev/null +++ b/countdown/migrations/0008_alter_countdownitem_id.py @@ -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'), + ), + ] diff --git a/dispatch/migrations/0008_alter_dispatcher_id_alter_dispatcheraction_id.py b/dispatch/migrations/0008_alter_dispatcher_id_alter_dispatcheraction_id.py new file mode 100644 index 0000000..ad2a077 --- /dev/null +++ b/dispatch/migrations/0008_alter_dispatcher_id_alter_dispatcheraction_id.py @@ -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'), + ), + ] diff --git a/dr_botzo/settings.py b/dr_botzo/settings.py index 083d9e4..59b4dd9 100644 --- a/dr_botzo/settings.py +++ b/dr_botzo/settings.py @@ -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. diff --git a/facts/migrations/0004_fact_time.py b/facts/migrations/0004_fact_time.py index 38e5b1f..38c9d0a 100644 --- a/facts/migrations/0004_fact_time.py +++ b/facts/migrations/0004_fact_time.py @@ -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, ), ] diff --git a/facts/migrations/0007_alter_fact_id_alter_factcategory_id.py b/facts/migrations/0007_alter_fact_id_alter_factcategory_id.py new file mode 100644 index 0000000..152ec48 --- /dev/null +++ b/facts/migrations/0007_alter_fact_id_alter_factcategory_id.py @@ -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'), + ), + ] diff --git a/ircbot/admin.py b/ircbot/admin.py index 08dab20..6051ecb 100644 --- a/ircbot/admin.py +++ b/ircbot/admin.py @@ -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') diff --git a/ircbot/migrations/0020_alter_alias_id_alter_botuser_id_alter_ircchannel_id_and_more.py b/ircbot/migrations/0020_alter_alias_id_alter_botuser_id_alter_ircchannel_id_and_more.py new file mode 100644 index 0000000..c9946fc --- /dev/null +++ b/ircbot/migrations/0020_alter_alias_id_alter_botuser_id_alter_ircchannel_id_and_more.py @@ -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'), + ), + ] diff --git a/karma/migrations/0003_alter_karmakey_id_alter_karmalogentry_id.py b/karma/migrations/0003_alter_karmakey_id_alter_karmalogentry_id.py new file mode 100644 index 0000000..e2f1635 --- /dev/null +++ b/karma/migrations/0003_alter_karmakey_id_alter_karmalogentry_id.py @@ -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'), + ), + ] diff --git a/markov/admin.py b/markov/admin.py index becee38..393077f 100644 --- a/markov/admin.py +++ b/markov/admin.py @@ -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') diff --git a/markov/migrations/0009_alter_markovcontext_id_alter_markovstate_id_and_more.py b/markov/migrations/0009_alter_markovcontext_id_alter_markovstate_id_and_more.py new file mode 100644 index 0000000..3cc4bb4 --- /dev/null +++ b/markov/migrations/0009_alter_markovcontext_id_alter_markovstate_id_and_more.py @@ -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'), + ), + ] diff --git a/pi/migrations/0005_alter_pilog_id.py b/pi/migrations/0005_alter_pilog_id.py new file mode 100644 index 0000000..d7c4f86 --- /dev/null +++ b/pi/migrations/0005_alter_pilog_id.py @@ -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'), + ), + ] diff --git a/races/migrations/0002_alter_racer_id_alter_raceupdate_id.py b/races/migrations/0002_alter_racer_id_alter_raceupdate_id.py new file mode 100644 index 0000000..c3dcd7b --- /dev/null +++ b/races/migrations/0002_alter_racer_id_alter_raceupdate_id.py @@ -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'), + ), + ] diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index b057ce4..ba28a18 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -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 diff --git a/requirements/requirements.in b/requirements/requirements.in index 30c4252..0dff09a 100644 --- a/requirements/requirements.in +++ b/requirements/requirements.in @@ -1,4 +1,4 @@ -Django<4.0 # core +Django # core django-adminplus # admin.site.register_view django-bootstrap3 # bootstrap layout django-extensions # more commands diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 1329d52..c3479fa 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -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 diff --git a/seen/migrations/0002_alter_seennick_id.py b/seen/migrations/0002_alter_seennick_id.py new file mode 100644 index 0000000..991cd6b --- /dev/null +++ b/seen/migrations/0002_alter_seennick_id.py @@ -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'), + ), + ] diff --git a/storycraft/migrations/0005_storycraftgame_create_time.py b/storycraft/migrations/0005_storycraftgame_create_time.py index 55947d8..2694081 100644 --- a/storycraft/migrations/0005_storycraftgame_create_time.py +++ b/storycraft/migrations/0005_storycraftgame_create_time.py @@ -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, ), ] diff --git a/storycraft/migrations/0006_alter_storycraftgame_id_alter_storycraftline_id_and_more.py b/storycraft/migrations/0006_alter_storycraftgame_id_alter_storycraftline_id_and_more.py new file mode 100644 index 0000000..7a505a6 --- /dev/null +++ b/storycraft/migrations/0006_alter_storycraftgame_id_alter_storycraftline_id_and_more.py @@ -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'), + ), + ] diff --git a/tox.ini b/tox.ini index 9f6c921..5208389 100644 --- a/tox.ini +++ b/tox.ini @@ -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 =