33Copyright (c) 2019 - present AppSeed.us
44"""
55
6- import os
6+ import os , random , string
77from datetime import timedelta
88
99BASE_DIR = os .path .dirname (os .path .realpath (__file__ ))
1010
11-
1211class BaseConfig ():
13-
14- SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os .path .join (BASE_DIR , 'apidata.db' )
15- SQLALCHEMY_TRACK_MODIFICATIONS = False
1612
17- SECRET_KEY = os .getenv ('SECRET_KEY' , 'S#perS3crEt_913' )
18- JWT_SECRET_KEY = os .getenv ('JWT_SECRET_KEY' , 'S#perS3crEt_JWT' )
19- GITHUB_CLIENT_ID = os .getenv ('GITHUB_CLIENT_ID' )
20- GITHUB_CLIENT_SECRET = os .getenv ('GITHUB_SECRET_KEY' )
13+ SECRET_KEY = os .getenv ('SECRET_KEY' , None )
14+ if not SECRET_KEY :
15+ SECRET_KEY = '' .join (random .choice ( string .ascii_lowercase ) for i in range ( 32 ))
16+
17+ JWT_SECRET_KEY = os .getenv ('JWT_SECRET_KEY' , None )
18+ if not JWT_SECRET_KEY :
19+ JWT_SECRET_KEY = '' .join (random .choice ( string .ascii_lowercase ) for i in range ( 32 ))
20+
21+ GITHUB_CLIENT_ID = os .getenv ('GITHUB_CLIENT_ID' , None )
22+ GITHUB_CLIENT_SECRET = os .getenv ('GITHUB_SECRET_KEY' , None )
2123
2224 JWT_ACCESS_TOKEN_EXPIRES = timedelta (hours = 1 )
25+
26+ SQLALCHEMY_TRACK_MODIFICATIONS = False
27+
28+ DB_ENGINE = os .getenv ('DB_ENGINE' , None )
29+ DB_USERNAME = os .getenv ('DB_USERNAME' , None )
30+ DB_PASS = os .getenv ('DB_PASS' , None )
31+ DB_HOST = os .getenv ('DB_HOST' , None )
32+ DB_PORT = os .getenv ('DB_PORT' , None )
33+ DB_NAME = os .getenv ('DB_NAME' , None )
34+
35+ USE_SQLITE = True
36+
37+ # try to set up a Relational DBMS
38+ if DB_ENGINE and DB_NAME and DB_USERNAME :
39+
40+ try :
41+
42+ # Relational DBMS: PSQL, MySql
43+ SQLALCHEMY_DATABASE_URI = '{}://{}:{}@{}:{}/{}' .format (
44+ DB_ENGINE ,
45+ DB_USERNAME ,
46+ DB_PASS ,
47+ DB_HOST ,
48+ DB_PORT ,
49+ DB_NAME
50+ )
51+
52+ USE_SQLITE = False
53+
54+ except Exception as e :
55+
56+ print ('> Error: DBMS Exception: ' + str (e ) )
57+ print ('> Fallback to SQLite ' )
58+
59+ if USE_SQLITE :
60+
61+ # This will create a file in <app> FOLDER
62+ SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os .path .join (BASE_DIR , 'db.sqlite3' )
0 commit comments