from dotenv import load_dotenv, find_dotenv from pathlib import Path # Python 3.6+ only import configparser, json from numpy import true_divide from databases import ( create_all_database, DeviceConfig, SysConfigs, CRUD, batch_insert_sys_configs, SqlQuery, batch_insert_device_configs, ) # 初始化数据表 create_all_database() session = SqlQuery() device_config_crud = CRUD(DeviceConfig) all_devices = device_config_crud.read_all(session) if len(all_devices) == 0: # 如果配置表中一条数据都没有,就将初始化数据全部插入到数据表中 actions = json.load(open("action.json", encoding="utf-8")) batch_insert_device_configs(session, actions) sys_config_crud = CRUD(SysConfigs) all_sys_configs = sys_config_crud.read_all(session) if len(all_sys_configs) == 0: # 如果配置表中一条数据都没有,就将初始化数据全部插入到数据表中 sys_config_json = json.load(open("sys_configs.json", encoding="utf-8")) batch_insert_sys_configs(session, sys_config_json) # 初始化数据表---结束 def get_config_by_items(config_dict): __config_dict = {} for i, k in config_dict: __config_dict[i] = k return __config_dict def getSysConfigs(key,item,default=None): session = SqlQuery() crud = CRUD(SysConfigs) one_item = crud.read(session, conditions={"key": key}) config = json.loads(one_item.value) return config.get(item, default) def get_dict_value(_dict, key, default=None): if key in _dict: return _dict[key] else: return default MACHINE_LEVEL = getSysConfigs("other_configs", "device_speed", "二档") IS_TEST = False IS_MCU = True IS_LIN_SHI_TEST = False PhotographSeconds = float( getSysConfigs("take_photo_configs", "camera_delay", "0.5") ) # 拍照停留时间 def moveSpeed(level: str = None): config = { "一档": { "camera_high_motor": { "max_speed": 10000, "up_speed": 800, "down_speed": 700, }, "turntable_steering": { "max_speed": 6000, "up_speed": 500, "down_speed": 400, }, }, "二档": { "camera_high_motor": { "max_speed": 7000, "up_speed": 600, "down_speed": 500, }, "turntable_steering": { "max_speed": 4500, "up_speed": 350, "down_speed": 300, }, }, "三档": { "camera_high_motor": { "max_speed": 3500, "up_speed": 400, "down_speed": 300, }, "turntable_steering": { "max_speed": 3000, "up_speed": 200, "down_speed": 200, }, }, } if level is None: return config[MACHINE_LEVEL] else: return config[level] config = configparser.ConfigParser() config_name = "config.ini" config.read(config_name, encoding="utf-8") # 应用名称 APP_NAME = config.get("app", "app_name") # 应用版本号 APP_VERSION = config.get("app", "version") # 是否开启调试模式 IS_DEBUG = config.get("app", "debug") # 应用端口号 PORT = config.get("app", "port") # 应用线程数 APP_WORKS = config.get("app", "works") # 应用host地址 APP_HOST = config.get("app", "host") # 应用服务启动名称 APP_RUN = config.get("app", "app_run") # 日志名称 LOG_FILE_NAME = config.get("log", "log_file_name") # 最大字节数 MAX_BYTES = config.get("log", "max_bytes") print("Max bytes is", MAX_BYTES) # 备份数量 BACKUP_COUNTS = config.get("log", "backup_counts") # 远程服务器地址 HLM_HOST = config.get("log", "hlm_host") PROJECT = config.get("app", "project") # ---------------------------------- mcu_config_dict = config.items("mcu_config") _mcu_config_dict = {} for i, k in mcu_config_dict: _mcu_config_dict[i] = int(k) # print(_mcu_config_dict) _config_mcu_config = get_config_by_items(config.items("mcu_config")) LEFT_FOOT_ACTION = _mcu_config_dict["left_foot_action"] LEFT_FOOT_PHOTOGRAPH = _mcu_config_dict["left_foot_photograph"] LEFT_FOOT_ACTION_1 = _mcu_config_dict["left_foot_action_1"] LEFT_FOOT_ACTION_2 = _mcu_config_dict["left_foot_action_2"] RIGHT_FOOT_ACTION = _mcu_config_dict["right_foot_action"] RIGHT_FOOT_PHOTOGRAPH = _mcu_config_dict["right_foot_photograph"] RIGHT_FOOT_ACTION_1 = _mcu_config_dict["right_foot_action_1"] RIGHT_FOOT_ACTION_2 = _mcu_config_dict["right_foot_action_2"] NEXT_STEP = int(get_dict_value(_config_mcu_config, "next_step", 6)) # 下一步 MOVE_UP = _mcu_config_dict["move_up"] MOVE_DOWN = _mcu_config_dict["move_down"] STOP = _mcu_config_dict["stop"] DOMAIN = ( "https://dev2.valimart.net" if config.get("app", "debug") == "false" else "https://dev2.pubdata.cn" ) Company = "惠利玛" is_test_plugins = true_divide OUT_PIC_MODE = "."+getSysConfigs("basic_configs", "image_out_format", "png") # ".png" OUT_PIC_SIZE = int(getSysConfigs("basic_configs", "main_image_size", "800")) # 主图大小 Mode = getSysConfigs("other_configs", "product_type", "鞋类") # 程序执行类 OUT_PIC_FACTOR = float( getSysConfigs("basic_configs", "image_sharpening", "1") ) # 图片锐化 RESIZE_IMAGE_MODE = 1 GRENERATE_MAIN_PIC_BRIGHTNESS = 254 # 色阶是否调整到位判断 RUNNING_MODE = getSysConfigs("other_configs", "running_mode", "普通模式") DEFAULT_CUTOUT_MODE = getSysConfigs("other_configs", "cutout_mode", "普通抠图") CUTOUT_MODE = 0 if getSysConfigs("other_configs", "cutout_mode", "普通抠图") =="普通抠图" else 1