From 2643f4611e14ef234daf798be5aad5ba0ca75dca Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:36:33 -0300 Subject: [PATCH 01/24] =?UTF-8?q?Corrige=20nome=20da=20aplica=C3=A7=C3=A3o?= =?UTF-8?q?=20para=20scielo=5Fusage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .envs/.local/.postgres | 2 +- .envs/.production/.postgres | 2 +- local.yml | 32 ++++++++++++++++---------------- production.yml | 12 ++++++------ 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.envs/.local/.postgres b/.envs/.local/.postgres index 89f5c62..94a9fdd 100644 --- a/.envs/.local/.postgres +++ b/.envs/.local/.postgres @@ -2,6 +2,6 @@ # ------------------------------------------------------------------------------ POSTGRES_HOST=postgres POSTGRES_PORT=5432 -POSTGRES_DB=scielo_core +POSTGRES_DB=scielo_usage POSTGRES_USER=GVRFlLmcCNfGLhsFvSnCioYOPJPYpyfj POSTGRES_PASSWORD=BQ4hSUL4rdj5WZLdR8ilDLRQMvCtzo0caMaXDO0olGsmycQjlcZlTVK9DepZR8kk diff --git a/.envs/.production/.postgres b/.envs/.production/.postgres index 7466c92..94a9fdd 100644 --- a/.envs/.production/.postgres +++ b/.envs/.production/.postgres @@ -2,6 +2,6 @@ # ------------------------------------------------------------------------------ POSTGRES_HOST=postgres POSTGRES_PORT=5432 -POSTGRES_DB=core +POSTGRES_DB=scielo_usage POSTGRES_USER=GVRFlLmcCNfGLhsFvSnCioYOPJPYpyfj POSTGRES_PASSWORD=BQ4hSUL4rdj5WZLdR8ilDLRQMvCtzo0caMaXDO0olGsmycQjlcZlTVK9DepZR8kk diff --git a/local.yml b/local.yml index 9b31237..2ad23cf 100644 --- a/local.yml +++ b/local.yml @@ -5,8 +5,8 @@ services: build: context: . dockerfile: ./compose/local/django/Dockerfile - image: scielo_core_local_django - container_name: scielo_core_local_django + image: scielo_usage_local_django + container_name: scielo_usage_local_django depends_on: - redis - postgres @@ -29,7 +29,7 @@ services: pgbouncer: image: edoburu/pgbouncer:1.14.0 - container_name: scielo_core_local_pgbouncer + container_name: scielo_usage_local_pgbouncer environment: - DATABASE_URL=postgres://GVRFlLmcCNfGLhsFvSnCioYOPJPYpyfj:BQ4hSUL4rdj5WZLdR8ilDLRQMvCtzo0caMaXDO0olGsmycQjlcZlTVK9DepZR8kk@postgres/scielo_core - MAX_CLIENT_CONN=100 @@ -42,7 +42,7 @@ services: solr: image: solr:9.3 - container_name: scielo_core_local_solr + container_name: scielo_usage_local_solr ports: - "8983:8983" volumes: @@ -53,7 +53,7 @@ services: minio: image: 'minio/minio:RELEASE.2024-03-21T23-13-43Z' - container_name: scielo_core_local_minio + container_name: scielo_usage_local_minio ports: - '9000:9000' - '9001:9001' @@ -67,8 +67,8 @@ services: build: context: . dockerfile: ./compose/production/postgres/Dockerfile - image: scielo_core_local_postgres - container_name: scielo_core_local_postgres + image: scielo_usage_local_postgres + container_name: scielo_usage_local_postgres volumes: - ../scms_data/usage/postgresql:/var/lib/postgresql/data:Z - ../scms_data/usage/postgresql_backup:/backups:z @@ -79,26 +79,26 @@ services: adminer: image: adminer - container_name: scielo_core_local_adminer + container_name: scielo_usage_local_adminer ports: - "8089:8080" mailhog: image: mailhog/mailhog:v1.0.0 - container_name: scielo_core_local_mailhog + container_name: scielo_usage_local_mailhog ports: - "8029:8025" redis: image: redis:6 - container_name: scielo_core_local_redis + container_name: scielo_usage_local_redis ports: - "6399:6379" celeryworker: <<: *django - image: scielo_core_local_celeryworker - container_name: scielo_core_local_celeryworker + image: scielo_usage_local_celeryworker + container_name: scielo_usage_local_celeryworker depends_on: - redis - postgres @@ -108,8 +108,8 @@ services: celerybeat: <<: *django - image: scielo_core_local_celerybeat - container_name: scielo_core_local_celerybeat + image: scielo_usage_local_celerybeat + container_name: scielo_usage_local_celerybeat depends_on: - redis - postgres @@ -119,8 +119,8 @@ services: flower: <<: *django - image: scielo_core_local_flower - container_name: scielo_core_local_flower + image: scielo_usage_local_flower + container_name: scielo_usage_local_flower ports: - "5559:5555" command: /start-flower diff --git a/production.yml b/production.yml index cedc98d..d497ebe 100644 --- a/production.yml +++ b/production.yml @@ -5,7 +5,7 @@ services: build: context: . dockerfile: ./compose/production/django/Dockerfile - image: core_production_django + image: scielo_usage_production_django platform: linux/x86_64 depends_on: - postgres @@ -37,7 +37,7 @@ services: build: context: . dockerfile: ./compose/production/postgres/Dockerfile - image: core_production_postgres + image: scielo_usage_production_postgres volumes: - ../scms_data/scielo_core/data_prod:/var/lib/postgresql/data:Z - ../scms_data/scielo_core/data_prod_backup:/backups:z @@ -61,7 +61,7 @@ services: build: context: . dockerfile: ./compose/production/traefik/Dockerfile - image: core_production_traefik + image: scielo_usage_production_traefik depends_on: - django volumes: @@ -78,7 +78,7 @@ services: celeryworker: <<: *django - image: core_production_celeryworker + image: scielo_usage_production_celeryworker depends_on: - redis - postgres @@ -86,7 +86,7 @@ services: celerybeat: <<: *django - image: core_production_celerybeat + image: scielo_usage_production_celerybeat depends_on: - redis - postgres @@ -94,5 +94,5 @@ services: flower: <<: *django - image: core_production_flower + image: scielo_usage_production_flower command: /start-flower From 98d3382e74aa8fcc18ae9d7b5e0db2b30f1c91fa Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:37:18 -0300 Subject: [PATCH 02/24] =?UTF-8?q?Remove=20arquivos=20de=20migra=C3=A7?= =?UTF-8?q?=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- collection/migrations/0001_initial.py | 223 ------------- core/home/migrations/0001_initial.py | 194 ----------- core/migrations/0001_initial.py | 280 ---------------- log_manager/migrations/0001_initial.py | 435 ------------------------- tracker/migrations/0001_initial.py | 99 ------ 5 files changed, 1231 deletions(-) delete mode 100644 collection/migrations/0001_initial.py delete mode 100644 core/home/migrations/0001_initial.py delete mode 100644 core/migrations/0001_initial.py delete mode 100644 log_manager/migrations/0001_initial.py delete mode 100644 tracker/migrations/0001_initial.py diff --git a/collection/migrations/0001_initial.py b/collection/migrations/0001_initial.py deleted file mode 100644 index f63bd79..0000000 --- a/collection/migrations/0001_initial.py +++ /dev/null @@ -1,223 +0,0 @@ -# Generated by Django 4.2.7 on 2024-04-12 19:20 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import modelcluster.fields - - -class Migration(migrations.Migration): - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("core", "0001_initial"), - ] - - operations = [ - migrations.CreateModel( - name="Collection", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "created", - models.DateTimeField( - auto_now_add=True, verbose_name="Creation date" - ), - ), - ( - "updated", - models.DateTimeField( - auto_now=True, verbose_name="Last update date" - ), - ), - ( - "acron3", - models.CharField( - blank=True, - max_length=10, - null=True, - verbose_name="Acronym with 3 chars", - ), - ), - ( - "acron2", - models.CharField( - blank=True, - max_length=10, - null=True, - verbose_name="Acronym with 2 chars", - ), - ), - ( - "code", - models.CharField( - blank=True, max_length=10, null=True, verbose_name="Código" - ), - ), - ( - "domain", - models.URLField(blank=True, null=True, verbose_name="Domain"), - ), - ( - "main_name", - models.TextField(blank=True, null=True, verbose_name="Main name"), - ), - ( - "status", - models.CharField( - blank=True, - choices=[ - ("certified", "Certified"), - ("development", "Development"), - ("diffusion", "Diffusion"), - ("independent", "Independent"), - ], - max_length=20, - null=True, - verbose_name="Status", - ), - ), - ( - "has_analytics", - models.BooleanField( - blank=True, null=True, verbose_name="Has analytics" - ), - ), - ( - "collection_type", - models.CharField( - blank=True, - choices=[ - ("journals", "Journals"), - ("preprints", "Preprints"), - ("repositories", "Repositories"), - ("books", "Books"), - ("data", "Data repository"), - ], - max_length=20, - null=True, - verbose_name="Collection Type", - ), - ), - ( - "is_active", - models.BooleanField( - blank=True, null=True, verbose_name="Is active" - ), - ), - ( - "foundation_date", - models.DateField( - blank=True, null=True, verbose_name="Foundation data" - ), - ), - ( - "creator", - models.ForeignKey( - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_creator", - to=settings.AUTH_USER_MODEL, - verbose_name="Creator", - ), - ), - ( - "updated_by", - models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_last_mod_user", - to=settings.AUTH_USER_MODEL, - verbose_name="Updater", - ), - ), - ], - options={ - "verbose_name": "Coleção", - "verbose_name_plural": "Coleções", - "ordering": ["main_name"], - }, - ), - migrations.CreateModel( - name="CollectionName", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("text", models.TextField(blank=True, null=True, verbose_name="Texto")), - ( - "collection", - modelcluster.fields.ParentalKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="collection_name", - to="collection.collection", - ), - ), - ( - "language", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to="core.language", - verbose_name="Idioma", - ), - ), - ], - options={ - "abstract": False, - }, - ), - migrations.AddIndex( - model_name="collection", - index=models.Index(fields=["acron3"], name="collection__acron3_a9f5cf_idx"), - ), - migrations.AddIndex( - model_name="collection", - index=models.Index(fields=["acron2"], name="collection__acron2_a6ae4c_idx"), - ), - migrations.AddIndex( - model_name="collection", - index=models.Index(fields=["code"], name="collection__code_e4f01a_idx"), - ), - migrations.AddIndex( - model_name="collection", - index=models.Index(fields=["domain"], name="collection__domain_f79fa7_idx"), - ), - migrations.AddIndex( - model_name="collection", - index=models.Index( - fields=["main_name"], name="collection__main_na_f316bd_idx" - ), - ), - migrations.AddIndex( - model_name="collection", - index=models.Index(fields=["status"], name="collection__status_ee0d16_idx"), - ), - migrations.AddIndex( - model_name="collection", - index=models.Index( - fields=["collection_type"], name="collection__collect_a99863_idx" - ), - ), - ] diff --git a/core/home/migrations/0001_initial.py b/core/home/migrations/0001_initial.py deleted file mode 100644 index a1256f2..0000000 --- a/core/home/migrations/0001_initial.py +++ /dev/null @@ -1,194 +0,0 @@ -# Generated by Django 4.2.7 on 2024-04-12 19:20 - -from django.db import migrations, models -import django.db.models.deletion -import modelcluster.fields -import wagtail.contrib.forms.models -import wagtail.fields - - -class Migration(migrations.Migration): - initial = True - - dependencies = [ - ("wagtailcore", "0089_log_entry_data_json_null_to_object"), - ] - - operations = [ - migrations.CreateModel( - name="FormPage", - fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.page", - ), - ), - ( - "to_address", - models.CharField( - blank=True, - help_text="Optional - form submissions will be emailed to these addresses. Separate multiple addresses by comma.", - max_length=255, - validators=[wagtail.contrib.forms.models.validate_to_address], - verbose_name="to address", - ), - ), - ( - "from_address", - models.EmailField( - blank=True, max_length=255, verbose_name="from address" - ), - ), - ( - "subject", - models.CharField( - blank=True, max_length=255, verbose_name="subject" - ), - ), - ( - "intro", - wagtail.fields.RichTextField( - blank=True, help_text="Texto de introdução ao formulário." - ), - ), - ( - "thank_you_text", - wagtail.fields.RichTextField( - blank=True, - help_text="Adicione a mensagem que será exibido após o envio do formulário.", - ), - ), - ], - options={ - "verbose_name": "Página com formulário.", - "verbose_name_plural": "Páginas com formulários.", - }, - bases=( - wagtail.contrib.forms.models.FormMixin, - "wagtailcore.page", - models.Model, - ), - ), - migrations.CreateModel( - name="HomePage", - fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.page", - ), - ), - ], - options={ - "abstract": False, - }, - bases=("wagtailcore.page",), - ), - migrations.CreateModel( - name="FormField", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "sort_order", - models.IntegerField(blank=True, editable=False, null=True), - ), - ( - "clean_name", - models.CharField( - blank=True, - default="", - help_text="Safe name of the form field, the label converted to ascii_snake_case", - max_length=255, - verbose_name="name", - ), - ), - ( - "label", - models.CharField( - help_text="The label of the form field", - max_length=255, - verbose_name="label", - ), - ), - ( - "field_type", - models.CharField( - choices=[ - ("singleline", "Single line text"), - ("multiline", "Multi-line text"), - ("email", "Email"), - ("number", "Number"), - ("url", "URL"), - ("checkbox", "Checkbox"), - ("checkboxes", "Checkboxes"), - ("dropdown", "Drop down"), - ("multiselect", "Multiple select"), - ("radio", "Radio buttons"), - ("date", "Date"), - ("datetime", "Date/time"), - ("hidden", "Hidden field"), - ], - max_length=16, - verbose_name="field type", - ), - ), - ( - "required", - models.BooleanField(default=True, verbose_name="required"), - ), - ( - "choices", - models.TextField( - blank=True, - help_text="Comma or new line separated list of choices. Only applicable in checkboxes, radio and dropdown.", - verbose_name="choices", - ), - ), - ( - "default_value", - models.TextField( - blank=True, - help_text="Default value. Comma or new line separated values supported for checkboxes.", - verbose_name="default value", - ), - ), - ( - "help_text", - models.CharField( - blank=True, max_length=255, verbose_name="help text" - ), - ), - ( - "page", - modelcluster.fields.ParentalKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="form_fields", - to="home.formpage", - ), - ), - ], - options={ - "ordering": ["sort_order"], - "abstract": False, - }, - ), - ] diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py deleted file mode 100644 index 6371e5a..0000000 --- a/core/migrations/0001_initial.py +++ /dev/null @@ -1,280 +0,0 @@ -# Generated by Django 4.2.7 on 2024-04-12 19:20 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import wagtail.fields -import wagtail.search.index - - -class Migration(migrations.Migration): - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ] - - operations = [ - migrations.CreateModel( - name="FlexibleDate", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "year", - models.IntegerField(blank=True, null=True, verbose_name="Year"), - ), - ( - "month", - models.IntegerField(blank=True, null=True, verbose_name="Month"), - ), - ("day", models.IntegerField(blank=True, null=True, verbose_name="Day")), - ], - ), - migrations.CreateModel( - name="Language", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "created", - models.DateTimeField( - auto_now_add=True, verbose_name="Creation date" - ), - ), - ( - "updated", - models.DateTimeField( - auto_now=True, verbose_name="Last update date" - ), - ), - ( - "name", - models.TextField( - blank=True, null=True, verbose_name="Language Name" - ), - ), - ( - "code2", - models.TextField( - blank=True, null=True, verbose_name="Language code 2" - ), - ), - ( - "creator", - models.ForeignKey( - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_creator", - to=settings.AUTH_USER_MODEL, - verbose_name="Creator", - ), - ), - ( - "updated_by", - models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_last_mod_user", - to=settings.AUTH_USER_MODEL, - verbose_name="Updater", - ), - ), - ], - options={ - "verbose_name": "Idioma", - "verbose_name_plural": "Languages", - }, - ), - migrations.CreateModel( - name="License", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "created", - models.DateTimeField( - auto_now_add=True, verbose_name="Creation date" - ), - ), - ( - "updated", - models.DateTimeField( - auto_now=True, verbose_name="Last update date" - ), - ), - ( - "license_type", - models.CharField(blank=True, max_length=255, null=True), - ), - ( - "creator", - models.ForeignKey( - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_creator", - to=settings.AUTH_USER_MODEL, - verbose_name="Creator", - ), - ), - ( - "updated_by", - models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_last_mod_user", - to=settings.AUTH_USER_MODEL, - verbose_name="Updater", - ), - ), - ], - options={ - "verbose_name": "License", - "verbose_name_plural": "Licenses", - }, - ), - migrations.CreateModel( - name="Gender", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "code", - models.CharField( - blank=True, max_length=5, null=True, verbose_name="Código" - ), - ), - ( - "gender", - models.CharField( - blank=True, max_length=50, null=True, verbose_name="Sex" - ), - ), - ], - options={ - "unique_together": {("code", "gender")}, - }, - bases=(wagtail.search.index.Indexed, models.Model), - ), - migrations.CreateModel( - name="LicenseStatement", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "created", - models.DateTimeField( - auto_now_add=True, verbose_name="Creation date" - ), - ), - ( - "updated", - models.DateTimeField( - auto_now=True, verbose_name="Last update date" - ), - ), - ("url", models.CharField(blank=True, max_length=255, null=True)), - ("license_p", wagtail.fields.RichTextField(blank=True, null=True)), - ( - "creator", - models.ForeignKey( - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_creator", - to=settings.AUTH_USER_MODEL, - verbose_name="Creator", - ), - ), - ( - "language", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to="core.language", - ), - ), - ( - "license", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to="core.license", - ), - ), - ( - "updated_by", - models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_last_mod_user", - to=settings.AUTH_USER_MODEL, - verbose_name="Updater", - ), - ), - ], - options={ - "verbose_name": "License", - "verbose_name_plural": "Licenses", - "indexes": [ - models.Index(fields=["url"], name="core_licens_url_ec8078_idx") - ], - "unique_together": {("url", "license_p", "language")}, - }, - ), - migrations.AddIndex( - model_name="license", - index=models.Index( - fields=["license_type"], name="core_licens_license_5d1905_idx" - ), - ), - migrations.AlterUniqueTogether( - name="license", - unique_together={("license_type",)}, - ), - ] diff --git a/log_manager/migrations/0001_initial.py b/log_manager/migrations/0001_initial.py deleted file mode 100644 index bd547d2..0000000 --- a/log_manager/migrations/0001_initial.py +++ /dev/null @@ -1,435 +0,0 @@ -# Generated by Django 4.2.7 on 2024-04-12 19:20 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("collection", "0001_initial"), - ] - - operations = [ - migrations.CreateModel( - name="LogFile", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "created", - models.DateTimeField( - auto_now_add=True, verbose_name="Creation date" - ), - ), - ( - "updated", - models.DateTimeField( - auto_now=True, verbose_name="Last update date" - ), - ), - ( - "hash", - models.CharField( - blank=True, - max_length=32, - null=True, - unique=True, - verbose_name="Hash MD5", - ), - ), - ("path", models.CharField(max_length=255, verbose_name="Name")), - ("stat_result", models.JSONField(verbose_name="OS Stat Result")), - ( - "status", - models.CharField( - choices=[ - ("CRE", "Created"), - ("QUE", "Queued"), - ("PAR", "Parsing"), - ("PRO", "Processed"), - ("INV", "Invalidated"), - ], - max_length=3, - verbose_name="Status", - ), - ), - ( - "collection", - models.ForeignKey( - on_delete=django.db.models.deletion.DO_NOTHING, - to="collection.collection", - verbose_name="Collection", - ), - ), - ( - "creator", - models.ForeignKey( - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_creator", - to=settings.AUTH_USER_MODEL, - verbose_name="Creator", - ), - ), - ( - "updated_by", - models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_last_mod_user", - to=settings.AUTH_USER_MODEL, - verbose_name="Updater", - ), - ), - ], - options={ - "verbose_name": "Log File", - "verbose_name_plural": "Log Files", - }, - ), - migrations.CreateModel( - name="LogProcessedRow", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "created", - models.DateTimeField( - auto_now_add=True, verbose_name="Creation date" - ), - ), - ( - "updated", - models.DateTimeField( - auto_now=True, verbose_name="Last update date" - ), - ), - ("server_time", models.DateTimeField(verbose_name="Server Time")), - ("browser_name", models.CharField(verbose_name="Browser Name")), - ("browser_version", models.CharField(verbose_name="Browser Version")), - ("ip", models.CharField(verbose_name="IP")), - ("latitude", models.FloatField(verbose_name="Latitude")), - ("longitude", models.FloatField(verbose_name="Longitude")), - ("action_name", models.CharField(verbose_name="Action Name")), - ( - "creator", - models.ForeignKey( - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_creator", - to=settings.AUTH_USER_MODEL, - verbose_name="Creator", - ), - ), - ( - "log_file", - models.ForeignKey( - on_delete=django.db.models.deletion.DO_NOTHING, - to="log_manager.logfile", - verbose_name="LogFile", - ), - ), - ( - "updated_by", - models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_last_mod_user", - to=settings.AUTH_USER_MODEL, - verbose_name="Updater", - ), - ), - ], - options={ - "verbose_name": "Log Processed Row", - "verbose_name_plural": "Log Processed Rows", - "indexes": [ - models.Index( - fields=["server_time"], name="log_manager_server__3149e9_idx" - ), - models.Index( - fields=["browser_name"], name="log_manager_browser_7f7496_idx" - ), - models.Index( - fields=["browser_version"], - name="log_manager_browser_54ac66_idx", - ), - models.Index(fields=["ip"], name="log_manager_ip_8ca66d_idx"), - models.Index( - fields=["latitude"], name="log_manager_latitud_dd27d0_idx" - ), - models.Index( - fields=["longitude"], name="log_manager_longitu_0fae10_idx" - ), - models.Index( - fields=["action_name"], name="log_manager_action__76b1de_idx" - ), - ], - "unique_together": { - ( - "server_time", - "browser_name", - "browser_version", - "ip", - "latitude", - "longitude", - "action_name", - ) - }, - }, - ), - migrations.CreateModel( - name="LogFileDate", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "created", - models.DateTimeField( - auto_now_add=True, verbose_name="Creation date" - ), - ), - ( - "updated", - models.DateTimeField( - auto_now=True, verbose_name="Last update date" - ), - ), - ("date", models.DateField(verbose_name="Date")), - ( - "creator", - models.ForeignKey( - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_creator", - to=settings.AUTH_USER_MODEL, - verbose_name="Creator", - ), - ), - ( - "log_file", - models.ForeignKey( - blank=True, - on_delete=django.db.models.deletion.DO_NOTHING, - to="log_manager.logfile", - verbose_name="Log File", - ), - ), - ( - "updated_by", - models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_last_mod_user", - to=settings.AUTH_USER_MODEL, - verbose_name="Updater", - ), - ), - ], - options={ - "verbose_name": "Log File Date", - "verbose_name_plural": "Log File Dates", - "ordering": ["-date"], - "unique_together": {("date", "log_file")}, - }, - ), - migrations.CreateModel( - name="CollectionConfig", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "created", - models.DateTimeField( - auto_now_add=True, verbose_name="Creation date" - ), - ), - ( - "updated", - models.DateTimeField( - auto_now=True, verbose_name="Last update date" - ), - ), - ( - "config_type", - models.CharField( - choices=[ - ("LOG", "Logs"), - ("PRO", "Processed Data"), - ("MTS", "Metrics"), - ("DAY", "Files per Day"), - ], - max_length=3, - verbose_name="Type", - ), - ), - ("value", models.CharField(max_length=255, verbose_name="Value")), - ( - "is_enabled", - models.BooleanField(default=True, verbose_name="Enabled"), - ), - ("start_date", models.DateField(verbose_name="Start Date")), - ( - "end_date", - models.DateField(blank=True, null=True, verbose_name="End Date"), - ), - ( - "collection", - models.ForeignKey( - on_delete=django.db.models.deletion.DO_NOTHING, - to="collection.collection", - verbose_name="Collection", - ), - ), - ( - "creator", - models.ForeignKey( - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_creator", - to=settings.AUTH_USER_MODEL, - verbose_name="Creator", - ), - ), - ( - "updated_by", - models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_last_mod_user", - to=settings.AUTH_USER_MODEL, - verbose_name="Updater", - ), - ), - ], - options={ - "verbose_name": "Collection Configuration", - "verbose_name_plural": "Collection Configurations", - "ordering": ["collection", "value"], - "unique_together": {("config_type", "value")}, - }, - ), - migrations.CreateModel( - name="ApplicationConfig", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ( - "created", - models.DateTimeField( - auto_now_add=True, verbose_name="Creation date" - ), - ), - ( - "updated", - models.DateTimeField( - auto_now=True, verbose_name="Last update date" - ), - ), - ( - "config_type", - models.CharField( - choices=[ - ("SUP", "Supplies Directory"), - ("GEO", "Supply Geolocation Map Path"), - ("ROB", "Supply Counter Robots Path"), - ("ACR", "Dictionary ISSN-ACRONYM Path"), - ("DAT", "Dictionary PID-DATES Path"), - ("ISS", "Dictionary PID-ISSN Path"), - ("LAN", "Dictionary PID-FORMAT-LANG Path"), - ("PDF", "Dictionary PDF-PID Path"), - ("LFF", "Log File Supported Format"), - ], - max_length=3, - verbose_name="Config Type", - ), - ), - ("value", models.CharField(max_length=255, verbose_name="Value")), - ( - "is_enabled", - models.BooleanField(default=True, verbose_name="Enabled"), - ), - ("version_number", models.IntegerField(verbose_name="Version Number")), - ( - "creator", - models.ForeignKey( - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_creator", - to=settings.AUTH_USER_MODEL, - verbose_name="Creator", - ), - ), - ( - "updated_by", - models.ForeignKey( - blank=True, - editable=False, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - related_name="%(class)s_last_mod_user", - to=settings.AUTH_USER_MODEL, - verbose_name="Updater", - ), - ), - ], - options={ - "verbose_name": "Application Config", - "verbose_name_plural": "Application Configs", - "ordering": ["value"], - "unique_together": {("config_type", "value", "version_number")}, - }, - ), - ] diff --git a/tracker/migrations/0001_initial.py b/tracker/migrations/0001_initial.py deleted file mode 100644 index ba9340b..0000000 --- a/tracker/migrations/0001_initial.py +++ /dev/null @@ -1,99 +0,0 @@ -# Generated by Django 4.2.7 on 2024-04-12 19:20 - -from django.db import migrations, models -import uuid - - -class Migration(migrations.Migration): - initial = True - - dependencies = [] - - operations = [ - migrations.CreateModel( - name="UnexpectedEvent", - fields=[ - ( - "id", - models.UUIDField( - default=uuid.uuid4, - editable=False, - primary_key=True, - serialize=False, - ), - ), - ( - "created", - models.DateTimeField( - auto_now_add=True, verbose_name="Creation date" - ), - ), - ( - "exception_type", - models.TextField( - blank=True, null=True, verbose_name="Exception Type" - ), - ), - ( - "exception_msg", - models.TextField( - blank=True, null=True, verbose_name="Exception Msg" - ), - ), - ("traceback", models.JSONField(blank=True, null=True)), - ("detail", models.JSONField(blank=True, null=True)), - ], - options={ - "indexes": [ - models.Index( - fields=["exception_type"], name="tracker_une_excepti_47ede4_idx" - ) - ], - }, - ), - migrations.CreateModel( - name="Hello", - fields=[ - ( - "id", - models.UUIDField( - default=uuid.uuid4, - editable=False, - primary_key=True, - serialize=False, - ), - ), - ("status", models.BooleanField(blank=True, default=None, null=True)), - ( - "created", - models.DateTimeField( - auto_now_add=True, verbose_name="Creation date" - ), - ), - ( - "exception_type", - models.TextField( - blank=True, null=True, verbose_name="Exception Type" - ), - ), - ( - "exception_msg", - models.TextField( - blank=True, null=True, verbose_name="Exception Msg" - ), - ), - ("traceback", models.JSONField(blank=True, null=True)), - ("detail", models.JSONField(blank=True, null=True)), - ], - options={ - "indexes": [ - models.Index( - fields=["status"], name="tracker_hel_status_cfcbfa_idx" - ), - models.Index( - fields=["exception_type"], name="tracker_hel_excepti_a64469_idx" - ), - ], - }, - ), - ] From a2a5a2dc2f558ed13a46cd64cbd32d2cd5254089 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:37:50 -0300 Subject: [PATCH 03/24] =?UTF-8?q?Remove=20de=20core=20apis=20n=C3=A3o=20us?= =?UTF-8?q?adas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/api/__init__.py | 0 core/api/v1/__init__.py | 0 core/api/v1/serializers.py | 24 ------------------------ core/api/wagtail/api.py | 15 --------------- 4 files changed, 39 deletions(-) delete mode 100644 core/api/__init__.py delete mode 100644 core/api/v1/__init__.py delete mode 100644 core/api/v1/serializers.py delete mode 100644 core/api/wagtail/api.py diff --git a/core/api/__init__.py b/core/api/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/core/api/v1/__init__.py b/core/api/v1/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/core/api/v1/serializers.py b/core/api/v1/serializers.py deleted file mode 100644 index ccb2f26..0000000 --- a/core/api/v1/serializers.py +++ /dev/null @@ -1,24 +0,0 @@ -from rest_framework import serializers - -from core.models import Language, License - - -class LanguageSerializer(serializers.ModelSerializer): - class Meta: - model = Language - fields = [ - "code2", - ] - datatables_always_serialize = ("id",) - - -class LicenseSerializer(serializers.ModelSerializer): - language = LanguageSerializer(many=False, read_only=True) - - class Meta: - model = License - fields = [ - "url", - "license_p", - "language", - ] diff --git a/core/api/wagtail/api.py b/core/api/wagtail/api.py deleted file mode 100644 index 4e1ecfa..0000000 --- a/core/api/wagtail/api.py +++ /dev/null @@ -1,15 +0,0 @@ -from wagtail.api.v2.router import WagtailAPIRouter -from wagtail.api.v2.views import PagesAPIViewSet -from wagtail.documents.api.v2.views import DocumentsAPIViewSet -from wagtail.images.api.v2.views import ImagesAPIViewSet - -# Create the router. "wagtailapi" is the URL namespace -api_router = WagtailAPIRouter("wagtailapi") - -# Add the three endpoints using the "register_endpoint" method. -# The first parameter is the name of the endpoint (eg. pages, images). This -# is used in the URL of the endpoint -# The second parameter is the endpoint class that handles the requests -api_router.register_endpoint("pages", PagesAPIViewSet) -api_router.register_endpoint("images", ImagesAPIViewSet) -api_router.register_endpoint("documents", DocumentsAPIViewSet) From 914549485a467461213393cb5c27530ebf1534b9 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:38:09 -0300 Subject: [PATCH 04/24] Padroniza ordem de menus do projeto --- config/menu.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config/menu.py b/config/menu.py index 1eb1f1b..e2266cb 100644 --- a/config/menu.py +++ b/config/menu.py @@ -1,7 +1,10 @@ WAGTAIL_MENU_APPS_ORDER = { + "collection": 100, + "log_manager": 200, + "tasks": 300, + "unexpected-error": 400, } - def get_menu_order(app_name): try: return WAGTAIL_MENU_APPS_ORDER[app_name] From 18d1ec5c98363176a293dfd380ea45ef4ab71d29 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:38:21 -0300 Subject: [PATCH 05/24] =?UTF-8?q?Remove=20rota=20de=20api=20n=C3=A3o=20usa?= =?UTF-8?q?da?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/urls.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/config/urls.py b/config/urls.py index 642745f..08df31d 100644 --- a/config/urls.py +++ b/config/urls.py @@ -9,8 +9,6 @@ from wagtail.documents import urls as wagtaildocs_urls from wagtailautocomplete.urls.admin import urlpatterns as autocomplete_admin_urls -from core.api.wagtail.api import api_router - urlpatterns = [ path("admin/autocomplete/", include(autocomplete_admin_urls)), From 20c33c631a60194587f5460e1708415483cb8b00 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:38:43 -0300 Subject: [PATCH 06/24] Substitui wagtail.contrib.modeladmin por Snippet --- collection/wagtail_hooks.py | 32 +++++++++++------------------ config/settings/base.py | 2 -- django_celery_beat/button_helper.py | 2 +- django_celery_beat/wagtail_hooks.py | 2 +- tracker/wagtail_hooks.py | 32 ++++++++++++----------------- 5 files changed, 27 insertions(+), 43 deletions(-) diff --git a/collection/wagtail_hooks.py b/collection/wagtail_hooks.py index 5b45e1f..e787daa 100644 --- a/collection/wagtail_hooks.py +++ b/collection/wagtail_hooks.py @@ -1,28 +1,20 @@ -from django.http import HttpResponseRedirect from django.utils.translation import gettext as _ -from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register -from wagtail.contrib.modeladmin.views import CreateView - -from .models import Collection +from wagtail.snippets.views.snippets import SnippetViewSet +from wagtail.snippets.models import register_snippet +from config.menu import get_menu_order -class CollectionCreateView(CreateView): - def form_valid(self, form): - self.object = form.save_all(self.request.user) - return HttpResponseRedirect(self.get_success_url()) +from .models import Collection -class CollectionAdmin(ModelAdmin): +class CollectionSnippetViewSet(SnippetViewSet): model = Collection - create_view_class = CollectionCreateView - inspect_view_enabled = True - menu_label = _("Collection") - menu_icon = "folder-open-inverse" - menu_order = 1 - add_to_settings_menu = False - exclude_from_explorer = ( - False - ) + icon = "folder-open-inverse" + menu_name = 'collection' + menu_label = _("Collection") + menu_order = get_menu_order("collection") + add_to_admin_menu = True + list_display = ( "main_name", "acron3", @@ -66,4 +58,4 @@ class CollectionAdmin(ModelAdmin): export_filename = "collections" -modeladmin_register(CollectionAdmin) +register_snippet(CollectionSnippetViewSet) diff --git a/config/settings/base.py b/config/settings/base.py index 3e1c706..cebafa6 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -62,7 +62,6 @@ "core.search_site", "wagtail.contrib.forms", "wagtail.contrib.redirects", - "wagtail.contrib.modeladmin", "wagtail_modeladmin", "wagtail.contrib.simple_translation", "wagtail_localize", @@ -77,7 +76,6 @@ "wagtail.admin", "wagtail", "wagtail.locales", - "wagtail.api.v2", "wagtail.contrib.settings", "wagtail.contrib.styleguide", "wagtail.contrib.routable_page", diff --git a/django_celery_beat/button_helper.py b/django_celery_beat/button_helper.py index f091c7a..3515b68 100644 --- a/django_celery_beat/button_helper.py +++ b/django_celery_beat/button_helper.py @@ -1,6 +1,6 @@ from django.urls import reverse from django.utils.translation import gettext as _ -from wagtail.contrib.modeladmin.helpers import ButtonHelper +from wagtail_modeladmin.helpers import ButtonHelper class PeriodicTaskHelper(ButtonHelper): diff --git a/django_celery_beat/wagtail_hooks.py b/django_celery_beat/wagtail_hooks.py index 3541659..ade2e12 100644 --- a/django_celery_beat/wagtail_hooks.py +++ b/django_celery_beat/wagtail_hooks.py @@ -7,7 +7,7 @@ from django.utils.translation import gettext_lazy as _ from kombu.utils.json import loads from wagtail import hooks -from wagtail.contrib.modeladmin.options import ( +from wagtail_modeladmin.options import ( ModelAdmin, ModelAdminGroup, modeladmin_register, diff --git a/tracker/wagtail_hooks.py b/tracker/wagtail_hooks.py index c9f75e2..bf52d34 100644 --- a/tracker/wagtail_hooks.py +++ b/tracker/wagtail_hooks.py @@ -1,22 +1,18 @@ from django.utils.translation import gettext as _ -from wagtail.contrib.modeladmin.options import ( - ModelAdmin, - ModelAdminGroup, - modeladmin_register, -) -from wagtail.contrib.modeladmin.views import CreateView +from wagtail.snippets.views.snippets import SnippetViewSet, SnippetViewSetGroup +from wagtail.snippets.models import register_snippet from config.menu import get_menu_order from .models import UnexpectedEvent, Hello -class UnexpectedEventModelAdmin(ModelAdmin): +class UnexpectedEventSnippetViewSet(SnippetViewSet): model = UnexpectedEvent inspect_view_enabled = True menu_label = _("Unexpected Events") - menu_icon = "folder" - menu_order = 200 + menu_icon = 100 + menu_order = get_menu_order("tracker") add_to_settings_menu = False exclude_from_explorer = False @@ -40,10 +36,10 @@ class UnexpectedEventModelAdmin(ModelAdmin): ) -class HelloModelAdmin(ModelAdmin): +class HelloSnippetViewSet(SnippetViewSet): model = Hello inspect_view_enabled = True - menu_label = _("Hello events") + menu_label = _("Hello Events") menu_icon = "folder" menu_order = 200 add_to_settings_menu = False @@ -70,13 +66,11 @@ class HelloModelAdmin(ModelAdmin): ) -class UnexpectedEventModelAdminGroup(ModelAdminGroup): - menu_icon = "folder" - menu_label = _("Unexpected errors") - # menu_order = get_menu_order("journal") - menu_order = 200 - items = (UnexpectedEventModelAdmin, HelloModelAdmin) +class UnexpectedEventSnippetViewSetGroup(SnippetViewSetGroup): + menu_name = 'unexpected errors' + menu_label = _("Unexpected Errors") + menu_icon = "folder-open-inverse" menu_order = get_menu_order("unexpected-error") + items = (UnexpectedEventSnippetViewSet, HelloSnippetViewSet) - -modeladmin_register(UnexpectedEventModelAdminGroup) +register_snippet(UnexpectedEventSnippetViewSetGroup) From 1082063c313672ad7a257a48fd91a1cbf66c3159 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:41:26 -0300 Subject: [PATCH 07/24] =?UTF-8?q?Padroniza=20obten=C3=A7=C3=A3o=20de=20use?= =?UTF-8?q?r=20para=20=5Fget=5Fuser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- collection/tasks.py | 6 ++---- log_manager/tasks.py | 20 ++++++-------------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/collection/tasks.py b/collection/tasks.py index 0dcdb98..fdda94e 100644 --- a/collection/tasks.py +++ b/collection/tasks.py @@ -1,6 +1,7 @@ from django.contrib.auth import get_user_model from django.utils.translation import gettext as _ +from core.utils.utils import _get_user from collection.models import Collection from config import celery_app @@ -9,8 +10,5 @@ @celery_app.task(bind=True) def task_load_collections(self, user_id=None, username=None): - if user_id: - user = User.objects.get(pk=user_id) - if username: - user = User.objects.get(username=username) + user = _get_user(self.request, username=username, user_id=user_id) Collection.load(user) diff --git a/log_manager/tasks.py b/log_manager/tasks.py index 9ffc5f4..5dd19a3 100644 --- a/log_manager/tasks.py +++ b/log_manager/tasks.py @@ -4,6 +4,7 @@ from django.contrib.auth import get_user_model from django.utils.translation import gettext as _ +from core.utils.utils import _get_user from config import celery_app from collection.models import Collection @@ -94,7 +95,7 @@ def task_create_log_file(self, collection, path, user_id=None, username=None): Returns: None. """ - if username: + user = _get_user(self.request, username=username, user_id=user_id) user = User.objects.get(username=username) if user_id: user = User.objects.get(pk=user_id) @@ -117,10 +118,7 @@ def task_validate_logs(self, collection_acron2, user_id=None, username=None): @celery_app.task(bind=True, name=_('Validate Log'), timelimit=-1) def task_validate_log(self, log_file_hash, user_id=None, username=None): - if username: - user = User.objects.get(username=username) - if user_id: - user = User.objects.get(pk=user_id) + user = _get_user(self.request, username=username, user_id=user_id) log_file = models.LogFile.get(hash=log_file_hash) @@ -200,10 +198,7 @@ def task_parse_log(self, log_file_hash, path_robots, path_mmdb, user_id=None, us Returns: None. """ - if username: - user = User.objects.get(username=username) - if user_id: - user = User.objects.get(pk=user_id) + user = _get_user(self.request, username=username, user_id=user_id) log_file = models.LogFile.get(hash=log_file_hash) log_file.status = choices.LOG_FILE_STATUS_PARSING @@ -249,12 +244,9 @@ def task_parse_log(self, log_file_hash, path_robots, path_mmdb, user_id=None, us @celery_app.task(bind=True, name=_('Download Supplies')) def task_download_supplies(self, url_robots, url_mmdb, user_id=None, username=None): - if user_id: - user = User.objects.get(pk=user_id) - if username: - user = User.objects.get(username=username) + user = _get_user(self.request, username=username, user_id=user_id) - supplies_directory = models.ApplicationConfig.get(choices.APPLICATION_CONFIG_TYPE_DIRECTORY_SUPPLIES).value + supplies_directory = models.ApplicationConfig.filter_by_config_type(choices.APPLICATION_CONFIG_TYPE_DIRECTORY_SUPPLIES).value robots_path, mmdb_path = utils.download_supplies(supplies_directory, url_robots, url_mmdb) From d6834bd5fa99137894ad31953512b41a4c26e3a8 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:41:50 -0300 Subject: [PATCH 08/24] =?UTF-8?q?Move=20exe=C3=A7=C3=B5es=20de=20app=20tra?= =?UTF-8?q?cker=20para=20arquivo=20exceptions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tracker/exceptions.py | 20 ++++++++++++++++++++ tracker/models.py | 28 +--------------------------- 2 files changed, 21 insertions(+), 27 deletions(-) create mode 100644 tracker/exceptions.py diff --git a/tracker/exceptions.py b/tracker/exceptions.py new file mode 100644 index 0000000..be2e0c4 --- /dev/null +++ b/tracker/exceptions.py @@ -0,0 +1,20 @@ +class ProcEventCreateError(Exception): + ... + +class UnexpectedEventCreateError(Exception): + ... + +class EventCreateError(Exception): + ... + +class EventReportCreateError(Exception): + ... + +class EventReportSaveFileError(Exception): + ... + +class EventReportCreateError(Exception): + ... + +class EventReportDeleteEventsError(Exception): + ... diff --git a/tracker/models.py b/tracker/models.py index 44673c5..a6510a9 100644 --- a/tracker/models.py +++ b/tracker/models.py @@ -12,33 +12,7 @@ from core.models import CommonControlField from tracker import choices - -class ProcEventCreateError(Exception): - ... - - -class UnexpectedEventCreateError(Exception): - ... - - -class EventCreateError(Exception): - ... - - -class EventReportCreateError(Exception): - ... - - -class EventReportSaveFileError(Exception): - ... - - -class EventReportCreateError(Exception): - ... - - -class EventReportDeleteEventsError(Exception): - ... +from .exceptions import * class UnexpectedEvent(models.Model): From eadfb66f9a3aa8f54e12887ce6b10f24c6c370ce Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:43:16 -0300 Subject: [PATCH 09/24] =?UTF-8?q?Padroniza=20obten=C3=A7=C3=A3o=20de=20use?= =?UTF-8?q?r=20e=20ordem=20em=20menus=20wagtail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- django_celery_beat/models.py | 3 +-- django_celery_beat/wagtail_hooks.py | 4 +++- log_manager/tasks.py | 10 ++++------ log_manager/wagtail_hooks.py | 5 ++++- tracker/tasks.py | 20 ++++++++------------ 5 files changed, 20 insertions(+), 22 deletions(-) diff --git a/django_celery_beat/models.py b/django_celery_beat/models.py index 7bedaec..466c16e 100644 --- a/django_celery_beat/models.py +++ b/django_celery_beat/models.py @@ -2,6 +2,7 @@ from datetime import timedelta import timezone_field + from celery import current_app, schedules from django.conf import settings from django.core.exceptions import MultipleObjectsReturned, ValidationError @@ -12,9 +13,7 @@ from wagtail.admin.panels import ( FieldPanel, HelpPanel, - MultiFieldPanel, ObjectList, - PageChooserPanel, TabbedInterface, ) diff --git a/django_celery_beat/wagtail_hooks.py b/django_celery_beat/wagtail_hooks.py index ade2e12..492a642 100644 --- a/django_celery_beat/wagtail_hooks.py +++ b/django_celery_beat/wagtail_hooks.py @@ -23,6 +23,8 @@ ) from django_celery_beat.utils import is_database_scheduler +from config.menu import get_menu_order + from .button_helper import PeriodicTaskHelper @@ -191,7 +193,7 @@ class SolarScheduleAdmin(ModelAdmin): class TasksModelsAdminGroup(ModelAdminGroup): menu_label = _("Tasks") menu_icon = "cogs" - menu_order = 1000 + menu_order = get_menu_order("tasks") items = ( PeriodicTaskAdmin, CrontabScheduleAdmin, diff --git a/log_manager/tasks.py b/log_manager/tasks.py index 5dd19a3..02cddba 100644 --- a/log_manager/tasks.py +++ b/log_manager/tasks.py @@ -82,12 +82,12 @@ def task_discover(self, collection_acron2, is_enabled=True, temporal_reference=N @celery_app.task(bind=True, name=_('Create Log File')) -def task_create_log_file(self, collection, path, user_id=None, username=None): +def task_create_log_file(self, collection_acron2, path, user_id=None, username=None): """ Task to create a log file record in the database. Args: - collection: Collection object associated with the log file. + collection_acron2 (str): Acronym of the collection. path (str): File path of the log file. user_id username @@ -96,13 +96,11 @@ def task_create_log_file(self, collection, path, user_id=None, username=None): None. """ user = _get_user(self.request, username=username, user_id=user_id) - user = User.objects.get(username=username) - if user_id: - user = User.objects.get(pk=user_id) + col = Collection.objects.get(acron2=collection_acron2) models.LogFile.create( user=user, - collection=collection, + collection=col, path=path, stat_result=os.stat(path), hash=utils.hash_file(path), diff --git a/log_manager/wagtail_hooks.py b/log_manager/wagtail_hooks.py index 28901a0..4ae7516 100644 --- a/log_manager/wagtail_hooks.py +++ b/log_manager/wagtail_hooks.py @@ -3,6 +3,8 @@ from wagtail.snippets.views.snippets import SnippetViewSet, SnippetViewSetGroup from wagtail.snippets.models import register_snippet +from config.menu import get_menu_order + from log_manager.models import ( ApplicationConfig, CollectionConfig, @@ -108,9 +110,10 @@ class LogProcessedRowSnippetViewSet(SnippetViewSet): class LogSnippetViewSetGroup(SnippetViewSetGroup): + menu_name = 'log_manager' menu_label = _("Log Manager") menu_icon = "folder-open-inverse" - menu_order = 1 + menu_order = get_menu_order("log_manager") items = ( ApplicationConfigSnippetViewSet, CollectionConfigSnippetViewSet, diff --git a/tracker/tasks.py b/tracker/tasks.py index 7b9a222..1f24119 100644 --- a/tracker/tasks.py +++ b/tracker/tasks.py @@ -1,32 +1,26 @@ # tasks.py +from datetime import datetime + import logging import sys -from datetime import datetime from django.contrib.auth import get_user_model from config import celery_app +from core.utils.utils import _get_user + from .models import UnexpectedEvent, Hello User = get_user_model() -def _get_user(request, username=None, user_id=None): - try: - return User.objects.get(pk=request.user.id) - except AttributeError: - if user_id: - return User.objects.get(pk=user_id) - if username: - return User.objects.get(username=username) - - @celery_app.task(bind=True, name="cleanup_unexpected_events") def delete_unexpected_events(self, exception_type, start_date=None, end_date=None, user_id=None, username=None): """ Delete UnexpectedEvent records based on exception type and optional date range. """ + user = _get_user(self.request, username=username, user_id=user_id) if exception_type == '__all__': UnexpectedEvent.objects.all().delete() @@ -44,10 +38,12 @@ def delete_unexpected_events(self, exception_type, start_date=None, end_date=Non @celery_app.task(bind=True) -def hello(self, user_id=None): +def hello(self, user_id=None, username=None): """ Register Hello records """ + user = _get_user(self.request, username=username, user_id=user_id) + try: logging.info("Hello!") Hello.create() From f4eb0badcc930291165008ec78af2dd870aee90d Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:43:48 -0300 Subject: [PATCH 10/24] Substitui InlinePanel por AutocompletePanel, quando pertinente --- log_manager/models.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/log_manager/models.py b/log_manager/models.py index 6377e0c..52dc088 100644 --- a/log_manager/models.py +++ b/log_manager/models.py @@ -4,6 +4,7 @@ from django.db.utils import IntegrityError from django.utils.translation import gettext_lazy as _ from wagtail.admin.panels import FieldPanel +from wagtailautocomplete.edit_handlers import AutocompletePanel from collection.models import Collection from core.forms import CoreAdminModelForm @@ -133,7 +134,7 @@ class CollectionConfig(CommonControlField): base_form_class = CoreAdminModelForm panels = [ - FieldPanel('collection'), + AutocompletePanel('collection'), FieldPanel('config_type'), FieldPanel('value'), FieldPanel('start_date'), @@ -177,7 +178,7 @@ class LogFileDate(CommonControlField): panel = [ FieldPanel('date'), - FieldPanel('log_file') + AutocompletePanel('log_file') ] class Meta: @@ -233,7 +234,7 @@ class LogFile(CommonControlField): FieldPanel('path'), FieldPanel('stat_result'), FieldPanel('status'), - FieldPanel('collection'), + AutocompletePanel('collection'), ] base_form_class = CoreAdminModelForm @@ -294,7 +295,7 @@ class LogProcessedRow(CommonControlField): base_form_class = CoreAdminModelForm panels = [ - FieldPanel('log_file'), + AutocompletePanel('log_file'), FieldPanel('server_time'), FieldPanel('browser_name'), FieldPanel('browser_version'), From a659f292fd5883769d9ed2d381631832c84511cc Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:44:08 -0300 Subject: [PATCH 11/24] =?UTF-8?q?Corrige=20nome=20de=20m=C3=A9todo=20para?= =?UTF-8?q?=20filter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- log_manager/models.py | 4 ++-- log_manager/tasks.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/log_manager/models.py b/log_manager/models.py index 52dc088..c5e77fd 100644 --- a/log_manager/models.py +++ b/log_manager/models.py @@ -58,7 +58,7 @@ class Meta: verbose_name_plural = _("Application Configs") @classmethod - def get(cls, config_type, sorting_field='-version_number'): + def filter_by_config_type(cls, config_type, sorting_field='-version_number'): return cls.objects.filter( config_type=config_type, ).order_by(sorting_field).first() @@ -149,7 +149,7 @@ class Meta: verbose_name_plural = _("Collection Configurations") @classmethod - def get(cls, collection_acron2, config_type, is_enabled=True): + def filter_by_collection_and_config_type(cls, collection_acron2, config_type, is_enabled=True): return cls.objects.filter( collection__acron2=collection_acron2, config_type=config_type, diff --git a/log_manager/tasks.py b/log_manager/tasks.py index 02cddba..39a507d 100644 --- a/log_manager/tasks.py +++ b/log_manager/tasks.py @@ -42,7 +42,7 @@ def task_discover(self, collection_acron2, is_enabled=True, temporal_reference=N """ col = Collection.objects.get(acron2=collection_acron2) - col_configs_dirs = models.CollectionConfig.get( + col_configs_dirs = models.CollectionConfig.filter_by_collection_and_config_type( collection_acron2=collection_acron2, config_type=choices.COLLECTION_CONFIG_TYPE_DIRECTORY_LOGS, is_enabled=is_enabled, @@ -161,11 +161,11 @@ def task_parse_logs(self, collection_acron2, user_id=None, username=None): Returns: None. """ - ac_robots = models.ApplicationConfig.get(choices.APPLICATION_CONFIG_TYPE_PATH_SUPPLY_ROBOTS) + ac_robots = models.ApplicationConfig.filter_by_config_type(choices.APPLICATION_CONFIG_TYPE_PATH_SUPPLY_ROBOTS) if not ac_robots or not os.path.exists(ac_robots.value) or not os.path.isfile(ac_robots.value): raise exceptions.UndefinedApplicationConfigError("ERROR. Please, add an Application Configuration for the Counter Robots text file path.") - ac_mmdb = models.ApplicationConfig.get(choices.APPLICATION_CONFIG_TYPE_PATH_SUPPLY_MMDB) + ac_mmdb = models.ApplicationConfig.filter_by_config_type(choices.APPLICATION_CONFIG_TYPE_PATH_SUPPLY_MMDB) if not ac_mmdb or not os.path.exists(ac_mmdb.value) or not os.path.isfile(ac_mmdb.value): raise exceptions.UndefinedApplicationConfigError("ERROR. Please, add an Application Configuration fot the Geolocation MMDB file path.") From a08d4664fbe86144813c57b588cdca88e3633213 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:44:32 -0300 Subject: [PATCH 12/24] =?UTF-8?q?Remove=20exception=20desnecess=C3=A1ria?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- log_manager/models.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/log_manager/models.py b/log_manager/models.py index c5e77fd..7685ffd 100644 --- a/log_manager/models.py +++ b/log_manager/models.py @@ -69,10 +69,10 @@ def get_field_values(cls, config_type): @classmethod def create(cls, user, config_type, value, is_enabled=True, version_number=None): - try: - last_config = cls.objects.filter(config_type=config_type).order_by('-version_number').first() + last_config = cls.objects.filter(config_type=config_type).order_by('-version_number').first() + if last_config is not None: last_version_number = last_config.version_number - except cls.DoesNotExist: + else: last_version_number = 0 obj = cls() From 9571b2a891281355bd9920d22ec99f8feeee7c96 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:44:46 -0300 Subject: [PATCH 13/24] Corrige cls.objects.get para cls.get --- log_manager/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/log_manager/models.py b/log_manager/models.py index 7685ffd..7e2c361 100644 --- a/log_manager/models.py +++ b/log_manager/models.py @@ -250,7 +250,7 @@ def get(cls, hash): @classmethod def create(cls, user, collection, path, stat_result, hash, status=None): try: - obj = cls.objects.get(hash=hash) + obj = cls.get(hash=hash) UnexpectedEvent.create( LogFileAlreadyExistsError, detail={ From b53e456f64ff718ba5cf2d5a115c57a648b3e198 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:45:09 -0300 Subject: [PATCH 14/24] Adiciona chamada a apply_async em task --- log_manager/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/log_manager/tasks.py b/log_manager/tasks.py index 39a507d..86283c1 100644 --- a/log_manager/tasks.py +++ b/log_manager/tasks.py @@ -78,7 +78,7 @@ def task_discover(self, collection_acron2, is_enabled=True, temporal_reference=N file_ctime = utils.timestamp_to_datetime(os.stat(file_path).st_ctime) if not (temporal_reference or from_date) or file_ctime > obj_from_date: - task_create_log_file(col, file_path, user_id, username) + task_create_log_file.apply_async(args=(collection_acron2, file_path, user_id, username)) @celery_app.task(bind=True, name=_('Create Log File')) From b9beffd4cd1562096a7472e7b669893cc0af30a1 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:45:33 -0300 Subject: [PATCH 15/24] =?UTF-8?q?Move=20transforma=C3=A7=C3=A3o=20de=20tex?= =?UTF-8?q?to=20para=20condicional?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- log_manager/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/log_manager/utils.py b/log_manager/utils.py index 8054d4f..4393b8c 100644 --- a/log_manager/utils.py +++ b/log_manager/utils.py @@ -21,9 +21,9 @@ def temporal_reference_to_datetime(text): - text = text.lower() - if text: + text = text.lower() + if text == TEMPORAL_REFERENCE_YESTERDAY: return datetime.now() - timedelta(days=1) From faa105707f44dc3623229a34ecff77972ddffbea Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:45:47 -0300 Subject: [PATCH 16/24] Remove deps comentadas --- requirements/local.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/requirements/local.txt b/requirements/local.txt index a789a79..58cf67c 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -7,9 +7,7 @@ watchgod==0.8.2 # https://github.com/samuelcolvin/watchgod # Testing # ------------------------------------------------------------------------------ -# mypy==1.3.0 # https://github.com/python/mypy mypy==1.6.1 # https://github.com/python/mypy -# django-stubs==1.16.0 # https://github.com/typeddjango/django-stubs django-stubs==4.2.6 # https://github.com/typeddjango/django-stubs pytest==7.4.3 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.7 # https://github.com/Frozenball/pytest-sugar From 32bea23d6c8946bd25a79c64e0de1ec1fcbf7d85 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:46:06 -0300 Subject: [PATCH 17/24] Atualiza django para 5.0.6 --- requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.txt b/requirements/base.txt index 6b82587..bca4b28 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -12,7 +12,7 @@ xmltodict==0.13.0 # https://github.com/martinblech/xmltodict.git # Django # ------------------------------------------------------------------------------ -django==4.2.7 +django==5.0.6 django-environ==0.11.2 # https://github.com/joke2k/django-environ django-model-utils==4.3.1 # https://github.com/jazzband/django-model-utils django-allauth==0.59.0 # https://github.com/pennersr/django-allauth From a0c640a42cf3eae435b6cb057514647edd5857a7 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:46:59 -0300 Subject: [PATCH 18/24] =?UTF-8?q?Atualiza=20para=20maior=20vers=C3=A3o=20p?= =?UTF-8?q?oss=C3=ADvel=20deps=20django-model-utils,=20django-allauth=20e?= =?UTF-8?q?=20djangorestframework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements/base.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index bca4b28..4aa935b 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -14,16 +14,16 @@ xmltodict==0.13.0 # https://github.com/martinblech/xmltodict.git # ------------------------------------------------------------------------------ django==5.0.6 django-environ==0.11.2 # https://github.com/joke2k/django-environ -django-model-utils==4.3.1 # https://github.com/jazzband/django-model-utils -django-allauth==0.59.0 # https://github.com/pennersr/django-allauth +django-model-utils==4.5.1 # https://github.com/jazzband/django-model-utils +django-allauth==0.62.1 # https://github.com/pennersr/django-allauth django-crispy-forms==2.1 # https://github.com/django-crispy-forms/django-crispy-forms crispy-bootstrap5==0.7 # https://github.com/django-crispy-forms/crispy-bootstrap5 django-compressor==4.4 # https://github.com/django-compressor/django-compressor django-redis==5.4.0 # https://github.com/jazzband/django-redis4 # Django REST -djangorestframework==3.14.0 -djangorestframework-simplejwt==5.3.0 # https://django-rest-framework-simplejwt.readthedocs.io/en/latest/ +djangorestframework==3.15.1 +djangorestframework-simplejwt==5.3.1 # https://django-rest-framework-simplejwt.readthedocs.io/en/latest/ # Wagtail # ------------------------------------------------------------------------------ From bab2d9b61dd6f08535a76c9951b9ee630101cc4e Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:48:04 -0300 Subject: [PATCH 19/24] =?UTF-8?q?Atualiza=20wagtail=20para=205.2.5=20(6=20?= =?UTF-8?q?n=C3=A3o=20=C3=A9=20poss=C3=ADvel=20por=20incompatibilidade=20c?= =?UTF-8?q?om=20wagtailautocomplete)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.txt b/requirements/base.txt index 4aa935b..3d9e87c 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -27,7 +27,7 @@ djangorestframework-simplejwt==5.3.1 # https://django-rest-framework-simplejwt. # Wagtail # ------------------------------------------------------------------------------ -wagtail==5.2.2 # https://github.com/wagtail/wagtail +wagtail==5.2.5 # https://github.com/wagtail/wagtail # Wagtail Recaptcha # ------------------------------------------------------------------------------ From 3908006a91deca79f6674997dfc0d0816f75299e Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:48:20 -0300 Subject: [PATCH 20/24] Atualiza outras deps --- requirements/base.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 3d9e87c..73806c9 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -36,19 +36,19 @@ wagtail-django-recaptcha==1.0 # Wagtail Menu # ------------------------------------------------------------------------------ -wagtailmenus==3.1.9 +wagtailmenus==4.0 # Wagtail Localize # ------------------------------------------------------------------------------ -wagtail-localize==1.7 +wagtail-localize==1.9 #Wagtail Admin # ------------------------------------------------------------------------------ -wagtail-modeladmin==1.0.0 +wagtail-modeladmin==2.0.0 # Django celery # ------------------------------------------------------------------------------ -django-celery-beat==2.5.0 # https://github.com/celery/django-celery-beat +django-celery-beat==2.6.0 # https://github.com/celery/django-celery-beat django_celery_results==2.5.1 # Wagtail-Autocomplete @@ -56,7 +56,7 @@ django_celery_results==2.5.1 wagtail-autocomplete==0.11.0 # https://github.com/wagtail/wagtail-autocomplete # Minio -minio==7.2.5 +minio==7.2.7 # Reverse Geocode # ------------------------------------------------------------------------------ @@ -89,4 +89,4 @@ pysolr==3.9.0 # Tenacity # ------------------------------------------------------------------------------ -tenacity==8.2.3 # https://pypi.org/project/tenacity/ \ No newline at end of file +tenacity==8.3.0 # https://pypi.org/project/tenacity/ \ No newline at end of file From 93723d347105d7d32e19c2b03aab86ababa4037e Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 13:48:46 -0300 Subject: [PATCH 21/24] =?UTF-8?q?Atualiza=20django-haystack=20para=20vers?= =?UTF-8?q?=C3=A3o=20experimental=20(=C3=BAnica=20que=20suporta=20django?= =?UTF-8?q?=205)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.txt b/requirements/base.txt index 73806c9..5c40372 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -81,7 +81,7 @@ Sickle==0.7.0 # Solr # ------------------------------------------------------------------------------ -django-haystack==3.2.1 +-e git+https://github.com/django-haystack/django-haystack#egg=django_haystack # PySolr # ------------------------------------------------------------------------------ From eec16a0ccce00a13ea650e34e2bc1df3c0fe5732 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 17:39:40 -0300 Subject: [PATCH 22/24] =?UTF-8?q?Remove=20linha=20com=20recupera=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20objeto=20desnecess=C3=A1rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- log_manager/tasks.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/log_manager/tasks.py b/log_manager/tasks.py index 86283c1..b7e2616 100644 --- a/log_manager/tasks.py +++ b/log_manager/tasks.py @@ -40,8 +40,7 @@ def task_discover(self, collection_acron2, is_enabled=True, temporal_reference=N Returns: None. """ - col = Collection.objects.get(acron2=collection_acron2) - + # col = Collection.objects.get(acron2=collection_acron2) col_configs_dirs = models.CollectionConfig.filter_by_collection_and_config_type( collection_acron2=collection_acron2, config_type=choices.COLLECTION_CONFIG_TYPE_DIRECTORY_LOGS, From a9c87532561b8df76b9166777740451624000ab8 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 17:39:40 -0300 Subject: [PATCH 23/24] =?UTF-8?q?Remove=20linha=20com=20recupera=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20objeto=20desnecess=C3=A1rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- log_manager/tasks.py | 1 - 1 file changed, 1 deletion(-) diff --git a/log_manager/tasks.py b/log_manager/tasks.py index b7e2616..3f0150b 100644 --- a/log_manager/tasks.py +++ b/log_manager/tasks.py @@ -258,4 +258,3 @@ def task_download_supplies(self, url_robots, url_mmdb, user_id=None, username=No choices.APPLICATION_CONFIG_TYPE_PATH_SUPPLY_MMDB, mmdb_path, ) - \ No newline at end of file From a0ca2c2c20f5addd9d4c8546217d48516a0f3752 Mon Sep 17 00:00:00 2001 From: Pitanga Innovare Date: Thu, 9 May 2024 19:40:18 -0300 Subject: [PATCH 24/24] Remove linha comentada --- log_manager/tasks.py | 1 - 1 file changed, 1 deletion(-) diff --git a/log_manager/tasks.py b/log_manager/tasks.py index 3f0150b..456bb9f 100644 --- a/log_manager/tasks.py +++ b/log_manager/tasks.py @@ -40,7 +40,6 @@ def task_discover(self, collection_acron2, is_enabled=True, temporal_reference=N Returns: None. """ - # col = Collection.objects.get(acron2=collection_acron2) col_configs_dirs = models.CollectionConfig.filter_by_collection_and_config_type( collection_acron2=collection_acron2, config_type=choices.COLLECTION_CONFIG_TYPE_DIRECTORY_LOGS,