Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1""" 

2Specify main configs here 

3 

4Other configs are specified in module's global.py in like 

5configs = { 

6 "development": { 

7 "CONFIG_VAR": "DEVVALUE" 

8 }, 

9 "production": { 

10 "CONFIG_VAR": "PRODVALUE" 

11 }, 

12 "testing": { 

13 "CONFIG_VAR": "TESTVALUE" 

14 } 

15} 

16""" 

17import os 

18 

19base_path = os.path.dirname(os.path.abspath(__file__)) 

20 

21 

22class BaseConfig: 

23 """Parent configuration class.""" 

24 

25 DEBUG = False 

26 SQLALCHEMY_TRACK_MODIFICATIONS = False 

27 BASE_DIR = base_path 

28 STATIC = os.path.join(base_path, "static") 

29 UPLOADED_PATH_IMAGE = os.path.join(STATIC, "uploads", "images") 

30 UPLOADED_PATH_THUMB = os.path.join(STATIC, "uploads", "thumbs") 

31 

32 

33class ProductionConfig(BaseConfig): 

34 """Configurations for production""" 

35 

36 # built in flask configs 

37 ENV = "production" 

38 SECRET_KEY = os.environ.get("SECRET_KEY") 

39 

40 # control email confirmation for user registration 

41 EMAIL_CONFIRMATION_DISABLED = False 

42 

43 # flask-mailman configs 

44 MAIL_SERVER = "smtp.googlemail.com" 

45 MAIL_PORT = 465 

46 MAIL_USE_TLS = False 

47 MAIL_USE_SSL = True 

48 MAIL_USERNAME = os.environ.get("MAIL_USERNAME") 

49 MAIL_PASSWORD = os.environ.get("MAIL_PASSWORD") 

50 MAIL_DEFAULT_SENDER = os.environ.get("MAIL_DEFAULT_SENDER") 

51 

52 # database configs 

53 SQLALCHEMY_DATABASE_URI = ( 

54 os.environ.get("SQLALCHEMY_DATABASE_URI") or "sqlite:///shopyo.db" 

55 ) 

56 

57 

58class DevelopmentConfig(BaseConfig): 

59 """Configurations for development""" 

60 

61 # built in flask configs 

62 ENV = "development" 

63 DEBUG = True 

64 LOGIN_DISABLED = False 

65 SECRET_KEY = "secret" 

66 

67 # control email confirmation for user registration 

68 EMAIL_CONFIRMATION_DISABLED = False 

69 

70 # flask-mailman configs 

71 MAIL_SERVER = "localhost" 

72 MAIL_PORT = 1025 

73 MAIL_USE_TLS = False 

74 MAIL_USE_SSL = False 

75 MAIL_USERNAME = "" 

76 MAIL_PASSWORD = "" 

77 MAIL_DEFAULT_SENDER = "ma@mail.com" 

78 

79 # database configs 

80 SQLALCHEMY_DATABASE_URI = "sqlite:///shopyo.db" 

81 

82 # unknown configs 

83 PASSWORD_SALT = "some pasword salt" 

84 

85 

86class TestingConfig(BaseConfig): 

87 """Configurations for testsing""" 

88 

89 # built in flask configs 

90 ENV = "testing" 

91 TESTING = True 

92 DEBUG = True 

93 SERVER_NAME = "localhost.com" 

94 SECRET_KEY = "secret" 

95 PREFERRED_URL_SCHEME = "http" 

96 

97 # flask WTF configs 

98 WTF_CSRF_ENABLED = False 

99 

100 # control email confirmation for user registration 

101 EMAIL_CONFIRMATION_DISABLED = False 

102 

103 # flask-mailman configs 

104 MAIL_BACKEND = "console" 

105 MAIL_USERNAME = "shopyofrom@test.com" 

106 MAIL_PASSWORD = "pass" 

107 MAIL_DEFAULT_SENDER = "shopyofrom@test.com" 

108 

109 # flask sqlalchemy configs 

110 SQLALCHEMY_DATABASE_URI = "sqlite:///testing.db" 

111 

112 # flask bycrpt configs 

113 BCRYPT_LOG_ROUNDS = 4 

114 

115 # unknown configs 

116 PASSWORD_SALT = "some pasword salt" 

117 LIVESERVER_PORT = 8943 

118 LIVESERVER_TIMEOUT = 10 

119 

120 

121app_config = { 

122 "development": DevelopmentConfig, 

123 "production": ProductionConfig, 

124 "testing": TestingConfig, 

125}