From 24539f0b7188107c14b3b095fe10ce463a83df09 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Tue, 11 Oct 2016 17:40:18 +0200 Subject: [PATCH] Add eve db, continue sync script --- app/local_settings.py | 4 ++-- .../commands/organization-sync-eve-events.py | 23 ++++++++++++------- docker-compose.yml | 16 ++++++++++++- scripts/restore_db_eve.sh | 12 +++++----- 4 files changed, 38 insertions(+), 17 deletions(-) diff --git a/app/local_settings.py b/app/local_settings.py index c4411a36..6c645bad 100644 --- a/app/local_settings.py +++ b/app/local_settings.py @@ -22,9 +22,9 @@ DATABASES = { 'eve': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'eve', - 'USER': 'django', + 'USER': 'eve', 'PASSWORD': "q2nqzt0WGnwWé,256", - 'HOST': 'eve', + 'HOST': 'evedb', 'PORT': '5432', }, 'prestashop': { diff --git a/app/organization/agenda/management/commands/organization-sync-eve-events.py b/app/organization/agenda/management/commands/organization-sync-eve-events.py index 070cadbd..fa9c80d1 100644 --- a/app/organization/agenda/management/commands/organization-sync-eve-events.py +++ b/app/organization/agenda/management/commands/organization-sync-eve-events.py @@ -25,15 +25,15 @@ class Command(BaseCommand): default_user = User.objects.get(username='admin') def cleanup(self): - # for event in ma_models.Event.objects.all(): - # event.delete() - # for location in ma_models.EventLocation.objects.all(): - # location.delete() + for event in ma_models.Event.objects.all(): + event.delete() + for location in ma_models.EventLocation.objects.all(): + location.delete() for event_price in ma_models.EventPrice.objects.all(): event_price.delete() def handle(self, *args, **kwargs): - # self.cleanup() + self.cleanup() meta_event_name = kwargs.get('meta_event') meta_trans_all = eve_models.MetaEventTranslation.objects.all() for meta_trans in meta_trans_all: @@ -44,6 +44,8 @@ class Command(BaseCommand): event_trans = eve_models.EventTranslation.objects.filter(id=eve_event, lang='fr')[0] manifestations = eve_event.manifestations.all().order_by('happens_at') first = True + eve_locations = [] + for manifestation in manifestations: events = ma_models.Event.objects.filter(external_id=manifestation.id) if not events: @@ -67,8 +69,9 @@ class Command(BaseCommand): location.save() event.location = location event.save() - keyword, _ = Keyword.objects.get_or_create(title=eve_event.event_category.name) - event.keywords.add(AssignedKeyword(keyword=keyword), bulk=False) + + # keyword, c = Keyword.objects.get_or_create(title=eve_event.event_category.name) + # event.keywords.add(AssignedKeyword(keyword=keyword), bulk=False) eve_prices = eve_models.PriceManifestation.objects.filter(manifestation=manifestation) for price in eve_prices: @@ -77,10 +80,14 @@ class Command(BaseCommand): if not event_price in event.prices.all(): event.prices.add(event_price) - if not first: + if not first and not manifestation.location in eve_locations: event.parent = parent else: parent = event first = False + event.status = 1 event.save() + + if not manifestation.location in eve_locations: + eve_locations.append(manifestation.location) diff --git a/docker-compose.yml b/docker-compose.yml index 5be19e68..8e59f8cd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -44,13 +44,25 @@ prestadb: - data volumes: - ./scripts/:/srv/scripts - - ./data/mysql/:/var/lib/mysql + - ./data/external/prestashop/mysql/:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=mysecretpassword - MYSQL_DATABASE=ircam_shops - MYSQL_USER=ircam_shops - MYSQL_PASSWORD=pUmt97e4MgR9EP4knyWea0n +evedb: + image: postgres + volumes_from: + - data + volumes: + - ./scripts/:/srv/scripts + - ./data/external/eve/postgresql/data/:/var/lib/postgresql/data + environment: + - POSTGRES_USER=eve + - POSTGRES_DB=eve + - POSTGRES_PASSWORD=q2nqzt0WGnwWé,256 + app: build: . command: /bin/bash scripts/app.sh @@ -58,6 +70,7 @@ app: - ./app/:/srv/app - ./lib/grappelli-safe/:/srv/lib/grappelli-safe - ./lib/mezzanine-agenda/:/srv/lib/mezzanine-agenda + - ./lib/mezzanine/:/srv/lib/mezzanine - ./lib/django-eve/:/srv/lib/django-eve - ./lib/django-prestashop/:/srv/lib/django-prestashop volumes_from: @@ -67,6 +80,7 @@ app: links: - db - prestadb + - evedb environment: - DEBUG=False diff --git a/scripts/restore_db_eve.sh b/scripts/restore_db_eve.sh index 03baf9b2..91ba7b63 100755 --- a/scripts/restore_db_eve.sh +++ b/scripts/restore_db_eve.sh @@ -1,14 +1,14 @@ #!/bin/bash -export PGPASSWORD="HmazS2frT" +export PGPASSWORD="q2nqzt0WGnwWé,256" -db_exists=`psql -hpgdb -Ueve -lqt | cut -d \| -f 1 | grep -w eve | wc -l` +db_exists=`psql -hevedb -Ueve -lqt | cut -d \| -f 1 | grep -w eve | wc -l` #if [ ! $db_exists == 0 ]; then # psql -hpgdb -Ueve -c 'drop database eve' #fi -psql -hpgdb -Ueve -c 'create role eve' -psql -hpgdb -Ueve -c 'create role django' -#psql -hpgdb -Ueve -c 'create database eve' -gunzip -c /srv/backup/eve.sql.gz | psql -hpgdb -Ueve -q eve +psql -hevedb -Ueve -c 'create role eve' +psql -hevedb -Ueve -c 'create role django' +#psql -hevedb -Ueve -c 'create database eve' +gunzip -c /srv/backup/eve.sql.gz | psql -hevedb -Ueve -q eve -- 2.39.5