def emission(self, state, one_pinyin): pinyin = to_str(one_pinyin) hanzi = to_str(state) data = self.emission_dict[DATA] default = self.emission_dict[DEFAULT] if hanzi not in data: return float(default) if pinyin not in data[hanzi]: return float(default) else: return float(data[hanzi][pinyin])
def InitPortSetting(self): xml_data = xlrd.open_workbook("PortSetting.xls") table = xml_data.sheet_by_index(0) desc_list = [] self.setting_list = [] for i in range(1, table.nrows): desc_list.append(util.to_str(table.cell(i, ENUM_SETTING_DESC).value)) port_setting = PortSetting(int(table.cell(i, ENUM_SETTING_RATE).value), int(table.cell(i, ENUM_SETTING_BYTESIZE).value), util.to_str(table.cell(i, ENUM_SETTING_PARITY).value), int(table.cell(i, ENUM_SETTING_STOPBITS).value), int(table.cell(i, ENUM_SETTING_DTRCONTROL).value)) self.setting_list.append(port_setting) return desc_list
def gen_emission(): data = {'default': 1.e-200, 'data': None} tmp = readjson(BASE_EMISSION) with open(HZ2PY, encoding='utf-8') as infile: for line in infile: line = util.to_str(line.strip()) hz, pys = line.split('=') py_list = [ util.normlize_pinyin(py.strip()) for py in pys.split(',') ] char_list = [hz] * len(py_list) for hanzi, pinyin in zip(char_list, py_list): tmp.setdefault(hanzi, {}) tmp[hanzi].setdefault(pinyin, 0.) tmp[hanzi][pinyin] += 1 for hz in tmp: py_sum = 0. for py in tmp[hz]: py_sum += tmp[hz][py] for py in tmp[hz]: tmp[hz][py] = tmp[hz][py] / py_sum data['data'] = tmp writejson(data, EMISSION_FILE)
def transition(self, pre_state, next_state): pre_state = to_str(pre_state) next_state = to_str(next_state) data = self.trans_dict[DATA] default = self.trans_dict[DEFAULT] if pre_state not in data: return float(default) if next_state in data[pre_state]: return float(data[pre_state][next_state]) elif DEFAULT in data[pre_state]: return float(data[pre_state][DEFAULT]) else: return float(default)
def start(self, state): state = to_str(state) data = self.start_dict[DATA] default = self.start_dict[DEFAULT] if state in data: return float(data[state]) else: return float(default)
def InitPortSetting(self): xml_data = xlrd.open_workbook("PortSetting.xls") table = xml_data.sheet_by_index(0) desc_list = [] self.setting_list = [] for i in range(1, table.nrows): desc_list.append( util.to_str(table.cell(i, ENUM_SETTING_DESC).value)) port_setting = PortSetting( int(table.cell(i, ENUM_SETTING_RATE).value), int(table.cell(i, ENUM_SETTING_BYTESIZE).value), util.to_str(table.cell(i, ENUM_SETTING_PARITY).value), int(table.cell(i, ENUM_SETTING_STOPBITS).value), int(table.cell(i, ENUM_SETTING_DTRCONTROL).value)) self.setting_list.append(port_setting) return desc_list
def has_sheet(self, *sheet_names): '''doc''' sheet_names_len = len(sheet_names) if sheet_names_len == 0: return False book_sheet_names = self.get_sheet_names() for sheet_name in sheet_names: sheet_name = to_str(sheet_name) if sheet_name not in book_sheet_names: return False return True
def ImportDeviceDatas(self, filename): if not os.path.isfile(filename): return self.device_list = [] xml_data = xlrd.open_workbook(filename) table = xml_data.sheet_by_index(0) total_cols = table.ncols # 加载数据 for i in range(1, table.nrows): self.AppendRows() for j in range(0, MAX_COL + 1): self.SetCellValue(i - 1, j, util.to_str(table.cell(i, j).value)) # if (i - 1) % 2 == 1: # self.SetItemTextColour(i - 1, wx.BLUE) device = Device(util.to_str(table.cell(i, ENUM_DEVICE_DEV_TYPE).value), util.to_str(table.cell(i, ENUM_DEVICE_DEV_ADDR).value), util.to_str(table.cell(i, ENUM_DEVICE_MANGR_IP).value), util.to_str(table.cell(i, ENUM_DEVICE_SUBMASK_IP).value), util.to_str(table.cell(i, ENUM_DEVICE_GATEWAY_IP).value), int(table.cell(i, ENUM_DEVICE_MANGR_VLAN).value), int(table.cell(i, ENUM_DEVICE_BEGIN_VLAN).value), int(table.cell(i, ENUM_DEVICE_END_VLAN).value)) self.device_list.append(device)
def OnImportDeviceDatas(self, e): self.DeleteAllItems() self.DeleteAllColumns() self.dirname = '' self.device_list = [] dlg = wx.FileDialog(self, "Choose a file", self.dirname, "", "Excel Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||", wx.OPEN) if dlg.ShowModal() == wx.ID_OK: self.filename = dlg.GetFilename() self.dirname = dlg.GetDirectory() xml_data = xlrd.open_workbook(os.path.join(self.dirname, self.filename)) table = xml_data.sheet_by_index(0) total_cols = table.ncols # 设置列名 for i in range(0, total_cols): self.InsertColumn(i, util.to_str(table.cell(0, i).value)) self.SetColumnWidth(i, 120) # 加载数据 for i in range(1, table.nrows): self.InsertStringItem(i-1,u"") for j in range(0, total_cols): self.SetStringItem(i - 1, j, util.to_str(table.cell(i, j).value)) if (i - 1) % 2 == 1: self.SetItemTextColour(i - 1, wx.BLUE) device = Device(util.to_str(table.cell(i, ENUM_DEVICE_DEV_TYPE).value), util.to_str(table.cell(i, ENUM_DEVICE_MANGR_IP).value), util.to_str(table.cell(i, ENUM_DEVICE_SUBMASK_IP).value), util.to_str(table.cell(i, ENUM_DEVICE_GATEWAY_IP).value), int(table.cell(i, ENUM_DEVICE_MANGR_VLAN).value), int(table.cell(i, ENUM_DEVICE_BEGIN_VLAN).value), int(table.cell(i, ENUM_DEVICE_END_VLAN).value)) self.device_list.append(device) self.Select(0) dlg.Destroy()
def compile(self, cam): #Open the shader source vert_dir = os.path.join(os.path.dirname(__file__), 'vert.glsl') frag_dir = os.path.join(os.path.dirname(__file__), 'frag.glsl') v_shader = open(vert_dir).read() f_shader = open(frag_dir).read() #Create code for all defines define_code = '' for k in cam.params: param = to_str(cam.params[k]) define_code += '#define ' + k + ' ' + param + '\n' define_code += '#define DE de_' + self.obj.name + '\n' define_code += '#define COL col_' + self.obj.name + '\n' split_ix = f_shader.index('// [/pydefine]') f_shader = f_shader[:split_ix] + define_code + f_shader[split_ix:] #Create code for all keys var_code = '' for k in _PYSPACE_GLOBAL_VARS: typ = 'float' if type(_PYSPACE_GLOBAL_VARS[k]) is float else 'vec3' var_code += 'uniform ' + typ + ' _' + k + ';\n' split_ix = f_shader.index('// [/pyvars]') f_shader = f_shader[:split_ix] + var_code + f_shader[split_ix:] #Create code for all pyspace nested_refs = {} space_code = self.obj.compiled(nested_refs) #Also add forward declarations forwared_decl_code = '' for k in nested_refs: forwared_decl_code += nested_refs[k].forwared_decl() space_code = forwared_decl_code + space_code split_ix = f_shader.index('// [/pyspace]') f_shader = f_shader[:split_ix] + space_code + f_shader[split_ix:] #Debugging the shader #open('frag_gen.glsl', 'w').write(f_shader) #Compile program program = self.compile_program(v_shader, f_shader) #Get variable ids for each uniform for k in _PYSPACE_GLOBAL_VARS: self.keys[k] = glGetUniformLocation(program, '_' + k) #Return the program return program
def gen_py2hz(): data = {} # with open(PY2HZ,encoding = 'utf-8') as infile: if 1: for line in open(PY2HZ, encoding='utf-8'): line = util.to_str(line.strip()) tmp = line.split('=') if len(tmp) != 2: raise Exception('error py2hz') py, hzs = tmp py = py.strip() hzs = hzs.strip() if len(py) > 0 and len(hzs) > 0: data[py] = hzs writejson(data, PY2HZ_FILE)
def OnImportDeviceDatas(self, e): self.DeleteAllItems() self.DeleteAllColumns() self.dirname = '' self.device_list = [] dlg = wx.FileDialog( self, "Choose a file", self.dirname, "", "Excel Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||", wx.OPEN) if dlg.ShowModal() == wx.ID_OK: self.filename = dlg.GetFilename() self.dirname = dlg.GetDirectory() xml_data = xlrd.open_workbook( os.path.join(self.dirname, self.filename)) table = xml_data.sheet_by_index(0) total_cols = table.ncols # 设置列名 for i in range(0, total_cols): self.InsertColumn(i, util.to_str(table.cell(0, i).value)) self.SetColumnWidth(i, 120) # 加载数据 for i in range(1, table.nrows): self.InsertStringItem(i - 1, u"") for j in range(0, total_cols): self.SetStringItem(i - 1, j, util.to_str(table.cell(i, j).value)) if (i - 1) % 2 == 1: self.SetItemTextColour(i - 1, wx.BLUE) device = Device( util.to_str(table.cell(i, ENUM_DEVICE_DEV_TYPE).value), util.to_str(table.cell(i, ENUM_DEVICE_MANGR_IP).value), util.to_str(table.cell(i, ENUM_DEVICE_SUBMASK_IP).value), util.to_str(table.cell(i, ENUM_DEVICE_GATEWAY_IP).value), int(table.cell(i, ENUM_DEVICE_MANGR_VLAN).value), int(table.cell(i, ENUM_DEVICE_BEGIN_VLAN).value), int(table.cell(i, ENUM_DEVICE_END_VLAN).value)) self.device_list.append(device) self.Select(0) dlg.Destroy()
def test_to_str_str(self): self.assertEqual('hello', to_str('hello'))
def test_to_str_byte(self): self.assertEqual('hello', to_str(b'hello'))
def get_str_val(self): '''doc''' val = self.get_val() return to_str(val)