diff --git a/README.md b/README.md index 70b5246e..3bdabfeb 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,8 @@ VieCPro specific django-apps are added in the root directory, separate from apis ### Table names vs. app names: -For compatibility with prior versions of this repository, where some apps had different names, all table-names of VieCPro specific apps are hardcoded -in all confliciting models via the 'meta.db_table' attribute; i.e. django app names and the prefix of the table names in your database do not exactly match. The mapping is as follows: - -- `viecpro_import` == `apis_import_project` -- `viecpro_deduplication` == `dubletten_tool` - -So the db-table for f.e. `viecpro_deduplication.models.group` is named `dubletten_tool_group` not `viecpro_deduplication_group`. - -See the [Table Names](https://docs.djangoproject.com/en/4.2/ref/models/options/#table-names) - section of the django docs on how django handles model names and table names. +In prior version of this repo, app-names had been changed. This change had no benefits atm and was potential cause for issues. +So it was reverted. ## Development Container diff --git a/apis/settings/apisviecpro_backend_prod.py b/apis/settings/apisviecpro_backend_prod.py index c9e92d53..59ae0e9d 100644 --- a/apis/settings/apisviecpro_backend_prod.py +++ b/apis/settings/apisviecpro_backend_prod.py @@ -48,8 +48,8 @@ SPECTACULAR_SETTINGS["COMPONENT_NO_READ_ONLY_REQUIRED"] = True -INSTALLED_APPS += ["django_extensions", "viecpro_import", "apis_bibsonomy", "apis_ampel", - "viecpro_deduplication", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] +INSTALLED_APPS += ["django_extensions", "apis_import_project", "apis_bibsonomy", "apis_ampel", + "dubletten_tool", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] DATABASES = {"default": @@ -119,7 +119,7 @@ TEMPLATES[0]["DIRS"] += [ROBOTS_TXT_FOLDER, ] -VIECPRO_IMPORT_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" +apis_import_project_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" # Bibsonomy Settings diff --git a/apis/settings/apisviecpro_backend_test.py b/apis/settings/apisviecpro_backend_test.py index a72573c3..438e5a77 100644 --- a/apis/settings/apisviecpro_backend_test.py +++ b/apis/settings/apisviecpro_backend_test.py @@ -48,8 +48,8 @@ SPECTACULAR_SETTINGS["COMPONENT_NO_READ_ONLY_REQUIRED"] = True -INSTALLED_APPS += ["django_extensions", "viecpro_import","apis_bibsonomy", "apis_ampel", - "viecpro_deduplication", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] +INSTALLED_APPS += ["django_extensions", "apis_import_project","apis_bibsonomy", "apis_ampel", + "dubletten_tool", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] DATABASES = {"default": @@ -119,7 +119,7 @@ TEMPLATES[0]["DIRS"] += [ROBOTS_TXT_FOLDER, ] -VIECPRO_IMPORT_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" +apis_import_project_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" # Bibsonomy Settings diff --git a/apis/settings/dev.py b/apis/settings/dev.py index 49d32805..be59f17b 100644 --- a/apis/settings/dev.py +++ b/apis/settings/dev.py @@ -47,8 +47,8 @@ SPECTACULAR_SETTINGS["COMPONENT_NO_READ_ONLY_REQUIRED"] = True -INSTALLED_APPS += ["django_extensions", "viecpro_import", "debug_toolbar", "apis_bibsonomy", "apis_ampel", - "viecpro_deduplication", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] +INSTALLED_APPS += ["django_extensions", "apis_import_project", "debug_toolbar", "apis_bibsonomy", "apis_ampel", + "dubletten_tool", "viecpro_hierarchy", "viecpro_typesense", "viecpro_typesense_detail", "django_celery_results"] DATABASES = {"default": @@ -118,7 +118,7 @@ TEMPLATES[0]["DIRS"] += [ROBOTS_TXT_FOLDER, ] -VIECPRO_IMPORT_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" +apis_import_project_IIIF_BASE_URL = "https://iiif.acdh-dev.oeaw.ac.at/iiif/images/viecpro/" # Bibsonomy Settings diff --git a/apis/urls.py b/apis/urls.py index ebf83594..305c3791 100644 --- a/apis/urls.py +++ b/apis/urls.py @@ -26,13 +26,13 @@ urlpatterns.insert(0, url(r'^visualisations/', include("viecpro_hierarchy.urls", namespace="viecpro_hierarchy")) ) -if 'viecpro_import' in settings.INSTALLED_APPS: +if 'apis_import_project' in settings.INSTALLED_APPS: urlpatterns = urlpatterns + [ - url(r'^viecpro_import/', include("viecpro_import.urls", namespace="viecpro_import"))] + url(r'^apis_import_project/', include("apis_import_project.urls", namespace="apis_import_project"))] -if 'viecpro_deduplication' in settings.INSTALLED_APPS: +if 'dubletten_tool' in settings.INSTALLED_APPS: urlpatterns = urlpatterns + [ - url(r'^dubletten/', include("viecpro_deduplication.urls", namespace="viecpro_deduplication")), + url(r'^dubletten/', include("dubletten_tool.urls", namespace="dubletten_tool")), ] if "apis_bibsonomy" in settings.INSTALLED_APPS: diff --git a/viecpro_import/__init__.py b/apis_import_project/__init__.py similarity index 100% rename from viecpro_import/__init__.py rename to apis_import_project/__init__.py diff --git a/viecpro_deduplication/admin.py b/apis_import_project/admin.py similarity index 100% rename from viecpro_deduplication/admin.py rename to apis_import_project/admin.py diff --git a/viecpro_import/apps.py b/apis_import_project/apps.py similarity index 69% rename from viecpro_import/apps.py rename to apis_import_project/apps.py index 1e8e4842..1896e790 100644 --- a/viecpro_import/apps.py +++ b/apis_import_project/apps.py @@ -2,4 +2,4 @@ class ViecproImportConfig(AppConfig): - name = 'viecpro_import' + name = 'apis_import_project' diff --git a/viecpro_import/forms.py b/apis_import_project/forms.py similarity index 98% rename from viecpro_import/forms.py rename to apis_import_project/forms.py index 65a4679f..ef5b23cd 100644 --- a/viecpro_import/forms.py +++ b/apis_import_project/forms.py @@ -24,7 +24,7 @@ from apis_core.apis_relations.models import AbstractRelation from apis_core.apis_vocabularies.models import VocabsBaseClass, AbstractRelationType from apis_core.apis_labels.forms import LabelForm -from viecpro_import.tables import get_generic_relations_table +from apis_import_project.tables import get_generic_relations_table from apis_core.helper_functions import DateParser @@ -94,7 +94,7 @@ def __init__(self, user=None, *args, **kwargs): self.helper.add_input(Submit("submit", "Submit")) self.helper.add_input(Button('cancel', 'Cancel', css_class='btn-danger', onclick="window.location.href = '{}';".format( - reverse('viecpro_import:project_main')))) + reverse('apis_import_project:project_main')))) class UploadFileForm(forms.Form): @@ -424,7 +424,7 @@ class GenericLabelForm(LabelForm): # super(GenericLabelForm, self).__init__(*args, **kwargs) # self.helper.form_tag = True # self.helper.form_method = "post" -# self.helper.form_action = f"/viecpro_import/create_item/Label" +# self.helper.form_action = f"/apis_import_project/create_item/Label" def get_generic_vocabs_form(model_name): module = "apis_core.apis_vocabularies.models" @@ -444,7 +444,7 @@ def __init__(self, *args, **kwargs): Submit("submit", "save", css_class=f"{model_name}Form")) self.helper.form_method = "post" self.helper.form_class = "form pdf_tool_itemcreate" - self.helper.form_action = reverse("viecpro_import:item_create", kwargs={ + self.helper.form_action = reverse("apis_import_project:item_create", kwargs={ "model_name": model_name}) self.helper.layout = Layout(Field("name", id=f"{model_name}_name_field")) @@ -470,7 +470,7 @@ def __init__(self, *args, **kwargs): Submit("submit", "save", css_class=f"{model_name}Form")) self.helper.form_method = "post" self.helper.form_class = "form pdf_tool_itemcreate" - self.helper.form_action = reverse("viecpro_import:item_create", kwargs={ + self.helper.form_action = reverse("apis_import_project:item_create", kwargs={ "model_name": model_name}) self.helper.layout = Layout(Field("name", id=f"{model_name}Form_name_field"), Field("name_reverse", id=f"{model_name}Form_name_reverse_field")) @@ -496,7 +496,7 @@ def __init__(self, *args, **kwargs): Submit("submit", "save", css_class=f"{model_name}Form")) self.helper.form_method = "post" self.helper.form_class = "form pdf_tool_itemcreate" - self.helper.form_action = reverse("viecpro_import:item_create", kwargs={ + self.helper.form_action = reverse("apis_import_project:item_create", kwargs={ "model_name": model_name}) self.helper.layout = Layout(Field("name", id=f"{model_name}Form_name_field"), Field("description", id=f"{model_name}Form_description_field")) diff --git a/viecpro_import/logger.py b/apis_import_project/logger.py similarity index 100% rename from viecpro_import/logger.py rename to apis_import_project/logger.py diff --git a/viecpro_import/migrations/0001_initial.py b/apis_import_project/migrations/0001_initial.py similarity index 72% rename from viecpro_import/migrations/0001_initial.py rename to apis_import_project/migrations/0001_initial.py index 1d901445..12836c08 100644 --- a/viecpro_import/migrations/0001_initial.py +++ b/apis_import_project/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.18 on 2023-12-04 11:00 +# Generated by Django 2.2.11 on 2022-03-09 20:12 from django.conf import settings from django.db import migrations, models @@ -13,8 +13,8 @@ class Migration(migrations.Migration): ('contenttypes', '0002_remove_content_type_name'), ('apis_vocabularies', '0002_texttype_lang'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('apis_entities', '0004_auto_20200722_1231'), ('apis_metainfo', '0006_remove_text_lang'), + ('apis_entities', '0004_auto_20200722_1231'), ] operations = [ @@ -29,9 +29,6 @@ class Migration(migrations.Migration): ('year', models.CharField(max_length=10)), ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], - options={ - 'db_table': 'apis_import_project_datasource', - }, ), migrations.CreateModel( name='DataSourcePage', @@ -39,21 +36,15 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('page_index', models.IntegerField()), ('page_token', models.CharField(blank=True, max_length=20, null=True)), - ('DataSource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.datasource')), + ('DataSource', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.DataSource')), ], - options={ - 'db_table': 'apis_import_project_datasourcepage', - }, ), migrations.CreateModel( name='GenericCollectionEntry', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.contenttype')), + ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), ], - options={ - 'db_table': 'apis_import_project_genericcollectionentry', - }, ), migrations.CreateModel( name='ImportProject', @@ -61,75 +52,57 @@ class Migration(migrations.Migration): ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255)), ('description', models.TextField(blank=True, help_text='Describe your project here.', max_length=2000, null=True)), - ('DataSources', models.ManyToManyField(blank=True, help_text='Consider adding existing Datasources uploaded by you to this Project. Or upload/add additional Datasources later.', to='viecpro_import.DataSource')), + ('DataSources', models.ManyToManyField(blank=True, help_text='Consider adding existing Datasources uploaded by you to this Project. Or upload/add additional Datasources later.', to='apis_import_project.DataSource')), ('Editors', models.ManyToManyField(blank=True, help_text='Add users that should be able to edit this project.', related_name='Editors', to=settings.AUTH_USER_MODEL)), - ('collection', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_metainfo.collection')), + ('collection', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_metainfo.Collection')), ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='owner', to=settings.AUTH_USER_MODEL)), ], - options={ - 'db_table': 'apis_import_project_importproject', - }, ), migrations.CreateModel( name='PageCollection', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('created_in', models.ManyToManyField(related_name='created', to='viecpro_import.GenericCollectionEntry')), - ('edited_in', models.ManyToManyField(related_name='edited', to='viecpro_import.GenericCollectionEntry')), + ('created_in', models.ManyToManyField(related_name='created', to='apis_import_project.GenericCollectionEntry')), + ('edited_in', models.ManyToManyField(related_name='edited', to='apis_import_project.GenericCollectionEntry')), ], - options={ - 'db_table': 'apis_import_project_pagecollection', - }, ), migrations.CreateModel( name='ProjectState', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('last_datasource', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='viecpro_import.datasource')), - ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.importproject')), + ('last_datasource', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_import_project.DataSource')), + ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.ImportProject')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], - options={ - 'db_table': 'apis_import_project_projectstate', - }, ), migrations.CreateModel( name='ProjectCollectionEntry', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('json', models.TextField(blank=True)), - ('entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='last_json', to='viecpro_import.genericcollectionentry')), - ('project', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.importproject')), + ('entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='last_json', to='apis_import_project.GenericCollectionEntry')), + ('project', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.ImportProject')), ], - options={ - 'db_table': 'apis_import_project_projectcollectionentry', - }, ), migrations.CreateModel( name='PageData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('collection', models.OneToOneField(auto_created=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='viecpro_import.pagecollection')), - ('function', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_vocabularies.personinstitutionrelation')), - ('institution', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_entities.institution')), - ('page', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.datasourcepage')), - ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.importproject')), + ('collection', models.OneToOneField(auto_created=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_import_project.PageCollection')), + ('function', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_vocabularies.PersonInstitutionRelation')), + ('institution', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_entities.Institution')), + ('page', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.DataSourcePage')), + ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.ImportProject')), ], - options={ - 'db_table': 'apis_import_project_pagedata', - }, ), migrations.CreateModel( name='DataSourceProjectState', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('datasource', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.datasource')), - ('last_page', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='viecpro_import.datasourcepage')), - ('project', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='viecpro_import.importproject')), + ('datasource', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.DataSource')), + ('last_page', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='apis_import_project.DataSourcePage')), + ('project', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='apis_import_project.ImportProject')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], - options={ - 'db_table': 'apis_import_project_datasourceprojectstate', - }, ), ] diff --git a/viecpro_deduplication/__init__.py b/apis_import_project/migrations/__init__.py similarity index 100% rename from viecpro_deduplication/__init__.py rename to apis_import_project/migrations/__init__.py diff --git a/viecpro_import/models.py b/apis_import_project/models.py similarity index 96% rename from viecpro_import/models.py rename to apis_import_project/models.py index f95dfb60..d1490dac 100644 --- a/viecpro_import/models.py +++ b/apis_import_project/models.py @@ -19,7 +19,6 @@ log = logging.getLogger("mylogger") -table_base_name = "apis_import_project" class DataSource(models.Model): """ @@ -34,8 +33,6 @@ class DataSource(models.Model): Accessor functions allow traversing related DataSourcePage-objects and to get or set their metadata. """ - class Meta: - db_table = table_base_name + "_datasource" name = models.CharField(max_length=255, blank=False, null=False) server_directory = models.CharField(max_length=255, blank=False, null=False) @@ -54,7 +51,7 @@ def get_page_url(self, page_num): :rtype: str """ - base_path = settings.VIECPRO_IMPORT_IIIF_BASE_URL + base_path = settings.apis_import_project_IIIF_BASE_URL if not base_path.endswith("/"): base_path += "/" @@ -170,8 +167,7 @@ class DataSourcePage(models.Model): """ - class Meta: - db_table = table_base_name + "_datasourcepage" + DataSource = models.ForeignKey(DataSource, null=False, blank=False, on_delete=models.CASCADE) page_index = models.IntegerField(blank=False, null=False) @@ -209,8 +205,7 @@ class ImportProject(models.Model): # todo: consider adding last edited page here - class Meta: - db_table = table_base_name + "_importproject" + def save(self, *args, **kwargs): if not self.collection: @@ -258,8 +253,7 @@ class GenericCollectionEntry(models.Model): todo: connect this with the revision-library. Save the state before the editing process and allow to reset the changed fields. """ - class Meta: - db_table = table_base_name + "_genericcollectionentry" + content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) content_object = GenericForeignKey("content_type", "id") @@ -308,8 +302,7 @@ def create(cls, obj): class ProjectCollectionEntry(models.Model): - class Meta: - db_table = table_base_name + "_projectcollectionentry" + json = models.TextField(blank=True) project = models.ForeignKey(ImportProject, null=True, on_delete=models.CASCADE) @@ -321,8 +314,6 @@ class PageCollection(models.Model): See GenericCollectionEntry docstring for more information. """ - class Meta: - db_table = table_base_name + "_pagecollection" created_in = models.ManyToManyField(GenericCollectionEntry, related_name="created") edited_in = models.ManyToManyField(GenericCollectionEntry, related_name="edited") @@ -345,8 +336,7 @@ class PageData(models.Model): todo: could be refactored to make this specific behaviour managed via some sort of settings-file. And to make some sort of generic solution for implementing other specific, but similiar functionality. """ - class Meta: - db_table = table_base_name + "_pagedata" + project = models.ForeignKey(ImportProject, blank=False, null=False, on_delete=models.CASCADE) page = models.ForeignKey(DataSourcePage, blank=False, null=False, on_delete=models.CASCADE) @@ -575,8 +565,7 @@ class DataSourceProjectState(models.Model): last_page that was edited, to reload it when continuing an edit. """ - class Meta: - db_table = table_base_name + "_datasourceprojectstate" + datasource = models.ForeignKey(DataSource, blank=False, null=True, on_delete=models.CASCADE) project = models.ForeignKey(ImportProject, blank=False, null=True, on_delete=models.CASCADE) @@ -589,8 +578,7 @@ class ProjectState(models.Model): Stores the state a Project is in during the editing process, on per-user basis. For now it only keeps the last DataSource to reload it when continuing an edit. """ - class Meta: - db_table = table_base_name + "_projectstate" + project = models.ForeignKey(ImportProject, blank=False, null=False, on_delete=models.CASCADE) user = models.ForeignKey(User, blank=False, null=False, on_delete=models.CASCADE) diff --git a/viecpro_import/pdf_logger.py b/apis_import_project/pdf_logger.py similarity index 100% rename from viecpro_import/pdf_logger.py rename to apis_import_project/pdf_logger.py diff --git a/viecpro_import/serializers.py b/apis_import_project/serializers.py similarity index 100% rename from viecpro_import/serializers.py rename to apis_import_project/serializers.py diff --git a/viecpro_import/static/viecpro_import/css/autocomplete.css b/apis_import_project/static/viecpro_import/css/autocomplete.css similarity index 100% rename from viecpro_import/static/viecpro_import/css/autocomplete.css rename to apis_import_project/static/viecpro_import/css/autocomplete.css diff --git a/viecpro_import/static/viecpro_import/css/main.css b/apis_import_project/static/viecpro_import/css/main.css similarity index 100% rename from viecpro_import/static/viecpro_import/css/main.css rename to apis_import_project/static/viecpro_import/css/main.css diff --git a/viecpro_import/static/viecpro_import/js/autocomplete.js b/apis_import_project/static/viecpro_import/js/autocomplete.js similarity index 100% rename from viecpro_import/static/viecpro_import/js/autocomplete.js rename to apis_import_project/static/viecpro_import/js/autocomplete.js diff --git a/viecpro_import/static/viecpro_import/js/autocomplete.js.map b/apis_import_project/static/viecpro_import/js/autocomplete.js.map similarity index 100% rename from viecpro_import/static/viecpro_import/js/autocomplete.js.map rename to apis_import_project/static/viecpro_import/js/autocomplete.js.map diff --git a/viecpro_import/static/viecpro_import/js/pdf_tool.js b/apis_import_project/static/viecpro_import/js/pdf_tool.js similarity index 100% rename from viecpro_import/static/viecpro_import/js/pdf_tool.js rename to apis_import_project/static/viecpro_import/js/pdf_tool.js diff --git a/viecpro_import/tables.py b/apis_import_project/tables.py similarity index 100% rename from viecpro_import/tables.py rename to apis_import_project/tables.py diff --git a/viecpro_import/templates/element_templates/autoDate_button_generic_ajax_form.html b/apis_import_project/templates/element_templates/autoDate_button_generic_ajax_form.html similarity index 100% rename from viecpro_import/templates/element_templates/autoDate_button_generic_ajax_form.html rename to apis_import_project/templates/element_templates/autoDate_button_generic_ajax_form.html diff --git a/apis_import_project/templates/element_templates/custom_ajax_form_generic.html b/apis_import_project/templates/element_templates/custom_ajax_form_generic.html new file mode 100644 index 00000000..9293481f --- /dev/null +++ b/apis_import_project/templates/element_templates/custom_ajax_form_generic.html @@ -0,0 +1,9 @@ +
+
+ {% load crispy_forms_tags %} + {% crispy form form.helper %} +
+ +
+
+
\ No newline at end of file diff --git a/viecpro_import/templates/element_templates/element_datasource_update.html b/apis_import_project/templates/element_templates/element_datasource_update.html similarity index 100% rename from viecpro_import/templates/element_templates/element_datasource_update.html rename to apis_import_project/templates/element_templates/element_datasource_update.html diff --git a/viecpro_import/templates/element_templates/element_datasources_select_template.html b/apis_import_project/templates/element_templates/element_datasources_select_template.html similarity index 100% rename from viecpro_import/templates/element_templates/element_datasources_select_template.html rename to apis_import_project/templates/element_templates/element_datasources_select_template.html diff --git a/viecpro_import/templates/element_templates/element_datasources_upload.html b/apis_import_project/templates/element_templates/element_datasources_upload.html similarity index 100% rename from viecpro_import/templates/element_templates/element_datasources_upload.html rename to apis_import_project/templates/element_templates/element_datasources_upload.html diff --git a/viecpro_import/templates/element_templates/element_project_create.html b/apis_import_project/templates/element_templates/element_project_create.html similarity index 100% rename from viecpro_import/templates/element_templates/element_project_create.html rename to apis_import_project/templates/element_templates/element_project_create.html diff --git a/viecpro_import/templates/pages/editor_page.html b/apis_import_project/templates/pages/editor_page.html similarity index 95% rename from viecpro_import/templates/pages/editor_page.html rename to apis_import_project/templates/pages/editor_page.html index 15624d9d..d6c8554e 100644 --- a/viecpro_import/templates/pages/editor_page.html +++ b/apis_import_project/templates/pages/editor_page.html @@ -2,9 +2,9 @@ {% load static %} {% block content %} - - - + + + @@ -169,7 +169,7 @@


}) function setPageToken() { - let url = "{% url 'viecpro_import:page_set_token' %}"; + let url = "{% url 'apis_import_project:page_set_token' %}"; //console.log("called set token") let token = prompt("New token:"); @@ -242,7 +242,7 @@


} $.ajax({ - url: '{% url "viecpro_import:editor_session_update" %}', + url: '{% url "apis_import_project:editor_session_update" %}', type: 'POST', data: { "ent_type": type, "ent_pk": entity_pk }, beforeSend: function (request) { @@ -299,7 +299,7 @@


function updatePageSection(section) { console.log("update page section called, section is:", section); - let url = `/viecpro_import/editor/section/update/${section}/`; + let url = `/apis_import_project/editor/section/update/${section}/`; $.ajax({ type: "GET", url: url, @@ -374,7 +374,7 @@


function loadPageSection() { - let url = "{% url 'viecpro_import:get_sections' %}"//`/viecpro_import/entity_custom/`; + let url = "{% url 'apis_import_project:get_sections' %}"//`/apis_import_project/entity_custom/`; $.ajax({ type: "GET", url: url, @@ -419,7 +419,7 @@


function AjaxElementRequest(type, target_id = null, entity = null) { if (!["LabelType", "Title"].includes(entity) && !entity.endsWith("elation") && !entity.endsWith("ype")) { - let url = `/viecpro_import/editor/entity/create/${entity}/`; + let url = `/apis_import_project/editor/entity/create/${entity}/`; $.ajax({ type: "GET", url: url, @@ -460,7 +460,7 @@


$("#input_search").val([]); await fetch( - `/viecpro_import/editor/autocomplete/${type}/`, + `/apis_import_project/editor/autocomplete/${type}/`, function (d) { if (!d.ok) { alert( @@ -518,7 +518,7 @@


let datasource_pk = $("#input_select").val(); if (datasource_pk) { $.ajax({ - url: '{% url "viecpro_import:ds_select" %}', + url: '{% url "apis_import_project:ds_select" %}', type: 'POST', data: { "ds_pk": datasource_pk, "first_call": first_call }, beforeSend: function (request) { @@ -557,7 +557,7 @@


function updateRelationDate(clicked_el, rel_id) { let tab = $(clicked_el).closest(".card-body").attr("id"); // changed this from event.target - let url = `/viecpro_import/editor/relation/autodate/${rel_id}/${tab}/`; + let url = `/apis_import_project/editor/relation/autodate/${rel_id}/${tab}/`; $.ajax({ type: "POST", url: url, @@ -592,7 +592,7 @@


let page_token = prompt("Enter new page token for this page\nAll concurrent pages will be updated."); if (page_token) { - let url = "{% url 'viecpro_import:page_set_start' %}" + let url = "{% url 'apis_import_project:page_set_start' %}" $.ajax({ type: "POST", @@ -612,7 +612,7 @@


function updateBrowserPage(page = null, direction = null, refresh_progress = true) { let page_num = page - let url = "{% url 'viecpro_import:browser_refresh' %}"; + let url = "{% url 'apis_import_project:browser_refresh' %}"; $.ajax({ type: "POST", url: url, @@ -632,7 +632,7 @@


function callUpload() { - let url = "{% url 'viecpro_import:ds_upload' %}"; + let url = "{% url 'apis_import_project:ds_upload' %}"; $.ajax({ type: "GET", url: url, @@ -655,7 +655,7 @@


function updateDataSourceSelect(ds_pk) { - let url = '{% url "viecpro_import:ds_list_refresh" %}'; + let url = '{% url "apis_import_project:ds_list_refresh" %}'; $.ajax({ type: "POST", url: url, @@ -677,7 +677,7 @@


} async function postUploadData(element) { - let url = "{% url 'viecpro_import:ds_upload' %}"; + let url = "{% url 'apis_import_project:ds_upload' %}"; $.ajax({ type: "POST", url: url, @@ -707,7 +707,7 @@


function editDataSource() { $.ajax({ type: 'GET', - url: "{% url 'viecpro_import:ds_update' %}", + url: "{% url 'apis_import_project:ds_update' %}", beforeSend: function (request) { let csrftoken = getCookie("csrftoken"); request.setRequestHeader("X-CSRFToken", csrftoken); @@ -718,7 +718,7 @@


//console.log("reached success"); event.preventDefault(); event.stopPropagation(); - let url = "{% url 'viecpro_import:ds_update' %}"; + let url = "{% url 'apis_import_project:ds_update' %}"; let formData = $(this).serialize(); $.ajax({ diff --git a/viecpro_import/templates/pages/projects_page.html b/apis_import_project/templates/pages/projects_page.html similarity index 84% rename from viecpro_import/templates/pages/projects_page.html rename to apis_import_project/templates/pages/projects_page.html index 4c2d5b5e..9d2b4b56 100644 --- a/viecpro_import/templates/pages/projects_page.html +++ b/apis_import_project/templates/pages/projects_page.html @@ -3,9 +3,9 @@ {% block content %} - - - + + +
@@ -38,7 +38,7 @@

Projects

{% for project, role in projects %} - {{project.name}} + {{project.name}} {{role}} @@ -55,7 +55,7 @@

Projects

+ diff --git a/viecpro_deduplication/templates/del/ampel_note_column.html b/dubletten_tool/templates/del/ampel_note_column.html similarity index 100% rename from viecpro_deduplication/templates/del/ampel_note_column.html rename to dubletten_tool/templates/del/ampel_note_column.html diff --git a/viecpro_deduplication/templates/del/ampel_template_column.html b/dubletten_tool/templates/del/ampel_template_column.html similarity index 100% rename from viecpro_deduplication/templates/del/ampel_template_column.html rename to dubletten_tool/templates/del/ampel_template_column.html diff --git a/viecpro_deduplication/templates/group_buttons.html b/dubletten_tool/templates/group_buttons.html similarity index 100% rename from viecpro_deduplication/templates/group_buttons.html rename to dubletten_tool/templates/group_buttons.html diff --git a/viecpro_deduplication/templates/group_form.html b/dubletten_tool/templates/group_form.html similarity index 100% rename from viecpro_deduplication/templates/group_form.html rename to dubletten_tool/templates/group_form.html diff --git a/viecpro_deduplication/templates/group_list.html b/dubletten_tool/templates/group_list.html similarity index 100% rename from viecpro_deduplication/templates/group_list.html rename to dubletten_tool/templates/group_list.html diff --git a/viecpro_deduplication/templates/group_suggestions.html b/dubletten_tool/templates/group_suggestions.html similarity index 100% rename from viecpro_deduplication/templates/group_suggestions.html rename to dubletten_tool/templates/group_suggestions.html diff --git a/viecpro_deduplication/templates/member_list.html b/dubletten_tool/templates/member_list.html similarity index 100% rename from viecpro_deduplication/templates/member_list.html rename to dubletten_tool/templates/member_list.html diff --git a/dubletten_tool/templates/merge/ampel_action_template.html b/dubletten_tool/templates/merge/ampel_action_template.html new file mode 100644 index 00000000..9910edf3 --- /dev/null +++ b/dubletten_tool/templates/merge/ampel_action_template.html @@ -0,0 +1,149 @@ +
+
+
+
+ {% if instance.ampel.note %} + + {% else %} + + {% endif %} +
+ + diff --git a/viecpro_deduplication/templates/merge/ampel_note_column.html b/dubletten_tool/templates/merge/ampel_note_column.html similarity index 100% rename from viecpro_deduplication/templates/merge/ampel_note_column.html rename to dubletten_tool/templates/merge/ampel_note_column.html diff --git a/viecpro_deduplication/templates/merge/ampel_template_column.html b/dubletten_tool/templates/merge/ampel_template_column.html similarity index 100% rename from viecpro_deduplication/templates/merge/ampel_template_column.html rename to dubletten_tool/templates/merge/ampel_template_column.html diff --git a/viecpro_deduplication/templates/merge/apis_create_entities.html b/dubletten_tool/templates/merge/apis_create_entities.html similarity index 100% rename from viecpro_deduplication/templates/merge/apis_create_entities.html rename to dubletten_tool/templates/merge/apis_create_entities.html diff --git a/viecpro_deduplication/templates/merge/compare_base.html b/dubletten_tool/templates/merge/compare_base.html similarity index 100% rename from viecpro_deduplication/templates/merge/compare_base.html rename to dubletten_tool/templates/merge/compare_base.html diff --git a/viecpro_deduplication/templates/merge/detail_views/entity_detail_generic.html b/dubletten_tool/templates/merge/detail_views/entity_detail_generic.html similarity index 98% rename from viecpro_deduplication/templates/merge/detail_views/entity_detail_generic.html rename to dubletten_tool/templates/merge/detail_views/entity_detail_generic.html index a1ed3e8f..da7c65f7 100644 --- a/viecpro_deduplication/templates/merge/detail_views/entity_detail_generic.html +++ b/dubletten_tool/templates/merge/detail_views/entity_detail_generic.html @@ -31,7 +31,7 @@

{% if object.get_listview_url %} - + vorfinal {% else %} @@ -58,7 +58,7 @@

{% endif %} | - Editor + Editor {% endif %} | {% include "ampel/ampel_inline_template.html" with instance=object %} diff --git a/viecpro_deduplication/templates/merge/detail_views/merge_tool_entity_detail_generic.html b/dubletten_tool/templates/merge/detail_views/merge_tool_entity_detail_generic.html similarity index 98% rename from viecpro_deduplication/templates/merge/detail_views/merge_tool_entity_detail_generic.html rename to dubletten_tool/templates/merge/detail_views/merge_tool_entity_detail_generic.html index 3234b77c..4e3c1250 100644 --- a/viecpro_deduplication/templates/merge/detail_views/merge_tool_entity_detail_generic.html +++ b/dubletten_tool/templates/merge/detail_views/merge_tool_entity_detail_generic.html @@ -31,7 +31,7 @@

{% if object.get_listview_url %} - + vorfinal {% else %} @@ -58,7 +58,7 @@

{% endif %} | - Editor + Editor {% endif %} | {% include "../ampel_action_template.html" with instance=object %} diff --git a/viecpro_deduplication/templates/merge/detail_views/person_detail_generic.html b/dubletten_tool/templates/merge/detail_views/person_detail_generic.html similarity index 100% rename from viecpro_deduplication/templates/merge/detail_views/person_detail_generic.html rename to dubletten_tool/templates/merge/detail_views/person_detail_generic.html diff --git a/viecpro_deduplication/templates/merge/entity_create_generic.html b/dubletten_tool/templates/merge/entity_create_generic.html similarity index 98% rename from viecpro_deduplication/templates/merge/entity_create_generic.html rename to dubletten_tool/templates/merge/entity_create_generic.html index 96f0ba51..24aed593 100644 --- a/viecpro_deduplication/templates/merge/entity_create_generic.html +++ b/dubletten_tool/templates/merge/entity_create_generic.html @@ -20,7 +20,7 @@
-

+

vorfinal {{ instance }} @@ -30,7 +30,7 @@

| - Editor + Editor | {% include "ampel/ampel_inline_template.html" with instance=instance %}

diff --git a/viecpro_deduplication/templates/merge/generic_list.html b/dubletten_tool/templates/merge/generic_list.html similarity index 99% rename from viecpro_deduplication/templates/merge/generic_list.html rename to dubletten_tool/templates/merge/generic_list.html index b6ad5ecf..10284e28 100644 --- a/viecpro_deduplication/templates/merge/generic_list.html +++ b/dubletten_tool/templates/merge/generic_list.html @@ -186,7 +186,7 @@

create new {{ entity }}

function updateCollections(){ console.log("update collections clicked") - url = "{% url 'viecpro_deduplication:update_collections' %}" + url = "{% url 'dubletten_tool:update_collections' %}" $.ajax({ url: url, type: "GET", diff --git a/viecpro_deduplication/templates/merge/mege_tool_generic_list.html b/dubletten_tool/templates/merge/mege_tool_generic_list.html similarity index 98% rename from viecpro_deduplication/templates/merge/mege_tool_generic_list.html rename to dubletten_tool/templates/merge/mege_tool_generic_list.html index 7b161330..f2715d61 100644 --- a/viecpro_deduplication/templates/merge/mege_tool_generic_list.html +++ b/dubletten_tool/templates/merge/mege_tool_generic_list.html @@ -188,7 +188,7 @@

create new {{ entity }}

console.log("ampel id in listgetnote", ampel_id) let note_text; - fetch("{% url 'viecpro_deduplication:get_note_text' ampel_pk='111122223333'%}".replace("111122223333", ampel_id)) + fetch("{% url 'dubletten_tool:get_note_text' ampel_pk='111122223333'%}".replace("111122223333", ampel_id)) .then((res)=> res.json()) .then((j) => { if (j.success){ console.log(j); @@ -208,7 +208,7 @@

create new {{ entity }}

$.ajax({ type: "POST", - url: "{% url 'viecpro_deduplication:update_note_text' %}", + url: "{% url 'dubletten_tool:update_note_text' %}", data: { "id": ampel_id, "note_text": text, diff --git a/viecpro_deduplication/templates/merge/merge_page.html b/dubletten_tool/templates/merge/merge_page.html similarity index 100% rename from viecpro_deduplication/templates/merge/merge_page.html rename to dubletten_tool/templates/merge/merge_page.html diff --git a/viecpro_deduplication/templates/merge/merge_tool_entity_create_generic.html b/dubletten_tool/templates/merge/merge_tool_entity_create_generic.html similarity index 98% rename from viecpro_deduplication/templates/merge/merge_tool_entity_create_generic.html rename to dubletten_tool/templates/merge/merge_tool_entity_create_generic.html index 8e9d2dce..5f6b9358 100644 --- a/viecpro_deduplication/templates/merge/merge_tool_entity_create_generic.html +++ b/dubletten_tool/templates/merge/merge_tool_entity_create_generic.html @@ -20,7 +20,7 @@
-

+

vorfinal {{ instance }} @@ -30,7 +30,7 @@

| - Editor + Editor | {% include "./ampel_action_template.html" with instance=instance %}

diff --git a/viecpro_deduplication/templates/merge/person_create.html b/dubletten_tool/templates/merge/person_create.html similarity index 100% rename from viecpro_deduplication/templates/merge/person_create.html rename to dubletten_tool/templates/merge/person_create.html diff --git a/viecpro_deduplication/templates/merge/person_create_generic.html b/dubletten_tool/templates/merge/person_create_generic.html similarity index 100% rename from viecpro_deduplication/templates/merge/person_create_generic.html rename to dubletten_tool/templates/merge/person_create_generic.html diff --git a/viecpro_deduplication/templates/merge/person_create_new.html b/dubletten_tool/templates/merge/person_create_new.html similarity index 100% rename from viecpro_deduplication/templates/merge/person_create_new.html rename to dubletten_tool/templates/merge/person_create_new.html diff --git a/viecpro_deduplication/templates/merge/person_list.html b/dubletten_tool/templates/merge/person_list.html similarity index 100% rename from viecpro_deduplication/templates/merge/person_list.html rename to dubletten_tool/templates/merge/person_list.html diff --git a/viecpro_deduplication/templates/merge/person_list_generic.html b/dubletten_tool/templates/merge/person_list_generic.html similarity index 100% rename from viecpro_deduplication/templates/merge/person_list_generic.html rename to dubletten_tool/templates/merge/person_list_generic.html diff --git a/viecpro_deduplication/templates/merge/relation_editor.html b/dubletten_tool/templates/merge/relation_editor.html similarity index 97% rename from viecpro_deduplication/templates/merge/relation_editor.html rename to dubletten_tool/templates/merge/relation_editor.html index f848b871..6c58e417 100644 --- a/viecpro_deduplication/templates/merge/relation_editor.html +++ b/dubletten_tool/templates/merge/relation_editor.html @@ -7,7 +7,7 @@

- + vorfinal {{object}} {% if user.is_authenticated %} @@ -161,7 +161,7 @@

Texts

console.log("new rel",new_rel) $.ajax({ type: "POST", - url: "{% url 'viecpro_deduplication:create_relation'%}", + url: "{% url 'dubletten_tool:create_relation'%}", data: { "id": id , "relation": JSON.stringify(new_rel), @@ -209,7 +209,7 @@

Texts

const confirmed = confirm(`Are you sure you want to delete\n${el.relation_type__name}`) console.log(el, confirmed) if (confirmed) { - fetch("{% url 'viecpro_deduplication:delete_relation' rel_id='000000000'%}".replace("000000000", el.id)).then((res)=> res.json()).then((j)=> { + fetch("{% url 'dubletten_tool:delete_relation' rel_id='000000000'%}".replace("000000000", el.id)).then((res)=> res.json()).then((j)=> { if (j.success){ if (!tabular.value){ console.log("not tabular") @@ -237,7 +237,7 @@

Texts

console.log("update field response called") $.ajax({ type:"POST", - url: "{% url 'viecpro_deduplication:update_field'%}", + url: "{% url 'dubletten_tool:update_field'%}", data: { "id": id, "field_name":fieldName, diff --git a/viecpro_deduplication/templates/merge/tabbed_texts.html b/dubletten_tool/templates/merge/tabbed_texts.html similarity index 100% rename from viecpro_deduplication/templates/merge/tabbed_texts.html rename to dubletten_tool/templates/merge/tabbed_texts.html diff --git a/viecpro_deduplication/templates/note_form.html b/dubletten_tool/templates/note_form.html similarity index 100% rename from viecpro_deduplication/templates/note_form.html rename to dubletten_tool/templates/note_form.html diff --git a/viecpro_deduplication/templates/note_template.html b/dubletten_tool/templates/note_template.html similarity index 100% rename from viecpro_deduplication/templates/note_template.html rename to dubletten_tool/templates/note_template.html diff --git a/viecpro_deduplication/templates/person_detail.html b/dubletten_tool/templates/person_detail.html similarity index 100% rename from viecpro_deduplication/templates/person_detail.html rename to dubletten_tool/templates/person_detail.html diff --git a/viecpro_deduplication/templates/person_suggestions.html b/dubletten_tool/templates/person_suggestions.html similarity index 100% rename from viecpro_deduplication/templates/person_suggestions.html rename to dubletten_tool/templates/person_suggestions.html diff --git a/viecpro_deduplication/templates/singles_list.html b/dubletten_tool/templates/singles_list.html similarity index 100% rename from viecpro_deduplication/templates/singles_list.html rename to dubletten_tool/templates/singles_list.html diff --git a/dubletten_tool/templates/tool_page.html b/dubletten_tool/templates/tool_page.html new file mode 100644 index 00000000..1d975576 --- /dev/null +++ b/dubletten_tool/templates/tool_page.html @@ -0,0 +1,1827 @@ +{% extends "webpage/base.html" %} {% load static %} {% load +stats_extras %} {% load webpage_extras %} {% block content %} + + + +
+
+
+ + + + +
+
+
+
+

Performing manual merge / re-merge...

+ +
+
+
+
+
+
+
+
+ +
+
+
+ +

Selected

+ + +
+
+
+ +

Detail / Suggestions

+ +
+
+
+ +
+
+
+
+ + +
+ + +
+
+ + +
+
+ + +
+
+ + + + {% for b in Buttons %} {% if forloop.first %} + + {% elif forloop.last %} + + + {% else %} + + + {% endif %} {% endfor %} + + + + + + + +
+
+
+ + +
+ + +
+
+ + +
+
+ + +
+
+ + + +
+
    + +
+
+
+
+ Not implemented yet +
+
+
+
+
+

Singles

+ +
+
+
+
+ + + + + + + + + + + + + + + {% endblock %} +
diff --git a/viecpro_import/tests.py b/dubletten_tool/tests.py similarity index 100% rename from viecpro_import/tests.py rename to dubletten_tool/tests.py diff --git a/viecpro_deduplication/tests/__init__.py b/dubletten_tool/tests/__init__.py similarity index 100% rename from viecpro_deduplication/tests/__init__.py rename to dubletten_tool/tests/__init__.py diff --git a/viecpro_deduplication/tests/error_logger_mixin_test.py b/dubletten_tool/tests/error_logger_mixin_test.py similarity index 100% rename from viecpro_deduplication/tests/error_logger_mixin_test.py rename to dubletten_tool/tests/error_logger_mixin_test.py diff --git a/viecpro_deduplication/tests/merge_group_test.py b/dubletten_tool/tests/merge_group_test.py similarity index 100% rename from viecpro_deduplication/tests/merge_group_test.py rename to dubletten_tool/tests/merge_group_test.py diff --git a/viecpro_deduplication/tests/person_helper_test.py b/dubletten_tool/tests/person_helper_test.py similarity index 100% rename from viecpro_deduplication/tests/person_helper_test.py rename to dubletten_tool/tests/person_helper_test.py diff --git a/viecpro_deduplication/tests/person_type_test.py b/dubletten_tool/tests/person_type_test.py similarity index 100% rename from viecpro_deduplication/tests/person_type_test.py rename to dubletten_tool/tests/person_type_test.py diff --git a/viecpro_deduplication/tests/pphelper_test.py b/dubletten_tool/tests/pphelper_test.py similarity index 100% rename from viecpro_deduplication/tests/pphelper_test.py rename to dubletten_tool/tests/pphelper_test.py diff --git a/viecpro_deduplication/tests/ppkind_test.py b/dubletten_tool/tests/ppkind_test.py similarity index 100% rename from viecpro_deduplication/tests/ppkind_test.py rename to dubletten_tool/tests/ppkind_test.py diff --git a/viecpro_deduplication/tests/relation_writer_test.py b/dubletten_tool/tests/relation_writer_test.py similarity index 100% rename from viecpro_deduplication/tests/relation_writer_test.py rename to dubletten_tool/tests/relation_writer_test.py diff --git a/viecpro_deduplication/tests/single_merge_test.py b/dubletten_tool/tests/single_merge_test.py similarity index 100% rename from viecpro_deduplication/tests/single_merge_test.py rename to dubletten_tool/tests/single_merge_test.py diff --git a/viecpro_deduplication/tests/temp_rel_test.py b/dubletten_tool/tests/temp_rel_test.py similarity index 88% rename from viecpro_deduplication/tests/temp_rel_test.py rename to dubletten_tool/tests/temp_rel_test.py index 62b9b851..fb8d0e6a 100644 --- a/viecpro_deduplication/tests/temp_rel_test.py +++ b/dubletten_tool/tests/temp_rel_test.py @@ -1,5 +1,5 @@ from django.test import TestCase -from viecpro_deduplication.src.classes import TempRel +from dubletten_tool.src.classes import TempRel class TempRelTest(TestCase): diff --git a/viecpro_deduplication/urls.py b/dubletten_tool/urls.py similarity index 97% rename from viecpro_deduplication/urls.py rename to dubletten_tool/urls.py index c761c58a..1f2601a0 100644 --- a/viecpro_deduplication/urls.py +++ b/dubletten_tool/urls.py @@ -3,7 +3,7 @@ from .views import MergeGroupsView, get_all_notes, getToolPage, getNoteJSON, HandleNoteForm, get_group_suggestions, get_group_ajax, rename_group, update_group_checkboxes, create_new_group, remove_member, get_singles, get_groups, get_single_ajax, get_person_suggestions from .detail_view import OverwrittenGenericEntitiesDetailView from .merge_views import GenericCeleryTaskStatusView, DeleteRelation, GenericEntitiesEditView, GenericEntitiesDetailView, GenericListViewNew, GetRelationEditor, UpdateFieldView, CreateRelationView, RemergeGroupView, UpdateCollectionsView -app_name = "viecpro_deduplication" +app_name = "dubletten_tool" urlpatterns = [ url(r"entity/update_collections", @@ -11,7 +11,7 @@ # handles field updates in tables in relation_editor url(r"entity/update_field", UpdateFieldView.as_view(), name="update_field"), - # Handles re run of merge in viecpro_deduplication + # Handles re run of merge in dubletten_tool url(r"run_remerge/(?P[0-9]+)/", RemergeGroupView.as_view(), name="remerge_group"), # handles creating new relation in dubletten view in relation_editor diff --git a/viecpro_deduplication/views.py b/dubletten_tool/views.py similarity index 100% rename from viecpro_deduplication/views.py rename to dubletten_tool/views.py diff --git a/notebooks/Create Sample 3D CHO.ipynb b/notebooks/Create Sample 3D CHO.ipynb new file mode 100644 index 00000000..363fcab7 --- /dev/null +++ b/notebooks/Create Sample 3D CHO.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/poetry.lock b/poetry.lock index c99cd805..670efe26 100644 --- a/poetry.lock +++ b/poetry.lock @@ -19,7 +19,7 @@ vine = ">=5.0.0,<6.0.0" [[package]] name = "anyio" -version = "4.2.0" +version = "4.3.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" category = "main" optional = false @@ -65,11 +65,11 @@ python-versions = ">=3.6,<3.12" [[package]] name = "appnope" -version = "0.1.3" +version = "0.1.4" description = "Disable App Nap on macOS >= 10.9" category = "main" optional = false -python-versions = "*" +python-versions = ">=3.6" [[package]] name = "argon2-cffi" @@ -103,6 +103,22 @@ cffi = ">=1.0.1" dev = ["pytest", "cogapp", "pre-commit", "wheel"] tests = ["pytest"] +[[package]] +name = "arrow" +version = "1.3.0" +description = "Better dates & times for Python" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +python-dateutil = ">=2.7.0" +types-python-dateutil = ">=2.8.10" + +[package.extras] +doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] +test = ["dateparser (>=1.0.0,<2.0.0)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (>=3.0.0,<4.0.0)"] + [[package]] name = "asgiref" version = "3.7.2" @@ -148,6 +164,17 @@ six = ">=1.12.0" astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] test = ["pytest", "astroid (>=1,<2)", "astroid (>=2,<4)"] +[[package]] +name = "async-lru" +version = "2.0.4" +description = "Simple LRU cache for asyncio" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} + [[package]] name = "async-timeout" version = "4.0.3" @@ -172,6 +199,17 @@ tests = ["attrs", "zope-interface"] tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] tests-no-zope = ["attrs", "cloudpickle", "hypothesis", "pympler", "pytest-xdist", "pytest (>=4.3.0)"] +[[package]] +name = "babel" +version = "2.14.0" +description = "Internationalization utilities" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +dev = ["pytest (>=6.0)", "pytest-cov", "freezegun (>=1.0,<2.0)"] + [[package]] name = "beautifulsoup4" version = "4.12.3" @@ -288,7 +326,7 @@ zstd = ["zstandard (==0.22.0)"] [[package]] name = "certifi" -version = "2023.11.17" +version = "2024.2.2" description = "Python package for providing Mozilla's CA Bundle." category = "main" optional = false @@ -404,7 +442,7 @@ tests = ["coverage"] [[package]] name = "debugpy" -version = "1.8.0" +version = "1.8.1" description = "An implementation of the Debug Adapter Protocol for Python" category = "main" optional = false @@ -428,14 +466,15 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [[package]] name = "dill" -version = "0.3.7" +version = "0.3.8" description = "serialize all of Python" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" [package.extras] graph = ["objgraph (>=1.7.2)"] +profile = ["gprof2dot (>=2022.7.29)"] [[package]] name = "dj-database-url" @@ -562,7 +601,7 @@ tests = ["pytest (<4.0)", "pytest-django", "pytest-flakes (==1.0.1)", "pytest-pe [[package]] name = "django-debug-toolbar" -version = "4.2.0" +version = "4.3.0" description = "A configurable set of panels that display various debug information about the current request/response." category = "main" optional = false @@ -632,11 +671,11 @@ docs = ["sphinx", "sphinx-autobuild"] [[package]] name = "django-model-utils" -version = "4.3.1" +version = "4.4.0" description = "Django model mixins and utilities" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" [package.dependencies] Django = ">=3.2" @@ -750,6 +789,14 @@ uritemplate = ">=2.0.0" offline = ["drf-spectacular-sidecar"] sidecar = ["drf-spectacular-sidecar"] +[[package]] +name = "et-xmlfile" +version = "1.1.0" +description = "An implementation of lxml.xmlfile for the standard library" +category = "main" +optional = false +python-versions = ">=3.6" + [[package]] name = "exceptiongroup" version = "1.2.0" @@ -796,6 +843,14 @@ mccabe = ">=0.7.0,<0.8.0" pycodestyle = ">=2.11.0,<2.12.0" pyflakes = ">=3.1.0,<3.2.0" +[[package]] +name = "fqdn" +version = "1.5.1" +description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" + [[package]] name = "gunicorn" version = "20.1.0" @@ -810,6 +865,53 @@ gevent = ["gevent (>=1.4.0)"] setproctitle = ["setproctitle"] tornado = ["tornado (>=0.2)"] +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "httpcore" +version = "1.0.4" +description = "A minimal low-level HTTP client." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +certifi = "*" +h11 = ">=0.13,<0.15" + +[package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] +trio = ["trio (>=0.22.0,<0.25.0)"] + +[[package]] +name = "httpx" +version = "0.27.0" +description = "The next generation HTTP client." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +anyio = "*" +certifi = "*" +httpcore = ">=1.0.0,<2.0.0" +idna = "*" +sniffio = "*" + +[package.extras] +brotli = ["brotli", "brotlicffi"] +cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] + [[package]] name = "idna" version = "3.6" @@ -828,7 +930,7 @@ python-versions = ">=3.5" [[package]] name = "ipykernel" -version = "6.29.0" +version = "6.29.3" description = "IPython Kernel for Jupyter" category = "main" optional = false @@ -854,11 +956,11 @@ cov = ["coverage", "curio", "matplotlib", "pytest-cov", "trio"] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "trio"] pyqt5 = ["pyqt5"] pyside6 = ["pyside6"] -test = ["flaky", "ipyparallel", "pre-commit", "pytest-asyncio (==0.23.2)", "pytest-cov", "pytest-timeout", "pytest (>=7.0)"] +test = ["flaky", "ipyparallel", "pre-commit", "pytest-asyncio (>=0.23.5)", "pytest-cov", "pytest-timeout", "pytest (>=7.0)"] [[package]] name = "ipython" -version = "8.20.0" +version = "8.22.1" description = "IPython: Productive Interactive Computing" category = "main" optional = false @@ -870,61 +972,46 @@ decorator = "*" exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} jedi = ">=0.16" matplotlib-inline = "*" -pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""} +pexpect = {version = ">4.3", markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\""} prompt-toolkit = ">=3.0.41,<3.1.0" pygments = ">=2.4.0" stack-data = "*" -traitlets = ">=5" +traitlets = ">=5.13.0" [package.extras] -all = ["black", "ipykernel", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "docrepr", "matplotlib", "stack-data", "pytest", "typing-extensions", "exceptiongroup", "pytest-asyncio (<0.22)", "testpath", "pickleshare", "nbconvert", "nbformat", "ipywidgets", "notebook", "ipyparallel", "qtconsole", "curio", "matplotlib (!=3.2.0)", "numpy (>=1.23)", "pandas", "trio"] +all = ["ipython", "ipython"] black = ["black"] -doc = ["ipykernel", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "docrepr", "matplotlib", "stack-data", "pytest", "typing-extensions", "exceptiongroup", "pytest-asyncio (<0.22)", "testpath", "pickleshare"] +doc = ["ipykernel", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinxcontrib-jquery", "docrepr", "matplotlib", "stack-data", "typing-extensions", "exceptiongroup", "ipython"] kernel = ["ipykernel"] nbconvert = ["nbconvert"] nbformat = ["nbformat"] notebook = ["ipywidgets", "notebook"] parallel = ["ipyparallel"] qtconsole = ["qtconsole"] -test = ["pytest", "pytest-asyncio (<0.22)", "testpath", "pickleshare"] -test_extra = ["pytest", "pytest-asyncio (<0.22)", "testpath", "pickleshare", "curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] +test = ["pytest (<8)", "pytest-asyncio (<0.22)", "testpath", "pickleshare"] +test_extra = ["ipython", "curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] [[package]] -name = "ipython-genutils" -version = "0.2.0" -description = "Vestigial utilities from IPython" +name = "isodate" +version = "0.6.1" +description = "An ISO 8601 date/time/duration parser and formatter" category = "main" optional = false python-versions = "*" -[[package]] -name = "ipywidgets" -version = "8.1.1" -description = "Jupyter interactive widgets" -category = "main" -optional = false -python-versions = ">=3.7" - [package.dependencies] -comm = ">=0.1.3" -ipython = ">=6.1.0" -jupyterlab-widgets = ">=3.0.9,<3.1.0" -traitlets = ">=4.3.1" -widgetsnbextension = ">=4.0.9,<4.1.0" - -[package.extras] -test = ["jsonschema", "ipykernel", "pytest (>=3.6.0)", "pytest-cov", "pytz"] +six = "*" [[package]] -name = "isodate" -version = "0.6.1" -description = "An ISO 8601 date/time/duration parser and formatter" +name = "isoduration" +version = "20.11.0" +description = "Operations with ISO 8601 durations" category = "main" optional = false -python-versions = "*" +python-versions = ">=3.7" [package.dependencies] -six = "*" +arrow = ">=0.15.0" [[package]] name = "isort" @@ -969,44 +1056,67 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "jmespath" -version = "0.10.0" +version = "1.0.1" description = "JSON Matching Expressions" category = "main" optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = ">=3.7" + +[[package]] +name = "json5" +version = "0.9.17" +description = "A Python implementation of the JSON5 data format." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.extras] +dev = ["hypothesis"] + +[[package]] +name = "jsonpointer" +version = "2.4" +description = "Identify specific nodes in a JSON document (RFC 6901)" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" [[package]] name = "jsonschema" -version = "3.2.0" +version = "4.21.1" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false -python-versions = "*" +python-versions = ">=3.8" [package.dependencies] -attrs = ">=17.4.0" -pyrsistent = ">=0.14.0" -six = ">=1.11.0" +attrs = ">=22.2.0" +fqdn = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +idna = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +isoduration = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +jsonpointer = {version = ">1.13", optional = true, markers = "extra == \"format-nongpl\""} +jsonschema-specifications = ">=2023.03.6" +referencing = ">=0.28.4" +rfc3339-validator = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +rfc3986-validator = {version = ">0.1.0", optional = true, markers = "extra == \"format-nongpl\""} +rpds-py = ">=0.7.1" +uri-template = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +webcolors = {version = ">=1.11", optional = true, markers = "extra == \"format-nongpl\""} [package.extras] -format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors"] -format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"] +format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] [[package]] -name = "jupyter" -version = "1.0.0" -description = "Jupyter metapackage. Install all the Jupyter components in one go." +name = "jsonschema-specifications" +version = "2023.12.1" +description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" category = "main" optional = false -python-versions = "*" +python-versions = ">=3.8" [package.dependencies] -ipykernel = "*" -ipywidgets = "*" -jupyter-console = "*" -nbconvert = "*" -notebook = "*" -qtconsole = "*" +referencing = ">=0.31.0" [[package]] name = "jupyter-client" @@ -1027,27 +1137,6 @@ traitlets = ">=5.3" docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinx (>=4)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] -[[package]] -name = "jupyter-console" -version = "6.6.3" -description = "Jupyter terminal console" -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -ipykernel = ">=6.14" -ipython = "*" -jupyter-client = ">=7.0.0" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" -prompt-toolkit = ">=3.0.30" -pygments = "*" -pyzmq = ">=17" -traitlets = ">=5.4" - -[package.extras] -test = ["flaky", "pexpect", "pytest"] - [[package]] name = "jupyter-core" version = "5.7.1" @@ -1067,16 +1156,17 @@ test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] [[package]] name = "jupyter-events" -version = "0.6.3" +version = "0.9.0" description = "Jupyter Event System library" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" [package.dependencies] -jsonschema = {version = ">=3.2.0", extras = ["format-nongpl"]} +jsonschema = {version = ">=4.18.0", extras = ["format-nongpl"]} python-json-logger = ">=2.0.4" pyyaml = ">=5.3" +referencing = "*" rfc3339-validator = "*" rfc3986-validator = ">=0.1.1" traitlets = ">=5.3" @@ -1084,11 +1174,22 @@ traitlets = ">=5.3" [package.extras] cli = ["click", "rich"] docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme", "sphinxcontrib-spelling"] -test = ["click", "coverage", "pre-commit", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "pytest-cov", "pytest (>=7.0)", "rich"] +test = ["click", "pre-commit", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "pytest (>=7.0)", "rich"] + +[[package]] +name = "jupyter-lsp" +version = "2.2.3" +description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +jupyter-server = ">=1.1.2" [[package]] name = "jupyter-server" -version = "2.10.0" +version = "2.12.5" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." category = "main" optional = false @@ -1100,7 +1201,7 @@ argon2-cffi = "*" jinja2 = "*" jupyter-client = ">=7.4.4" jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" -jupyter-events = ">=0.6.0" +jupyter-events = ">=0.9.0" jupyter-server-terminals = "*" nbconvert = ">=6.4.4" nbformat = ">=5.3.0" @@ -1121,7 +1222,7 @@ test = ["flaky", "ipykernel", "pre-commit", "pytest-console-scripts", "pytest-ju [[package]] name = "jupyter-server-terminals" -version = "0.5.1" +version = "0.5.2" description = "A Jupyter Server Extension Providing Terminals." category = "main" optional = false @@ -1136,18 +1237,33 @@ docs = ["jinja2", "jupyter-server", "mistune (<4.0)", "myst-parser", "nbformat", test = ["jupyter-server (>=2.0.0)", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout", "pytest (>=7.0)"] [[package]] -name = "jupyter-tabnine" -version = "1.2.3" -description = "Jupyter notebook extension which support coding auto-completion based on Deep Learning" +name = "jupyterlab" +version = "4.1.2" +description = "JupyterLab computational environment" category = "main" optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" [package.dependencies] -ipython = "*" +async-lru = ">=1.0.0" +httpx = ">=0.25.0" +ipykernel = "*" +jinja2 = ">=3.0.3" jupyter-core = "*" -nbconvert = "*" -notebook = ">=4.2" +jupyter-lsp = ">=2.0.0" +jupyter-server = ">=2.4.0,<3" +jupyterlab-server = ">=2.19.0,<3" +notebook-shim = ">=0.2" +packaging = "*" +tomli = {version = "*", markers = "python_version < \"3.11\""} +tornado = ">=6.2.0" +traitlets = "*" + +[package.extras] +dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.2.0)"] +docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx-copybutton", "sphinx (>=1.8,<7.3.0)"] +docs-screenshots = ["altair (==5.2.0)", "ipython (==8.16.1)", "ipywidgets (==8.1.1)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.0.post6)", "matplotlib (==3.8.2)", "nbconvert (>=7.0.0)", "pandas (==2.2.0)", "scipy (==1.12.0)", "vega-datasets (==0.9.0)"] +test = ["coverage", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "pytest (>=7.0)", "requests", "requests-cache", "virtualenv"] [[package]] name = "jupyterlab-pygments" @@ -1158,12 +1274,26 @@ optional = false python-versions = ">=3.8" [[package]] -name = "jupyterlab-widgets" -version = "3.0.9" -description = "Jupyter interactive widgets for JupyterLab" +name = "jupyterlab-server" +version = "2.25.3" +description = "A set of server components for JupyterLab and JupyterLab like applications." category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" + +[package.dependencies] +babel = ">=2.10" +jinja2 = ">=3.0.3" +json5 = ">=0.9.0" +jsonschema = ">=4.18.0" +jupyter-server = ">=1.21,<3" +packaging = ">=21.3" +requests = ">=2.31" + +[package.extras] +docs = ["autodoc-traits", "jinja2 (<3.2.0)", "mistune (<4)", "myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-copybutton", "sphinxcontrib-openapi (>0.8)"] +openapi = ["openapi-core (>=0.18.0,<0.19.0)", "ruamel-yaml"] +test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-validator (>=0.6.0,<0.8.0)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "pytest (>=7.0)", "requests-mock", "ruamel-yaml", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"] [[package]] name = "kombu" @@ -1229,7 +1359,7 @@ source = ["Cython (==0.29.37)"] [[package]] name = "markupsafe" -version = "2.1.3" +version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." category = "main" optional = false @@ -1272,44 +1402,12 @@ python-versions = ">=3.5" [[package]] name = "mysqlclient" -version = "2.2.1" +version = "2.2.4" description = "Python interface to MySQL" category = "main" optional = false python-versions = ">=3.8" -[[package]] -name = "nbclassic" -version = "1.0.0" -description = "Jupyter Notebook as a Jupyter Server extension." -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -argon2-cffi = "*" -ipykernel = "*" -ipython-genutils = "*" -jinja2 = "*" -jupyter-client = ">=6.1.1" -jupyter-core = ">=4.6.1" -jupyter-server = ">=1.8" -nbconvert = ">=5" -nbformat = "*" -nest-asyncio = ">=1.5" -notebook-shim = ">=0.2.3" -prometheus-client = "*" -pyzmq = ">=17" -Send2Trash = ">=1.8.0" -terminado = ">=0.8.3" -tornado = ">=6.1" -traitlets = ">=4.2.1" - -[package.extras] -docs = ["sphinx", "nbsphinx", "sphinxcontrib-github-alt", "sphinx-rtd-theme", "myst-parser"] -json-logging = ["json-logging"] -test = ["pytest", "coverage", "requests", "testpath", "nbval", "pytest-playwright", "pytest-cov", "pytest-jupyter", "pytest-tornasync", "requests-unixsocket"] - [[package]] name = "nbclient" version = "0.9.0" @@ -1331,8 +1429,8 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>= [[package]] name = "nbconvert" -version = "7.14.2" -description = "Converting Jupyter Notebooks" +version = "7.16.1" +description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." category = "main" optional = false python-versions = ">=3.8" @@ -1383,7 +1481,7 @@ test = ["pep440", "pre-commit", "pytest", "testpath"] [[package]] name = "nest-asyncio" -version = "1.5.9" +version = "1.6.0" description = "Patch asyncio to allow nested event loops" category = "main" optional = false @@ -1391,46 +1489,18 @@ python-versions = ">=3.5" [[package]] name = "netaddr" -version = "0.10.1" +version = "1.2.1" description = "A network address manipulation library for Python" category = "main" optional = false -python-versions = "*" - -[[package]] -name = "notebook" -version = "6.5.4" -description = "A web-based notebook environment for interactive computing" -category = "main" -optional = false python-versions = ">=3.7" -[package.dependencies] -argon2-cffi = "*" -ipykernel = "*" -ipython-genutils = "*" -jinja2 = "*" -jupyter-client = ">=5.3.4" -jupyter-core = ">=4.6.1" -nbclassic = ">=0.4.7" -nbconvert = ">=5" -nbformat = "*" -nest-asyncio = ">=1.5" -prometheus-client = "*" -pyzmq = ">=17" -Send2Trash = ">=1.8.0" -terminado = ">=0.8.3" -tornado = ">=6.1" -traitlets = ">=4.2.1" - [package.extras] -docs = ["sphinx", "nbsphinx", "sphinxcontrib-github-alt", "sphinx-rtd-theme", "myst-parser"] -json-logging = ["json-logging"] -test = ["pytest", "coverage", "requests", "testpath", "nbval", "selenium (==4.1.5)", "pytest-cov", "requests-unixsocket"] +nicer-shell = ["ipython"] [[package]] name = "notebook-shim" -version = "0.2.3" +version = "0.2.4" description = "A shim layer for notebook traits and config" category = "main" optional = false @@ -1444,15 +1514,26 @@ test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync" [[package]] name = "numpy" -version = "1.26.3" +version = "1.26.4" description = "Fundamental package for array computing in Python" category = "main" optional = false python-versions = ">=3.9" +[[package]] +name = "openpyxl" +version = "3.1.2" +description = "A Python library to read/write Excel 2010 xlsx/xlsm files" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +et-xmlfile = "*" + [[package]] name = "overrides" -version = "7.4.0" +version = "7.7.0" description = "A decorator to automatically detect mismatch when overriding a method." category = "main" optional = false @@ -1468,7 +1549,7 @@ python-versions = ">=3.7" [[package]] name = "pandas" -version = "2.1.4" +version = "2.2.1" description = "Powerful data structures for data analysis, time series, and statistics" category = "main" optional = false @@ -1481,31 +1562,32 @@ numpy = [ ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" -tzdata = ">=2022.1" +tzdata = ">=2022.7" [package.extras] test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] -performance = ["bottleneck (>=1.3.4)", "numba (>=0.55.2)", "numexpr (>=2.8.0)"] -computation = ["scipy (>=1.8.1)", "xarray (>=2022.03.0)"] -fss = ["fsspec (>=2022.05.0)"] -aws = ["s3fs (>=2022.05.0)"] -gcp = ["gcsfs (>=2022.05.0)", "pandas-gbq (>=0.17.5)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.10)", "pyxlsb (>=1.0.9)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.3)"] -parquet = ["pyarrow (>=7.0.0)"] -feather = ["pyarrow (>=7.0.0)"] -hdf5 = ["tables (>=3.7.0)"] -spss = ["pyreadstat (>=1.1.5)"] -postgresql = ["SQLAlchemy (>=1.4.36)", "psycopg2 (>=2.9.3)"] -mysql = ["SQLAlchemy (>=1.4.36)", "pymysql (>=1.0.2)"] -sql-other = ["SQLAlchemy (>=1.4.36)"] -html = ["beautifulsoup4 (>=4.11.1)", "html5lib (>=1.1)", "lxml (>=4.8.0)"] -xml = ["lxml (>=4.8.0)"] -plot = ["matplotlib (>=3.6.1)"] -output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.8.10)"] -clipboard = ["PyQt5 (>=5.15.6)", "qtpy (>=2.2.0)"] -compression = ["zstandard (>=0.17.0)"] +pyarrow = ["pyarrow (>=10.0.1)"] +performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] +computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] +fss = ["fsspec (>=2022.11.0)"] +aws = ["s3fs (>=2022.11.0)"] +gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] +parquet = ["pyarrow (>=10.0.1)"] +feather = ["pyarrow (>=10.0.1)"] +hdf5 = ["tables (>=3.8.0)"] +spss = ["pyreadstat (>=1.2.0)"] +postgresql = ["SQLAlchemy (>=2.0.0)", "psycopg2 (>=2.9.6)", "adbc-driver-postgresql (>=0.8.0)"] +mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] +sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] +html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] +xml = ["lxml (>=4.9.2)"] +plot = ["matplotlib (>=3.6.3)"] +output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] +clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] +compression = ["zstandard (>=0.19.0)"] consortium-standard = ["dataframe-api-compat (>=0.1.7)"] -all = ["beautifulsoup4 (>=4.11.1)", "bottleneck (>=1.3.4)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=0.8.1)", "fsspec (>=2022.05.0)", "gcsfs (>=2022.05.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.8.0)", "matplotlib (>=3.6.1)", "numba (>=0.55.2)", "numexpr (>=2.8.0)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.10)", "pandas-gbq (>=0.17.5)", "psycopg2 (>=2.9.3)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "PyQt5 (>=5.15.6)", "pyreadstat (>=1.1.5)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "pyxlsb (>=1.0.9)", "qtpy (>=2.2.0)", "scipy (>=1.8.1)", "s3fs (>=2022.05.0)", "SQLAlchemy (>=1.4.36)", "tables (>=3.7.0)", "tabulate (>=0.8.10)", "xarray (>=2022.03.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.3)", "zstandard (>=0.17.0)"] +all = ["adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "PyQt5 (>=5.15.9)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "scipy (>=1.10.0)", "s3fs (>=2022.11.0)", "SQLAlchemy (>=2.0.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] [[package]] name = "pandocfilters" @@ -1548,19 +1630,19 @@ ptyprocess = ">=0.5" [[package]] name = "platformdirs" -version = "4.1.0" +version = "4.2.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "main" optional = false python-versions = ">=3.8" [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx-autodoc-typehints (>=1.24)", "sphinx (>=7.1.1)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "pytest (>=7.4)"] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx-autodoc-typehints (>=1.25.2)", "sphinx (>=7.2.6)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest (>=7.4.3)"] [[package]] name = "prometheus-client" -version = "0.19.0" +version = "0.20.0" description = "Python client for the Prometheus monitoring system." category = "main" optional = false @@ -1582,7 +1664,7 @@ wcwidth = "*" [[package]] name = "psutil" -version = "5.9.7" +version = "5.9.8" description = "Cross-platform lib for process and system monitoring in Python." category = "main" optional = false @@ -1698,14 +1780,6 @@ python-versions = ">=3.6.8" [package.extras] diagrams = ["railroad-diagrams", "jinja2"] -[[package]] -name = "pyrsistent" -version = "0.20.0" -description = "Persistent/Functional/Immutable data structures" -category = "main" -optional = false -python-versions = ">=3.8" - [[package]] name = "python-dateutil" version = "2.8.2" @@ -1738,7 +1812,7 @@ Levenshtein = "0.23.0" [[package]] name = "pytz" -version = "2023.3.post1" +version = "2024.1" description = "World timezone definitions, modern and historical" category = "main" optional = false @@ -1754,7 +1828,7 @@ python-versions = "*" [[package]] name = "pywinpty" -version = "2.0.12" +version = "2.0.13" description = "Pseudo terminal support for Windows from Python." category = "main" optional = false @@ -1779,42 +1853,6 @@ python-versions = ">=3.6" [package.dependencies] cffi = {version = "*", markers = "implementation_name == \"pypy\""} -[[package]] -name = "qtconsole" -version = "5.5.1" -description = "Jupyter Qt console" -category = "main" -optional = false -python-versions = ">= 3.8" - -[package.dependencies] -ipykernel = ">=4.1" -jupyter-client = ">=4.1" -jupyter-core = "*" -packaging = "*" -pygments = "*" -pyzmq = ">=17.1" -qtpy = ">=2.4.0" -traitlets = "<5.2.1 || >5.2.1,<5.2.2 || >5.2.2" - -[package.extras] -doc = ["Sphinx (>=1.3)"] -test = ["flaky", "pytest", "pytest-qt"] - -[[package]] -name = "qtpy" -version = "2.4.1" -description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6)." -category = "main" -optional = false -python-versions = ">=3.7" - -[package.dependencies] -packaging = "*" - -[package.extras] -test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"] - [[package]] name = "rapidfuzz" version = "3.6.1" @@ -1845,19 +1883,31 @@ tests = ["berkeleydb", "html5lib", "networkx", "pytest", "pytest-cov", "pytest-s [[package]] name = "redis" -version = "5.0.1" +version = "5.0.2" description = "Python client for Redis database and key-value store" category = "main" optional = false python-versions = ">=3.7" [package.dependencies] -async-timeout = {version = ">=4.0.2", markers = "python_full_version <= \"3.11.2\""} +async-timeout = ">=4.0.3" [package.extras] hiredis = ["hiredis (>=1.0.0)"] ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"] +[[package]] +name = "referencing" +version = "0.33.0" +description = "JSON Referencing + Python" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +attrs = ">=22.2.0" +rpds-py = ">=0.7.0" + [[package]] name = "regex" version = "2020.11.13" @@ -1903,6 +1953,14 @@ category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +[[package]] +name = "rpds-py" +version = "0.18.0" +description = "Python bindings to Rust's persistent data structures (rpds)" +category = "main" +optional = false +python-versions = ">=3.8" + [[package]] name = "send2trash" version = "1.8.2" @@ -1918,7 +1976,7 @@ win32 = ["pywin32"] [[package]] name = "sentry-sdk" -version = "1.39.2" +version = "1.40.6" description = "Python client for Sentry (https://sentry.io)" category = "main" optional = false @@ -1968,7 +2026,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" [[package]] name = "sniffio" -version = "1.3.0" +version = "1.3.1" description = "Sniff out which async library your code is running under" category = "main" optional = false @@ -2086,7 +2144,7 @@ python-versions = ">=3.7" [[package]] name = "tomlkit" -version = "0.12.3" +version = "0.12.4" description = "Style preserving TOML library" category = "main" optional = false @@ -2102,7 +2160,7 @@ python-versions = ">= 3.8" [[package]] name = "tqdm" -version = "4.66.1" +version = "4.66.2" description = "Fast, Extensible Progress Meter" category = "main" optional = false @@ -2119,15 +2177,23 @@ telegram = ["requests"] [[package]] name = "traitlets" -version = "5.9.0" +version = "5.14.1" description = "Traitlets Python configuration system" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest-mock", "pytest-mypy-testing", "pytest (>=7.0,<7.5)"] + +[[package]] +name = "types-python-dateutil" +version = "2.8.19.20240106" +description = "Typing stubs for python-dateutil" +category = "main" +optional = false +python-versions = ">=3.8" [[package]] name = "typesense" @@ -2142,7 +2208,7 @@ requests = "*" [[package]] name = "typing-extensions" -version = "4.9.0" +version = "4.10.0" description = "Backported and Experimental Type Hints for Python 3.8+" category = "main" optional = false @@ -2150,7 +2216,7 @@ python-versions = ">=3.8" [[package]] name = "tzdata" -version = "2023.4" +version = "2024.1" description = "Provider of IANA time zone data" category = "main" optional = false @@ -2164,6 +2230,17 @@ category = "main" optional = false python-versions = "*" +[[package]] +name = "uri-template" +version = "1.3.0" +description = "RFC 6570 URI Template Processor" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +dev = ["types-pyyaml", "mypy", "flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake8-commas", "flake8-comprehensions", "flake8-continuation", "flake8-datetimez", "flake8-docstrings", "flake8-import-order", "flake8-literal", "flake8-modern-annotations", "flake8-noqa", "flake8-pyproject", "flake8-requirements", "flake8-typechecking-import", "flake8-use-fstring", "pep8-naming"] + [[package]] name = "uritemplate" version = "4.1.1" @@ -2174,7 +2251,7 @@ python-versions = ">=3.6" [[package]] name = "urllib3" -version = "2.1.0" +version = "2.2.1" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false @@ -2182,6 +2259,7 @@ python-versions = ">=3.8" [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] @@ -2201,6 +2279,18 @@ category = "main" optional = false python-versions = "*" +[[package]] +name = "webcolors" +version = "1.13" +description = "A library for working with the color formats defined by HTML and CSS." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo", "sphinx", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-notfound-page", "sphinxext-opengraph"] +tests = ["pytest", "pytest-cov"] + [[package]] name = "webencodings" version = "0.5.1" @@ -2233,14 +2323,6 @@ python-versions = ">=3.5, <4" [package.extras] brotli = ["brotli"] -[[package]] -name = "widgetsnbextension" -version = "4.0.9" -description = "Jupyter interactive widgets for Jupyter Notebook" -category = "main" -optional = false -python-versions = ">=3.7" - [[package]] name = "wrapt" version = "1.16.0" @@ -2252,7 +2334,7 @@ python-versions = ">=3.6" [metadata] lock-version = "1.1" python-versions = ">=3.10,<3.12" -content-hash = "24abcc5489b28c1c675f5d19c071856f0ae2559f9b6f9142ad020a2cbc2587b8" +content-hash = "d4254cbefffd22b2e2f52aa5a0d1deac45c7be8e39b2739647cf9cb88852a7ea" [metadata.files] acdh-django-charts = [] @@ -2264,11 +2346,14 @@ apis-bibsonomy = [] appnope = [] argon2-cffi = [] argon2-cffi-bindings = [] +arrow = [] asgiref = [] astroid = [] asttokens = [] +async-lru = [] async-timeout = [] attrs = [] +babel = [] beautifulsoup4 = [] billiard = [] black = [] @@ -2313,33 +2398,39 @@ djangorestframework-csv = [] djangorestframework-jsonschema = [] djangorestframework-xml = [] drf-spectacular = [] +et-xmlfile = [] exceptiongroup = [] executing = [] fastjsonschema = [] flake8 = [] +fqdn = [] gunicorn = [] +h11 = [] +httpcore = [] +httpx = [] idna = [] inflection = [] ipykernel = [] ipython = [] -ipython-genutils = [] -ipywidgets = [] isodate = [] +isoduration = [] isort = [] jedi = [] jinja2 = [] jmespath = [] +json5 = [] +jsonpointer = [] jsonschema = [] -jupyter = [] +jsonschema-specifications = [] jupyter-client = [] -jupyter-console = [] jupyter-core = [] jupyter-events = [] +jupyter-lsp = [] jupyter-server = [] jupyter-server-terminals = [] -jupyter-tabnine = [] +jupyterlab = [] jupyterlab-pygments = [] -jupyterlab-widgets = [] +jupyterlab-server = [] kombu = [] lazy-object-proxy = [] levenshtein = [] @@ -2350,15 +2441,14 @@ mccabe = [] mistune = [] mypy-extensions = [] mysqlclient = [] -nbclassic = [] nbclient = [] nbconvert = [] nbformat = [] nest-asyncio = [] netaddr = [] -notebook = [] notebook-shim = [] numpy = [] +openpyxl = [] overrides = [] packaging = [] pandas = [] @@ -2380,7 +2470,6 @@ pygments = [] pylint = [] pymeeus = [] pyparsing = [] -pyrsistent = [] python-dateutil = [] python-json-logger = [] python-levenshtein = [] @@ -2389,15 +2478,15 @@ pywin32 = [] pywinpty = [] pyyaml = [] pyzmq = [] -qtconsole = [] -qtpy = [] rapidfuzz = [] rdflib = [] redis = [] +referencing = [] regex = [] requests = [] rfc3339-validator = [] rfc3986-validator = [] +rpds-py = [] send2trash = [] sentry-sdk = [] six = [] @@ -2414,16 +2503,18 @@ tomlkit = [] tornado = [] tqdm = [] traitlets = [] +types-python-dateutil = [] typesense = [] typing-extensions = [] tzdata = [] unicodecsv = [] +uri-template = [] uritemplate = [] urllib3 = [] vine = [] wcwidth = [] +webcolors = [] webencodings = [] websocket-client = [] whitenoise = [] -widgetsnbextension = [] wrapt = [] diff --git a/pyproject.toml b/pyproject.toml index 4c3df91c..a33b996e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,8 +20,6 @@ django-csp = "^3.7" apis-bibsonomy = "0.4.1" apis-ampel = "^0.2.0" pylint = "^2.6.0" -jupyter = "^1.0.0" -jupyter-tabnine = "^1.2.3" black = "^22.12.0" flake8 = "^6.0.0" celery = "^5.3.4" @@ -30,8 +28,6 @@ django-celery-results = "^2.5.1" django-debug-toolbar = "^4.2.0" Django = "3.2.18" psycopg2 = "^2.9.7" -traitlets = "<=5.9.0" -jupyter-server = "^2.7.3" typesense = "^0.17.0" redis = "^5.0.1" pandas = "^2.0" @@ -48,8 +44,6 @@ django-reversion = "^3.0.8" django-tables2 = "^2.3.3" djangorestframework-csv = "^2.1.0" djangorestframework-xml = "^2.0.0" -jmespath = "^0.10.0" -jsonschema = "^3.2.0" lxml = "^4.6.2" convertdate = "^2.3.0" rdflib = "~6.1.1" @@ -64,6 +58,10 @@ django-summernote = "^0.8.11" djangorestframework-jsonschema = "^0.1.1" django-admin-csvexport = "^1.9" tqdm = "*" +jupyterlab = "^4.1.2" +openpyxl = "^3.1.2" +jmespath = "^1.0.1" + [build-system] diff --git a/viecpro_deduplication/templates/del/ampel_action_template.html b/viecpro_deduplication/templates/del/ampel_action_template.html deleted file mode 100644 index baf2e3cf..00000000 --- a/viecpro_deduplication/templates/del/ampel_action_template.html +++ /dev/null @@ -1,138 +0,0 @@ -
-
-
-
- {% if instance.ampel.note %} - - {% else %} - - {% endif %} -
- - \ No newline at end of file diff --git a/viecpro_deduplication/templates/merge/ampel_action_template.html b/viecpro_deduplication/templates/merge/ampel_action_template.html deleted file mode 100644 index baf2e3cf..00000000 --- a/viecpro_deduplication/templates/merge/ampel_action_template.html +++ /dev/null @@ -1,138 +0,0 @@ -
-
-
-
- {% if instance.ampel.note %} - - {% else %} - - {% endif %} -
- - \ No newline at end of file diff --git a/viecpro_deduplication/templates/tool_page.html b/viecpro_deduplication/templates/tool_page.html deleted file mode 100644 index edf83548..00000000 --- a/viecpro_deduplication/templates/tool_page.html +++ /dev/null @@ -1,1636 +0,0 @@ -{% extends "webpage/base.html" %} -{% load static %} -{% load stats_extras %} -{% load webpage_extras %} - -{% block content %} - - - -
-
-
- - - - - - -
-
-
-
-

Performing manual merge / re-merge...

- -
- -
-
- -
- - -
-
-
-
- -
- -
-
-
- -

Selected

- - -
-
-
- -

Detail / Suggestions

- -
- - -
-
- -
-
-
-
- - - -
- - -
-
- - -
-
- - -
-
- - - {% for b in Buttons %} - {% if forloop.first %} - - {% elif forloop.last %} - - - {% else %} - - - {% endif %} - - {% endfor %} - - - - - - - -
- -
-
-
- - - -
- - -
-
- - -
-
- - -
-
- - - -
- -
    - -
-
-
-
- Not implemented yet -
- -
-
-
-
-

Singles

- -
- - -
-
- -
-
- - - - - - - - - - - - - - - - {% endblock %} \ No newline at end of file diff --git a/viecpro_import/templates/element_templates/custom_ajax_form_generic.html b/viecpro_import/templates/element_templates/custom_ajax_form_generic.html deleted file mode 100644 index b674a87f..00000000 --- a/viecpro_import/templates/element_templates/custom_ajax_form_generic.html +++ /dev/null @@ -1,9 +0,0 @@ -
-
- {% load crispy_forms_tags %} - {% crispy form form.helper %} -
- -
-
-
\ No newline at end of file diff --git a/webpage/templates/webpage/base.html b/webpage/templates/webpage/base.html index fa3276d9..48d3d854 100644 --- a/webpage/templates/webpage/base.html +++ b/webpage/templates/webpage/base.html @@ -247,7 +247,7 @@ >
- {% endif %} {% if "viecpro_import" in APPS%} + {% endif %} {% if "apis_import_project" in APPS%}
- {% endif %} {% if "viecpro_deduplication" in APPS%} + {% endif %} {% if "dubletten_tool" in APPS%}