mirror of https://github.com/interlegis/sapl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.9 KiB
64 lines
1.9 KiB
import os
|
|
import re
|
|
|
|
import pytz
|
|
import yaml
|
|
from decouple import Config, RepositoryEnv
|
|
from dj_database_url import parse as db_url
|
|
|
|
from sapl.legacy.scripts.exporta_zope.variaveis_comuns import \
|
|
DIR_DADOS_MIGRACAO
|
|
from sapl.legacy.timezonesbrasil import get_timezone
|
|
|
|
from .settings import * # flake8: noqa
|
|
|
|
config = Config(RepositoryEnv(BASE_DIR.child('legacy', '.env')))
|
|
|
|
|
|
INSTALLED_APPS += (
|
|
'sapl.legacy', # legacy reversed model definitions
|
|
)
|
|
|
|
DATABASES['legacy'] = config('DATABASE_URL_FONTE', cast=db_url,)
|
|
DATABASES['default'] = config(
|
|
'DATABASE_URL_DESTINO',
|
|
cast=lambda v: v if isinstance(v, dict) else db_url(v),
|
|
default=DATABASES['default'])
|
|
|
|
# Sobrescreve o nome dos bancos caso a variável de ambiente seja definida
|
|
# Útil para migração em lote de vários bancos
|
|
DATABASE_NAME_OVERRIDE = os.environ.get('DATABASE_NAME')
|
|
if DATABASE_NAME_OVERRIDE:
|
|
DATABASES['legacy']['NAME'] = DATABASE_NAME_OVERRIDE
|
|
# não altera o nome se o destino é um banco em memória
|
|
if not DATABASES['default']['NAME'] == ':memory:':
|
|
DATABASES['default']['NAME'] = DATABASE_NAME_OVERRIDE
|
|
|
|
DATABASE_ROUTERS = ['sapl.legacy.router.LegacyRouter', ]
|
|
|
|
DEBUG = True
|
|
|
|
# delisga indexação fulltext em tempo real
|
|
HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.BaseSignalProcessor'
|
|
|
|
SHELL_PLUS_DONT_LOAD = ['legacy']
|
|
|
|
NOME_BANCO_LEGADO = DATABASES['legacy']['NAME']
|
|
DIR_REPO = Path(DIR_DADOS_MIGRACAO, 'repos', NOME_BANCO_LEGADO)
|
|
|
|
MEDIA_ROOT = DIR_REPO
|
|
|
|
|
|
# configura timezone de migração
|
|
match = re.match('sapl_cm_(.*)', NOME_BANCO_LEGADO)
|
|
SIGLA_CASA = match.group(1)
|
|
_PATH_TABELA_TIMEZONES = DIR_DADOS_MIGRACAO.child('tabela_timezones.yaml')
|
|
with open(_PATH_TABELA_TIMEZONES, 'r') as arq:
|
|
tabela_timezones = yaml.load(arq, yaml.Loader)
|
|
municipio, uf, nome_timezone = tabela_timezones[SIGLA_CASA]
|
|
if nome_timezone:
|
|
PYTZ_TIMEZONE = pytz.timezone(nome_timezone)
|
|
else:
|
|
PYTZ_TIMEZONE = get_timezone(municipio, uf)
|
|
|
|
TIME_ZONE = PYTZ_TIMEZONE.zone
|
|
|