Example #1
0
    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])
Example #2
0
	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	
Example #3
0
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)
Example #4
0
    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)
Example #5
0
 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)
Example #6
0
    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
Example #7
0
 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
Example #8
0
	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)
Example #9
0
	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()
Example #10
0
    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
Example #11
0
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)
Example #12
0
    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()
Example #13
0
 def test_to_str_str(self):
     self.assertEqual('hello', to_str('hello'))
Example #14
0
 def test_to_str_byte(self):
     self.assertEqual('hello', to_str(b'hello'))
Example #15
0
 def get_str_val(self):
     '''doc'''
     val = self.get_val()
     return to_str(val)