settings.py 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. from dotenv import load_dotenv, find_dotenv
  2. from pathlib import Path # Python 3.6+ only
  3. import configparser, json, pytz
  4. TIME_ZONE = pytz.timezone("Asia/Shanghai")
  5. from numpy import true_divide
  6. from databases import (
  7. create_all_database,
  8. DeviceConfig,
  9. SysConfigs,
  10. CRUD,
  11. batch_insert_sys_configs,
  12. SqlQuery,
  13. batch_insert_device_configs,
  14. )
  15. # 初始化数据表
  16. create_all_database()
  17. session = SqlQuery()
  18. device_config_crud = CRUD(DeviceConfig)
  19. all_devices = device_config_crud.read_all(session)
  20. if len(all_devices) == 0:
  21. # 如果配置表中一条数据都没有,就将初始化数据全部插入到数据表中
  22. action_tabs = json.load(open("action_tabs.json", encoding="utf-8"))
  23. actions = json.load(open("action.json", encoding="utf-8"))
  24. batch_insert_device_configs(session, action_tabs, actions)
  25. sys_config_crud = CRUD(SysConfigs)
  26. all_sys_configs = sys_config_crud.read_all(session)
  27. if len(all_sys_configs) == 0:
  28. # 如果配置表中一条数据都没有,就将初始化数据全部插入到数据表中
  29. sys_config_json = json.load(open("sys_configs.json", encoding="utf-8"))
  30. batch_insert_sys_configs(session, sys_config_json)
  31. # 初始化数据表---结束
  32. def get_config_by_items(config_dict):
  33. __config_dict = {}
  34. for i, k in config_dict:
  35. __config_dict[i] = k
  36. return __config_dict
  37. keys = ["面料", "里料"]
  38. def getSysConfigs(key,item,default=None):
  39. session = SqlQuery()
  40. crud = CRUD(SysConfigs)
  41. one_item = crud.read(session, conditions={"key": key})
  42. config = json.loads(one_item.value)
  43. return config.get(item, default)
  44. def get_dict_value(_dict, key, default=None):
  45. if key in _dict:
  46. return _dict[key]
  47. else:
  48. return default
  49. MACHINE_LEVEL = (
  50. "二档"
  51. if getSysConfigs("other_configs", "device_speed", "二档") == ""
  52. else getSysConfigs("other_configs", "device_speed", "二档")
  53. )
  54. IS_TEST = False
  55. IS_MCU = True
  56. IS_LIN_SHI_TEST = False
  57. PhotographSeconds = float(
  58. 0.5
  59. if getSysConfigs("take_photo_configs", "camera_delay", "0.5") == ""
  60. else getSysConfigs("take_photo_configs", "camera_delay", "0.5")
  61. ) # 拍照停留时间
  62. def moveSpeed(level: str = None):
  63. config = {
  64. "一档": {
  65. "camera_high_motor": {
  66. "max_speed": 10000,
  67. "up_speed": 800,
  68. "down_speed": 700,
  69. },
  70. "turntable_steering": {
  71. "max_speed": 6000,
  72. "up_speed": 500,
  73. "down_speed": 400,
  74. },
  75. },
  76. "二档": {
  77. "camera_high_motor": {
  78. "max_speed": 7000,
  79. "up_speed": 600,
  80. "down_speed": 500,
  81. },
  82. "turntable_steering": {
  83. "max_speed": 4500,
  84. "up_speed": 350,
  85. "down_speed": 300,
  86. },
  87. },
  88. "三档": {
  89. "camera_high_motor": {
  90. "max_speed": 3500,
  91. "up_speed": 400,
  92. "down_speed": 300,
  93. },
  94. "turntable_steering": {
  95. "max_speed": 3000,
  96. "up_speed": 200,
  97. "down_speed": 200,
  98. },
  99. },
  100. }
  101. if level is None:
  102. return config[MACHINE_LEVEL]
  103. else:
  104. return config[level]
  105. config = configparser.ConfigParser()
  106. config_name = "config.ini"
  107. config.read(config_name, encoding="utf-8")
  108. # 应用名称
  109. APP_NAME = config.get("app", "app_name")
  110. # 应用版本号
  111. APP_VERSION = config.get("app", "version")
  112. # 是否开启调试模式
  113. IS_DEBUG = config.get("app", "debug")
  114. # 应用端口号
  115. PORT = config.get("app", "port")
  116. # 应用线程数
  117. APP_WORKS = config.get("app", "works")
  118. # 应用host地址
  119. APP_HOST = config.get("app", "host")
  120. # 应用服务启动名称
  121. APP_RUN = config.get("app", "app_run")
  122. # 日志名称
  123. LOG_FILE_NAME = config.get("log", "log_file_name")
  124. # 最大字节数
  125. MAX_BYTES = config.get("log", "max_bytes")
  126. print("Max bytes is", MAX_BYTES)
  127. # 备份数量
  128. BACKUP_COUNTS = config.get("log", "backup_counts")
  129. # 远程服务器地址
  130. HLM_HOST = config.get("log", "hlm_host")
  131. PROJECT = config.get("app", "project")
  132. # ----------------------------------
  133. mcu_config_dict = config.items("mcu_config")
  134. _mcu_config_dict = {}
  135. for i, k in mcu_config_dict:
  136. _mcu_config_dict[i] = int(k)
  137. # print(_mcu_config_dict)
  138. _config_mcu_config = get_config_by_items(config.items("mcu_config"))
  139. LEFT_FOOT_ACTION = _mcu_config_dict["left_foot_action"]
  140. LEFT_FOOT_PHOTOGRAPH = _mcu_config_dict["left_foot_photograph"]
  141. LEFT_FOOT_ACTION_1 = _mcu_config_dict["left_foot_action_1"]
  142. LEFT_FOOT_ACTION_2 = _mcu_config_dict["left_foot_action_2"]
  143. RIGHT_FOOT_ACTION = _mcu_config_dict["right_foot_action"]
  144. RIGHT_FOOT_PHOTOGRAPH = _mcu_config_dict["right_foot_photograph"]
  145. RIGHT_FOOT_ACTION_1 = _mcu_config_dict["right_foot_action_1"]
  146. RIGHT_FOOT_ACTION_2 = _mcu_config_dict["right_foot_action_2"]
  147. NEXT_STEP = int(get_dict_value(_config_mcu_config, "next_step", 6)) # 下一步
  148. MOVE_UP = _mcu_config_dict["move_up"]
  149. MOVE_DOWN = _mcu_config_dict["move_down"]
  150. STOP = _mcu_config_dict["stop"]
  151. DOMAIN = (
  152. "https://dev2.valimart.net"
  153. if config.get("app", "env") != "dev"
  154. else "https://dev2.pubdata.cn"
  155. )
  156. Company = "惠利玛"
  157. is_test_plugins = true_divide
  158. OUT_PIC_MODE = "."+getSysConfigs("basic_configs", "image_out_format", "png") # ".png"
  159. OUT_PIC_SIZE = int(
  160. 800
  161. if getSysConfigs("basic_configs", "main_image_size", "800") == ""
  162. else getSysConfigs("basic_configs", "main_image_size", "800")
  163. ) # 主图大小
  164. Mode = getSysConfigs("other_configs", "product_type", "鞋类") # 程序执行类
  165. OUT_PIC_FACTOR = float(
  166. 1
  167. if getSysConfigs("basic_configs", "image_sharpening", "1") == ""
  168. else getSysConfigs("basic_configs", "image_sharpening", "1")
  169. ) # 图片锐化
  170. RESIZE_IMAGE_MODE = 1
  171. GRENERATE_MAIN_PIC_BRIGHTNESS = 254 # 色阶是否调整到位判断
  172. RUNNING_MODE = getSysConfigs("other_configs", "running_mode", "普通模式")
  173. DEFAULT_CUTOUT_MODE = getSysConfigs("other_configs", "cutout_mode", "普通抠图")
  174. CUTOUT_MODE = 0 if getSysConfigs("other_configs", "cutout_mode", "普通抠图") =="普通抠图" else 1
  175. import importlib
  176. # plugins = [
  177. # # "custom_plugins.plugins.detail_template.huilima.detail_huilima1.DetailPicGet",
  178. # ".custom_plugins.plugins.detail_template.huilima.detail_huilima1.DetailPicGet",
  179. # # "custom_plugins.plugins.detail_template.huilima.detail_huilima2.DetailPicGet",
  180. # # "custom_plugins.plugins.detail_template.huilima.detail_huilima3.DetailPicGet",
  181. # # "custom_plugins.plugins.detail_template.huilima.detail_huilima4.DetailPicGet",
  182. # # "custom_plugins.plugins.detail_template.xiaosushuoxie.detail_xiaosushuoxie1",
  183. # # "custom_plugins.plugins.detail_template.xiaosushuoxie.detail_xiaosushuoxie2",
  184. # # "custom_plugins.plugins.detail_template.xiaosushuoxie.detail_xiaosushuoxie3",
  185. # # "custom_plugins.plugins.detail_template.xiaosushuoxie.detail_xiaosushuoxie4",
  186. # # "custom_plugins.plugins.detail_template.xiaosushuoxie.detail_xiaosushuoxie5",
  187. # # "custom_plugins.plugins.detail_template.xiaosushuoxie.detail_xiaosushuoxie6",
  188. # # "custom_plugins.plugins.detail_template.hongqingting.detail_hongqingting1.DetailPicGet",
  189. # # "custom_plugins.plugins_mode.detail_generate_base.DetailBase",
  190. # # "custom_plugins.plugins_mode.pic_deal.PictureProcessing",
  191. # ]
  192. # def load_plugin(plugin_path):
  193. # module_name, class_name = plugin_path.rsplit(".", 1)
  194. # module = importlib.import_module(module_name)
  195. # return getattr(module, class_name)
  196. # loaded_plugins = [load_plugin(p.lstrip(".")) for p in plugins]