Skip to content

Commit

Permalink
wip: continue work on updating intial models
Browse files Browse the repository at this point in the history
  • Loading branch information
Nolski committed Oct 7, 2020
1 parent dc3a0c1 commit 32e44c4
Show file tree
Hide file tree
Showing 7 changed files with 244 additions and 65 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
__pycache__
venv
47 changes: 47 additions & 0 deletions torquedata/core/management/commands/upload_all_toc
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
pipenv run python manage.py upload_toc \
DemoView \
/var/www/torque/spreadsheets/DemoView/tocs/AllProposals.j2 \
/var/www/torque/spreadsheets/DemoView/tocs/AllProposals.json \
--name AllProposals


pipenv run python manage.py upload_toc \
DemoView \
/var/www/torque/spreadsheets/DemoView/tocs/Geographic_TOC.j2 \
/var/www/torque/spreadsheets/DemoView/tocs/Geographic_TOC.json \
--name Geographic_TOC


pipenv run python manage.py upload_toc \
DemoView \
/var/www/torque/spreadsheets/DemoView/tocs/Population_TOC.j2 \
/var/www/torque/spreadsheets/DemoView/tocs/Population_TOC.json \
--name Population_TOC


pipenv run python manage.py upload_toc \
DemoView \
/var/www/torque/spreadsheets/DemoView/tocs/Top13.j2 \
/var/www/torque/spreadsheets/DemoView/tocs/Top13.json \
--name Top13


pipenv run python manage.py upload_toc \
DemoView \
/var/www/torque/spreadsheets/DemoView/tocs/Top25.j2 \
/var/www/torque/spreadsheets/DemoView/tocs/Top25.json \
--name Top25


pipenv run python manage.py upload_toc \
DemoView \
/var/www/torque/spreadsheets/DemoView/tocs/Top25_Topic_TOC.j2 \
/var/www/torque/spreadsheets/DemoView/tocs/Top25_Topic_TOC.json \
--name Top25_Topic_TOC


pipenv run python manage.py upload_toc \
DemoView \
/var/www/torque/spreadsheets/DemoView/tocs/Topic_TOC.j2 \
/var/www/torque/spreadsheets/DemoView/tocs/Topic_TOC.json \
--name Topic_TOC
34 changes: 21 additions & 13 deletions torquedata/core/management/commands/upload_toc.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,33 @@
from pathlib import Path
from django.core.management import BaseCommand
from core.models import Spreadsheet, TableOfContents
from core.models import Spreadsheet, TableOfContents, Template


class Command(BaseCommand):
requires_migrations_checks = True

def add_arguments(self, parser):
parser.add_argument('sheet')
parser.add_argument('json_file', type=Path)
parser.add_argument('template_file', type=Path)
parser.add_argument('--name')
parser.add_argument("sheet")
parser.add_argument("json_file", type=Path)
parser.add_argument("template_file", type=Path)
parser.add_argument("template_type")
parser.add_argument("--name")

def handle(self, *args, **options):
try:
sheet = Spreadsheet.objects.get(name=options['sheet'])
sheet = Spreadsheet.objects.get(name=options["sheet"])
except Spreadsheet.DoesNotExist:
self.stderr.write(f"Sheet {options['sheet']} does not exist in the torquedata database.")
self.stderr.write(
f"Sheet {options['sheet']} does not exist in the torquedata database."
)
return

json_file = options['json_file']
template_file = options['template_file']
json_file = options["json_file"]
template_file = options["template_file"]
template_type = options["template_type"]
import ipdb

ipdb.set_trace()
if not json_file.exists():
self.stderr.write(f'Path "{json_file}" does not exist.')
if not json_file.is_file():
Expand All @@ -30,10 +37,11 @@ def handle(self, *args, **options):
if not template_file.is_file():
self.stderr.write(f'Path "{template_file}" is not a file.')

template = Template(
sheet=sheet, type=template_type, template_file=template_file
)
template.save()
toc = TableOfContents(
sheet=sheet,
name=options['name'],
json_file=json_file,
template_file=template_file
sheet=sheet, name=options["name"], json_file=json_file, template=template
)
toc.save()
59 changes: 49 additions & 10 deletions torquedata/core/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by Django 3.1.1 on 2020-09-22 00:18
# Generated by Django 3.1.1 on 2020-10-07 14:53

from django.db import migrations, models
import django.db.models.deletion
Expand All @@ -13,12 +13,26 @@ class Migration(migrations.Migration):

operations = [
migrations.CreateModel(
name='Spreadsheet',
name='Column',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
('type', models.CharField(max_length=255)),
],
),
migrations.CreateModel(
name='Permission',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('permission_type', models.CharField(max_length=255)),
],
),
migrations.CreateModel(
name='Spreadsheet',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('object_name', models.CharField(max_length=255)),
('columns', models.JSONField()),
('key_column', models.TextField()),
],
),
Expand All @@ -33,7 +47,6 @@ class Migration(migrations.Migration):
name='Template',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('wiki_key', models.TextField()),
('type', models.TextField()),
('name', models.TextField()),
('is_default', models.BooleanField(default=False)),
Expand All @@ -47,8 +60,8 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.TextField()),
('json_file', models.TextField()),
('template_file', models.TextField()),
('sheet', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tablesofcontents', to='core.spreadsheet')),
('sheet', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tables_of_contents', to='core.spreadsheet')),
('template', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tocs', to='core.template')),
],
),
migrations.CreateModel(
Expand All @@ -57,8 +70,6 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('wiki_key', models.TextField()),
('group', models.TextField()),
('valid_ids', models.JSONField()),
('valid_columns', models.JSONField()),
('sheet', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='configs', to='core.spreadsheet')),
],
),
Expand All @@ -68,8 +79,36 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('key', models.TextField()),
('row_number', models.PositiveIntegerField()),
('data', models.JSONField()),
('sheet', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rows', to='core.spreadsheet')),
('sheet_config', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='valid_ids', to='core.sheetconfig')),
],
),
migrations.CreateModel(
name='PermissionGroup',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
('object_name', models.CharField(max_length=255)),
('columns', models.ManyToManyField(to='core.Column')),
],
),
migrations.AddField(
model_name='column',
name='sheet',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='columns', to='core.spreadsheet'),
),
migrations.AddField(
model_name='column',
name='sheet_config',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='valid_columns', to='core.sheetconfig'),
),
migrations.CreateModel(
name='Cell',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('value', models.CharField(max_length=255, null=True)),
('column', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='column', to='core.column')),
('row', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cells', to='core.row')),
],
),
migrations.CreateModel(
Expand All @@ -80,7 +119,7 @@ class Migration(migrations.Migration):
('object_id', models.TextField()),
('permissions_column', models.TextField()),
('file', models.FileField(upload_to='')),
('sheet', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='core.spreadsheet')),
('cell', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='core.cell')),
],
),
migrations.AddConstraint(
Expand Down
Loading

0 comments on commit 32e44c4

Please sign in to comment.