class Production: @property def SQLALCHEMY_DATABASE_URI(self): DB_USER = env_conf('DATABASE_USER') DB_PASSWORD = env_conf('DATABASE_PASS') DB_HOST = env_conf('DATABASE_HOST') DB_PORT = env_conf('DATABASE_PORT') DB_NAME = env_conf('DATABASE_NAME') return 'postgresql+psycopg2://{}:{}@{}:{}/{}'.\ format(DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, DB_NAME) SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_RECORD_QUERIES = True SECRET_KEY = env_conf("SECRET_KEY", cast=str, default="12345") # by default, access tokens do not expire JWT_ACCESS_TOKEN_EXPIRES = env_conf('JWT_ACCESS_TOKEN_EXPIRES', cast=int, default=False) API_WEBHOOK_URL = env_conf('API_WEBHOOK_URL', cast=str, default=None) SLACK_API_TOKEN = env_conf('SLACK_API_TOKEN', cast=str, default=None) SLACK_CHANNEL = env_conf('SLACK_CHANNEL', cast=str, default=None) @staticmethod def init_app(app): # The default Flask logger level is set at ERROR, so if you want to see # INFO level or DEBUG level logs, you need to lower the main loggers # level first. app.logger.setLevel(logging.DEBUG) app.logger.addHandler(file_logger) app.logger.addHandler(client_logger)
class Develop: """Development config geared towards docker.""" @property def SQLALCHEMY_DATABASE_URI(self): DB_USER = "******" DB_PASSWORD = "******" DB_HOST = "db" DB_PORT = "5432" DB_NAME = "stories" return 'postgresql+psycopg2://{}:{}@{}:{}/{}'.\ format(DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, DB_NAME) SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_RECORD_QUERIES = True API_WEBHOOK_URL = env_conf('API_WEBHOOK_URL', cast=str, default=None) SLACK_API_TOKEN = env_conf('SLACK_API_TOKEN', cast=str, default=None) SLACK_CHANNEL = env_conf('SLACK_CHANNEL', cast=str, default=None) # DEBUG = True # API configurations SECRET_KEY = env_conf("SECRET_KEY", cast=str, default="12345") # by default, access tokens do not expire JWT_ACCESS_TOKEN_EXPIRES = env_conf('JWT_ACCESS_TOKEN_EXPIRES', cast=int, default=False) @staticmethod def init_app(app): """Initiates application.""" app.logger.setLevel(logging.DEBUG) app.logger.addHandler(client_logger) app.logger.addHandler(file_logger)
def SQLALCHEMY_DATABASE_URI(self): DB_USER = env_conf('DATABASE_USER') DB_PASSWORD = env_conf('DATABASE_PASS') DB_HOST = env_conf('DATABASE_HOST') DB_PORT = env_conf('DATABASE_PORT') DB_NAME = env_conf('DATABASE_NAME') return 'postgresql+psycopg2://{}:{}@{}:{}/{}'.\ format(DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, DB_NAME)
class Config(object): DEBUG = False POSTGRES_USER = env_conf('POSTGRES_USER') POSTGRES_PW = env_conf('POSTGRES_PWD') POSTGRES_HOST = env_conf('POSTGRES_HOST') POSTGRES_DB = env_conf('POSTGRES_DATABASE') SQLALCHEMY_DATABASE_URI = 'postgresql://{user}:{pw}@{host}/{db}'.format( user=POSTGRES_USER, pw=POSTGRES_PW, host=POSTGRES_HOST, db=POSTGRES_DB)
class LocalConfig: CONFIG_KEY = 'local' APP_DIR = DIR + '/app' LOCATE = env_conf('LOCATE', default='ru_RU', cast=str) DB_USER = env_conf('DATABASE_USER', default='', cast=str) DB_PASSWORD = env_conf('DATABASE_PASS', default='', cast=str) DB_HOST = env_conf('DATABASE_HOST', default='database.sqlite3', cast=str) DB_PORT = env_conf('DATABASE_PORT', default='', cast=str) DB_NAME = env_conf('DATABASE_NAME', default='', cast=str) SQLALCHEMY_DATABASE_URI = f'sqlite:///{DB_HOST}' SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_RECORD_QUERIES = True DEBUG = False SECRET_KEY = env_conf('SECRET_KEY', cast=str, default='12345') TELEGRAM_BOT_TOKEN = env_conf('TELEGRAM_BOT_TOKEN', default='', cast=str) TELEGRAM_BOT_USERNAME = env_conf('TELEGRAM_BOT_USERNAME', default='', cast=str) @classmethod def init_app(cls, app): app.logger.setLevel(logging.DEBUG) app.logger.addHandler(file_logger) app.logger.addHandler(client_logger)
class Develop: """Development config geared towards docker.""" # Database configurations DB_USER = "******" DB_PASSWORD = "******" DB_HOST = "localhost" DB_PORT = "5432" DB_NAME = "microblog" SQLALCHEMY_DATABASE_URI = "postgresql+psycopg2://{}:{}@{}:{}/{}".format( DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, DB_NAME) SQLALCHEMY_DATABASE_URI = 'postgresql://*****:*****@localhost:5432/microblog' SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_RECORD_QUERIES = True # DEBUG = True # API configurations SECRET_KEY = env_conf("SECRET_KEY", cast=str, default="12345") @staticmethod def init_app(app): """Initiates application.""" app.logger.setLevel(logging.DEBUG) app.logger.addHandler(client_logger) app.logger.addHandler(file_logger)
class Production: SECRET_KEY = env_conf("SECRET_KEY", cast=str, default="12345") @staticmethod def init_app(app): # The default Flask logger level is set at ERROR, so if you want to see # INFO level or DEBUG level logs, you need to lower the main loggers # level first. app.logger.setLevel(logging.DEBUG) app.logger.handlers.clear() app.logger.addHandler(file_logger) app.logger.addHandler(client_logger)
class LocalPSQLConfig: # To initate the local config. Basically adds bunch of logger handlers with # a postgre sql setup DB_USER = env_conf('DATABASE_USER') DB_PASSWORD = env_conf('DATABASE_PASS') DB_HOST = env_conf('DATABASE_HOST') DB_PORT = env_conf('DATABASE_PORT') DB_NAME = env_conf('DATABASE_NAME') SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://{}:{}@{}:{}/{}'.\ format(DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, DB_NAME) SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_RECORD_QUERIES = True SECRET_KEY = env_conf("SECRET_KEY", cast=str, default="12345") @classmethod def init_app(cls, app): # The default Flask logger level is set at ERROR, so if you want to see # INFO level or DEBUG level logs, you need to lower the main loggers # level first. app.logger.setLevel(logging.DEBUG) app.logger.addHandler(file_logger) app.logger.addHandler(client_logger)
class Develop: """Development config geared towards docker.""" # API configurations SECRET_KEY = env_conf("SECRET_KEY", cast=str, default="12345") @staticmethod def init_app(app): """Initiates application.""" app.logger.setLevel(logging.DEBUG) app.logger.handlers.clear() app.logger.addHandler(client_logger) app.logger.addHandler(file_logger)
class Testing: """Configuration for running the test suite""" TESTING = True DEBUG = True SECRET_KEY = env_conf("SECRET_KEY", cast=str, default="12345") @staticmethod def init_app(app): # The default Flask logger level is set at ERROR, so if you want to see # INFO level or DEBUG level logs, you need to lower the main loggers # level first. app.logger.setLevel(logging.DEBUG) app.logger.handlers.clear() app.logger.addHandler(file_logger) app.logger.addHandler(client_logger)
class LocalPSQLConfig: DB_USER = env_conf('DATABASE_USER') DB_PASSWORD = env_conf('DATABASE_PASS') DB_HOST = env_conf('DATABASE_HOST') DB_PORT = env_conf('DATABASE_PORT') DB_NAME = env_conf('DATABASE_NAME') SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://{}:{}@{}:{}/{}'.\ format(DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, DB_NAME) SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_RECORD_QUERIES = True SQLALCHEMY_ECHO = True SECRET_KEY = env_conf("SECRET_KEY", cast=str, default="123456") @classmethod def init_app(cls, app): app.logger.setLevel(logging.DEBUG) app.logger.addHandler(file_logger) app.logger.addHandler(client_logger)
class Develop: DB_USER = env_conf('DATABASE_USER') DB_PASSWORD = env_conf('DATABASE_PASS') DB_HOST = env_conf('DATABASE_HOST') DB_PORT = env_conf('DATABASE_PORT') DB_NAME = env_conf('DATABASE_NAME') SQLALCHEMY_DATABASE_URI = "postgresql+psycopg2://{}:{}@{}:{}/{}".format( DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, DB_NAME) SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_RECORD_QUERIES = True SECRET_KEY = env_conf("SECRET_KEY", cast=str, default="12345") @staticmethod def init_app(app): app.logger.setLevel(logging.DEBUG) app.logger.addHandler(client_logger) app.logger.addHandler(file_logger) app.config['JSON_AS_ASCII'] = False
import csv import os import shutil import re import psycopg2 from decouple import config as env_conf from datetime import datetime # File path. file_path = env_conf('SOURCE_FILE_PATH') archive_file_path = env_conf('ARCHIVE_FILE_PATH') file_name = env_conf('SOURCE_FILE_NAME') host = env_conf('POSTGRES_HOST') db_name = env_conf('POSTGRES_DATABASE') user = env_conf('POSTGRES_USER') pwd = env_conf('POSTGRES_PWD') # Database connection variable. connect = None # Check if the CSV file exists. if os.path.isfile(file_path + file_name): try: # Connect to database. connect = psycopg2.connect(host=host, database=db_name, user=user, password=pwd) except psycopg2.DatabaseError: