From 601ffd44c815f71ce358a8732a9a15c0b6e59510 Mon Sep 17 00:00:00 2001 From: stupidcomputer Date: Tue, 23 Jul 2024 23:51:37 -0500 Subject: [PATCH] maint: squash migrations into one --- .../explorer/migrations/0001_initial.py | 39 ------------------- .../0002_legislativetext_legislation_title.py | 19 --------- ...ationbook_has_performed_export_and_more.py | 23 ----------- .../0004_legislationclassification.py | 21 ---------- ...egislationclassification_obvious_change.py | 19 --------- ...egislationclassification_obvious_change.py | 17 -------- ...vetext_category_legislativetext_country.py | 24 ------------ ...008_school_alter_legislativetext_school.py | 26 ------------- ...9_country_alter_legislativetext_country.py | 26 ------------- franklincce/explorer/migrations/__init__.py | 0 franklincce/explorer/models.py | 21 +++++++++- 11 files changed, 20 insertions(+), 215 deletions(-) delete mode 100644 franklincce/explorer/migrations/0001_initial.py delete mode 100644 franklincce/explorer/migrations/0002_legislativetext_legislation_title.py delete mode 100644 franklincce/explorer/migrations/0003_legislationbook_has_performed_export_and_more.py delete mode 100644 franklincce/explorer/migrations/0004_legislationclassification.py delete mode 100644 franklincce/explorer/migrations/0005_legislationclassification_obvious_change.py delete mode 100644 franklincce/explorer/migrations/0006_remove_legislationclassification_obvious_change.py delete mode 100644 franklincce/explorer/migrations/0007_legislativetext_category_legislativetext_country.py delete mode 100644 franklincce/explorer/migrations/0008_school_alter_legislativetext_school.py delete mode 100644 franklincce/explorer/migrations/0009_country_alter_legislativetext_country.py delete mode 100644 franklincce/explorer/migrations/__init__.py diff --git a/franklincce/explorer/migrations/0001_initial.py b/franklincce/explorer/migrations/0001_initial.py deleted file mode 100644 index 40722dc..0000000 --- a/franklincce/explorer/migrations/0001_initial.py +++ /dev/null @@ -1,39 +0,0 @@ -# Generated by Django 4.2.12 on 2024-06-19 06:53 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='LegislationBook', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('conference_type', models.CharField(choices=[('M', 'Middle School'), ('H', 'High School')], default='H', max_length=1)), - ('pdf', models.FileField(upload_to='uploads/')), - ('name', models.CharField(max_length=256)), - ('import_strategy', models.CharField(max_length=128)), - ], - ), - migrations.CreateModel( - name='LegislativeText', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('assembly', models.CharField(choices=[('RGA', 'Red General Assembly'), ('BGA', 'Blue General Assembly'), ('WGA', 'White General Assembly'), ('RHB', 'Red House'), ('BHB', 'Blue House'), ('WHB', 'White House'), ('RSB', 'Red Senate'), ('BSB', 'Blue Senate'), ('WSB', 'White Senate'), ('SEN', 'Senate'), ('HOU', 'House'), ('GEN', 'General Assembly')], default='GEN', max_length=3)), - ('text', models.TextField()), - ('year', models.IntegerField()), - ('committee', models.IntegerField()), - ('docket_order', models.IntegerField()), - ('school', models.CharField(max_length=256)), - ('sponsors', models.CharField(max_length=256)), - ('from_book', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='explorer.legislationbook')), - ], - ), - ] diff --git a/franklincce/explorer/migrations/0002_legislativetext_legislation_title.py b/franklincce/explorer/migrations/0002_legislativetext_legislation_title.py deleted file mode 100644 index 27ad0bc..0000000 --- a/franklincce/explorer/migrations/0002_legislativetext_legislation_title.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.2.12 on 2024-06-19 07:22 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('explorer', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='legislativetext', - name='legislation_title', - field=models.CharField(default='Sample title', max_length=512), - preserve_default=False, - ), - ] diff --git a/franklincce/explorer/migrations/0003_legislationbook_has_performed_export_and_more.py b/franklincce/explorer/migrations/0003_legislationbook_has_performed_export_and_more.py deleted file mode 100644 index c637710..0000000 --- a/franklincce/explorer/migrations/0003_legislationbook_has_performed_export_and_more.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.2.12 on 2024-06-19 17:36 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('explorer', '0002_legislativetext_legislation_title'), - ] - - operations = [ - migrations.AddField( - model_name='legislationbook', - name='has_performed_export', - field=models.BooleanField(default=False), - ), - migrations.AlterField( - model_name='legislationbook', - name='import_strategy', - field=models.CharField(choices=[('HSYIGBookParser', 'High School YIG Book Parser 1'), ('HSMUNBookParser', 'High School MUN Book Parser 1')], default='HSYIGBookParser', max_length=128), - ), - ] diff --git a/franklincce/explorer/migrations/0004_legislationclassification.py b/franklincce/explorer/migrations/0004_legislationclassification.py deleted file mode 100644 index acd0d38..0000000 --- a/franklincce/explorer/migrations/0004_legislationclassification.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 4.2.12 on 2024-06-28 20:53 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('explorer', '0003_legislationbook_has_performed_export_and_more'), - ] - - operations = [ - migrations.CreateModel( - name='LegislationClassification', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(help_text='Name of this classification.', max_length=256)), - ('text_to_match', models.CharField(help_text='a comma seperated list of keywords to include in the classification. spaces and dashes are discluded.', max_length=256)), - ], - ), - ] diff --git a/franklincce/explorer/migrations/0005_legislationclassification_obvious_change.py b/franklincce/explorer/migrations/0005_legislationclassification_obvious_change.py deleted file mode 100644 index 208a48c..0000000 --- a/franklincce/explorer/migrations/0005_legislationclassification_obvious_change.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.2.12 on 2024-06-28 21:07 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('explorer', '0004_legislationclassification'), - ] - - operations = [ - migrations.AddField( - model_name='legislationclassification', - name='obvious_change', - field=models.CharField(default='test', help_text='Name of this classification.', max_length=256), - preserve_default=False, - ), - ] diff --git a/franklincce/explorer/migrations/0006_remove_legislationclassification_obvious_change.py b/franklincce/explorer/migrations/0006_remove_legislationclassification_obvious_change.py deleted file mode 100644 index 33b97cb..0000000 --- a/franklincce/explorer/migrations/0006_remove_legislationclassification_obvious_change.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 4.2.12 on 2024-06-28 21:08 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('explorer', '0005_legislationclassification_obvious_change'), - ] - - operations = [ - migrations.RemoveField( - model_name='legislationclassification', - name='obvious_change', - ), - ] diff --git a/franklincce/explorer/migrations/0007_legislativetext_category_legislativetext_country.py b/franklincce/explorer/migrations/0007_legislativetext_category_legislativetext_country.py deleted file mode 100644 index ffa8289..0000000 --- a/franklincce/explorer/migrations/0007_legislativetext_category_legislativetext_country.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 4.2.12 on 2024-06-30 03:14 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('explorer', '0006_remove_legislationclassification_obvious_change'), - ] - - operations = [ - migrations.AddField( - model_name='legislativetext', - name='category', - field=models.CharField(default='', max_length=256), - preserve_default=False, - ), - migrations.AddField( - model_name='legislativetext', - name='country', - field=models.CharField(blank=True, max_length=512, null=True), - ), - ] diff --git a/franklincce/explorer/migrations/0008_school_alter_legislativetext_school.py b/franklincce/explorer/migrations/0008_school_alter_legislativetext_school.py deleted file mode 100644 index 0dd47e4..0000000 --- a/franklincce/explorer/migrations/0008_school_alter_legislativetext_school.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 4.2.12 on 2024-06-30 03:57 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('explorer', '0007_legislativetext_category_legislativetext_country'), - ] - - operations = [ - migrations.CreateModel( - name='School', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=256)), - ], - ), - migrations.AlterField( - model_name='legislativetext', - name='school', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='explorer.school'), - ), - ] diff --git a/franklincce/explorer/migrations/0009_country_alter_legislativetext_country.py b/franklincce/explorer/migrations/0009_country_alter_legislativetext_country.py deleted file mode 100644 index 64afa22..0000000 --- a/franklincce/explorer/migrations/0009_country_alter_legislativetext_country.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 4.2.12 on 2024-06-30 04:26 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('explorer', '0008_school_alter_legislativetext_school'), - ] - - operations = [ - migrations.CreateModel( - name='Country', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=256)), - ], - ), - migrations.AlterField( - model_name='legislativetext', - name='country', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='explorer.country'), - ), - ] diff --git a/franklincce/explorer/migrations/__init__.py b/franklincce/explorer/migrations/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/franklincce/explorer/models.py b/franklincce/explorer/models.py index 7db53e5..7423be2 100644 --- a/franklincce/explorer/models.py +++ b/franklincce/explorer/models.py @@ -44,6 +44,16 @@ class Country(models.Model): our_name = __class__.__name__ return reverse("{}.detail".format(our_name), kwargs={"model_id": self.id}) +class Sponsor(models.Model): + name = models.CharField(max_length=256) + + def __str__(self): + return self.name + + def get_absolute_url(self): + our_name = __class__.__name__ + return reverse("{}.detail".format(our_name), kwargs={"model_id": self.id}) + class LegislationBook(models.Model): class Meta: verbose_name = "Book" @@ -94,9 +104,18 @@ class LegislationBook(models.Model): # handle that gracefully text["country"] = text["country"].replace(" 2", "") text["country"] = InstantiateIfNone(Country, text["country"]) + + sponsors = text["sponsors"].split(', ') + sponsors = [InstantiateIfNone(Sponsor, i) for i in sponsors] + + del text["sponsors"] + text = LegislativeText(**text, from_book=self) text.save() + for sponsor in sponsors: + text.upgraded_sponsors.add(sponsor) + def __str__(self): return "{}".format(self.name) @@ -130,7 +149,7 @@ class LegislativeText(models.Model): category = models.CharField(max_length=256) docket_order = models.IntegerField() school = models.ForeignKey(School, on_delete=models.CASCADE) - sponsors = models.CharField(max_length=256) + sponsors = models.ManyToManyField(Sponsor) from_book = models.ForeignKey(LegislationBook, on_delete=models.CASCADE) legislation_title = models.CharField(max_length=512) country = models.ForeignKey(Country, on_delete=models.CASCADE, null=True)