config.py 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. import os
  2. class BaseConfig(object):
  3. """基础配置"""
  4. # 飞书应用凭证
  5. FEISHU_TOKEN = {
  6. 'app_id': 'cli_a3667697a57b500e',
  7. 'app_secret': '5eMszgeNt21U56XnPjCykgmTfZUEEMnp'
  8. }
  9. # 电子表格信息
  10. SHEET_INFO = {
  11. '汉语常用词汇表': {
  12. 'spreadsheet_token': 'shtcnU8JgPeMq5wAuKejptwtLof',
  13. 'sheet_id': 'wnB24K'
  14. },
  15. '微信指数自动化搜索-站内标题分词结果': {
  16. 'spreadsheet_token': 'shtcnHxCj6dZBYMuK1Q3tIJVlqg',
  17. 'sheet_id': 'nCudsM'
  18. },
  19. '微信指数自动化搜索-人工标注站内高频关键词': {
  20. 'spreadsheet_token': 'shtcnHxCj6dZBYMuK1Q3tIJVlqg',
  21. 'sheet_id': 'n9Jo4j'
  22. },
  23. '微信指数自动化搜索-每日关键词': {
  24. 'spreadsheet_token': 'shtcnHxCj6dZBYMuK1Q3tIJVlqg',
  25. 'sheet_id': 'b74YMQ'
  26. },
  27. }
  28. # mysql数据表
  29. MYSQL_TABLES = {
  30. '热点词库': 'hot_word',
  31. '热词指数': 'word_wechat_score'
  32. }
  33. class DevelopmentConfig(BaseConfig):
  34. """开发环境配置"""
  35. # 报警内容 环境区分
  36. ENV_TEXT = "开发环境"
  37. # 项目存放目录
  38. PROJECT_PATH = '/data2/hot-words'
  39. # 测试环境mysql地址
  40. MYSQL_INFO = {
  41. 'host': 'rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com',
  42. 'port': 3306,
  43. 'user': 'wx2016_longvideo',
  44. 'password': 'wx2016_longvideoP@assword1234',
  45. 'db': 'word',
  46. 'charset': 'utf8'
  47. }
  48. # 日志服务配置
  49. ALIYUN_LOG = {
  50. 'ENDPOINT': 'cn-hangzhou.log.aliyuncs.com',
  51. 'ACCESSID': 'LTAIWYUujJAm7CbH',
  52. 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
  53. 'PROJECT': 'hot-words-test',
  54. }
  55. class TestConfig(BaseConfig):
  56. """测试环境配置"""
  57. # 报警内容 环境区分
  58. ENV_TEXT = "测试环境"
  59. # 项目存放目录
  60. PROJECT_PATH = '/data2/hot-words'
  61. # 测试环境mysql地址
  62. MYSQL_INFO = {
  63. 'host': 'rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com',
  64. 'port': 3306,
  65. 'user': 'wx2016_longvideo',
  66. 'password': 'wx2016_longvideoP@assword1234',
  67. 'db': 'word',
  68. 'charset': 'utf8'
  69. }
  70. # 日志服务配置
  71. ALIYUN_LOG = {
  72. 'ENDPOINT': 'cn-hangzhou.log.aliyuncs.com',
  73. 'ACCESSID': 'LTAIWYUujJAm7CbH',
  74. 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
  75. 'PROJECT': 'hot-words-test',
  76. }
  77. class PreProductionConfig(BaseConfig):
  78. """预发布环境配置"""
  79. # 报警内容 环境区分
  80. ENV_TEXT = "预发布环境"
  81. # 项目存放目录
  82. PROJECT_PATH = '/data/hot-words'
  83. # 生产环境mysql地址
  84. MYSQL_INFO = {
  85. 'host': 'rm-bp1661607875x9596.mysql.rds.aliyuncs.com',
  86. 'port': 3306,
  87. 'user': 'word',
  88. 'password': 'Piaoquan123@',
  89. 'db': 'word',
  90. 'charset': 'utf8'
  91. }
  92. # 日志服务配置
  93. ALIYUN_LOG = {
  94. 'ENDPOINT': 'cn-hangzhou.log.aliyuncs.com',
  95. 'ACCESSID': 'LTAIWYUujJAm7CbH',
  96. 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
  97. 'PROJECT': 'hot-words',
  98. }
  99. class ProductionConfig(BaseConfig):
  100. """生产环境配置"""
  101. # 报警内容 环境区分
  102. ENV_TEXT = "生产环境"
  103. # 项目存放目录
  104. PROJECT_PATH = '/data/hot-words'
  105. # 生产环境mysql地址
  106. MYSQL_INFO = {
  107. 'host': 'rm-bp1661607875x9596.mysql.rds.aliyuncs.com',
  108. 'port': 3306,
  109. 'user': 'word',
  110. 'password': 'Piaoquan123@',
  111. 'db': 'word',
  112. 'charset': 'utf8'
  113. }
  114. # 日志服务配置
  115. ALIYUN_LOG = {
  116. 'ENDPOINT': 'cn-hangzhou.log.aliyuncs.com',
  117. 'ACCESSID': 'LTAIWYUujJAm7CbH',
  118. 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
  119. 'PROJECT': 'hot-words',
  120. }
  121. def set_config():
  122. # 获取环境变量 HOT_WORDS_ENV
  123. env = os.environ.get('HOT_WORDS_ENV')
  124. # env = 'dev'
  125. if env is None:
  126. # log_.error('ENV ERROR: is None!')
  127. return
  128. if env == 'dev':
  129. return DevelopmentConfig(), env
  130. elif env == 'test':
  131. return TestConfig(), env
  132. elif env == 'pre':
  133. return PreProductionConfig(), env
  134. elif env == 'pro':
  135. return ProductionConfig(), env
  136. else:
  137. # log_.error('ENV ERROR: is {}'.format(env))
  138. return