def format_image_link(line: OrderedDict): image_pattern = re.compile(r'.*"(?P<link>.*)".*') image: str = line.pop('image') res = image_pattern.search(image) link = res.group('link') line.update({'image': link}) return line
async def async_setup(hass: HomeAssistant, config): """Register custom view which includes request in context""" # Because we start after auth, we have access to store_result store_result = hass.data[AUTH_DOMAIN] # Remove old LoginFlowIndexView for route in hass.http.app.router._resources: if route.canonical == "/auth/login_flow": _LOGGER.debug("Removed original login_flow route") hass.http.app.router._resources.remove(route) _LOGGER.debug("Add new login_flow route") hass.http.register_view( RequestLoginFlowIndexView(hass.auth.login_flow, store_result, config[DOMAIN]["debug"])) # Inject Auth-Header provider. providers = OrderedDict() provider = headers.HeaderAuthProvider( hass, hass.auth._store, config[DOMAIN], ) providers[(provider.type, provider.id)] = provider providers.update(hass.auth._providers) hass.auth._providers = providers _LOGGER.debug("Injected auth_header provider") return True
def freeze(self) -> IPInfoFrozen: od = OrderedDict() od['inbound'] = self.inbound od['forward'] = self.forward od['reverse'] = self.reverse od.update(self.time_window.freeze()) return CommentedMap( od) # Hack: prevents !!omap annotation in YAML output
def main(args): model_index_file = MMCLS_ROOT / 'model-index.yml' model_index = Config.fromfile(model_index_file) models = OrderedDict() for file in model_index.Import: metafile = Config.fromfile(MMCLS_ROOT / file) models.update({model.Name: model for model in metafile.Models}) logger = get_root_logger(log_file='benchmark_test_image.log', log_level=logging.INFO) if args.models: patterns = [re.compile(pattern) for pattern in args.models] filter_models = {} for k, v in models.items(): if any([re.match(pattern, k) for pattern in patterns]): filter_models[k] = v if len(filter_models) == 0: print('No model found, please specify models in:') print('\n'.join(models.keys())) return models = filter_models summary_data = {} for model_name, model_info in models.items(): config = Path(model_info.Config) assert config.exists(), f'{model_name}: {config} not found.' logger.info(f'Processing: {model_name}') http_prefix = 'https://download.openmmlab.com/mmclassification/' dataset = model_info.Results[0]['Dataset'] if args.checkpoint_root is not None: root = Path(args.checkpoint_root) checkpoint = root / model_info.Weights[len(http_prefix):] checkpoint = str(checkpoint) else: checkpoint = None try: # build the model from a config file and a checkpoint file result = inference(MMCLS_ROOT / config, checkpoint, classes_map[dataset], args) result['valid'] = 'PASS' except Exception as e: logger.error(f'"{config}" : {repr(e)}') result = {'valid': 'FAIL'} summary_data[model_name] = result # show the results if args.show: imshow_infos(args.img, result, wait_time=args.wait_time) show_summary(summary_data)
def Serialize(self) -> OrderedDict: node = OrderedDict( { "nodeId": self._nodeId, "posX": self.pos().x(), "posY": self.pos().y(), } ) node.update(self._nodeSocketManager.Serialize()) return node
def step(self, with_next_step: bool = False) -> None: """ Takes 1 step in the agent's environment. Returns the experience dictionary. Resets the environment if the current state is a terminal. Args: with_next_step: If true, runs the next state through the model as well. """ if self.env.terminal: self.reset() self.env.reset() if self.render: self.env.render() state = self.env.state algo_inp = self.transform_state(state) state = algo_inp.pop("state") algo_step = self.algo.step(state, *algo_inp.values()) algo_step = self.transform_algo_step(algo_step) env_action = self.transform_action(algo_step["action"]) next_state, reward, terminal, info = self.env.step(env_action) next_algo_inp = self.transform_next_state(next_state) next_state = next_algo_inp.pop("next_state") reward = self.transform_reward( state, algo_step, reward, terminal, next_state ) terminal = self.transform_terminal(terminal, info) experience = OrderedDict({ "state": state, **algo_inp, **algo_step, "reward": reward, "next_state": next_state, **next_algo_inp, "terminal": terminal }) if with_next_step: next_algo_step = self.algo.step(next_state, *next_algo_inp.values()) next_algo_step = self.transform_next_algo_step(next_algo_step) experience.update(next_algo_step) return experience
def validate(self, attrs: OrderedDict): attrs = super().validate(attrs) if self.context['request'].method == "POST": try: if self.context['request'].data['password'] != self.context[ 'request'].data['password_verify']: raise serializers.ValidationError( {'password': '******'}) attrs.update( {'password': self.context['request'].data['password']}) except KeyError: raise serializers.ValidationError( {'password': '******'}) return attrs
def get_info(row: OrderedDict): result = ",".join(row.values()) try: content = requestHTML(row["url"]) matched_meta_info = match_meta_info(content) get_image(matched_meta_info["alt_img_url"], row) except Exception as i: print(i) print("Parsed Faild: " + row["url"]) return result row.update(matched_meta_info) # Add local image path row["img_path"] = "/assets/img/works/posts/" + \ "{id}.jpeg".format(id=row["url"][-6:]) print("解析成功:#" + row["id"] + " " + row["title"]) return ",".join(row.values())
def freeze(self) -> InstanceInfoFrozen: od = OrderedDict() od['urls'] = sorted(self.urls) od['tls_cert_ok'] = self.tls_cert_ok od['instance_api_called'] = self.instance_api_called od.update(self.time_window.freeze()) # TODO: ignore time windows for now od['versions'] = sorted( set('{server} {version}'. format(server=ua.server, version=ua.version ) if ua.version is not None else ua.server for ua in self.user_agents.keys())) frozen_ips = OrderedDict() for ip in sorted(self.ips.keys()): frozen_ips[fmt_ip(ip)] = self.ips[ip].freeze() od['ips'] = CommentedMap( frozen_ips) # Hack: prevents !!omap annotation in YAML output return CommentedMap( od) # Hack: prevents !!omap annotation in YAML output
def make_initial_simplex_table(simplex_table: OrderedDict, constraints: list, f_o: dict, big_m): """ <summary> </summary> """ # Agarrar las variables pertinentes. variables = set() for i in constraints: for k in i.keys(): variables.add(k) for k in f_o.keys(): variables.add(k) f_o_var = set(variables) - set([x for x in f_o.keys()]) for i in f_o_var: f_o.update({i: 0}) index = 0 for i in constraints: constraints_i = variables - set(i.keys()) for j in constraints_i: constraints[index].update({j: 0}) index += 1 temp = {} temp.update({k: 0 for k, v in f_o.items()}) for i in constraints: temp.update({k: 0 for k, v in i.items()}) del temp['symbol'] # Add the actual variables. actual_vars = [] for k, v in temp.items(): if (is_actual_variable(k)): actual_vars.append(k) actual_vars.sort(key=lambda x: x[1:]) for i in actual_vars: simplex_table.update({i: []}) # Add the slack/excess variables. s_e_vars = [] for k, v in temp.items(): if (is_slack_excess_variable(k)): s_e_vars.append(k) s_e_vars.sort(key=lambda x: x[1:]) for i in s_e_vars: simplex_table.update({i: []}) # Add the artifitial variables. a_vars = [] for k, v in temp.items(): if (is_artifitial_variable(k)): a_vars.append(k) a_vars.sort(key=lambda x: x[1:]) for i in a_vars: simplex_table.update({i: []}) # Add the z. simplex_table.update({'z': []}) # Add the c. simplex_table.update({'c': []}) # Copying the information in f_p and constraints to the simplex table: for k, v in simplex_table.items(): simplex_table[k].append(f_o[k]) for k, v in simplex_table.items(): for i in range(len(constraints)): simplex_table[k].append(constraints[i][k]) # {'X1': [-2, 0.5, 1, 1], 'X2': [-3, 0.25, 3, 1], 's1': [0, 1, 0, 0], 'e2': [0, 0, -1, 0], 'a2': [-10000, 0, 1, 0], 'a3': [-10000, 0, 0, 1], 'z': [1, 0, 0, 0], 'c': [0, 4, 20, 10], 'pivot': [0, 0, 0, 0], 'VB': [0, 0, 0, 0], 'index': [0, 1, 2, 3]} # Transpose. simplex_table_T = [{} for x in range(len(simplex_table['z']))] for k, v in simplex_table.items(): for i in range(len(simplex_table_T)): simplex_table_T[i].update({k: v[i]}) # new_row: new_row_0 = [] for i in simplex_table_T: contributes_to_new_row = False for k, v in i.items(): if ((k[0] == 'a') and (v != 0)): contributes_to_new_row = True if contributes_to_new_row: new_row_0.append(i.copy()) new_row = [] for i in new_row_0: is_first_row = False for k, v in i.items(): if ((k == 'z') and (v == 1)): is_first_row = True break if is_first_row: new_row.append(i) else: new_row.append(mult_row(i, big_m)) # Sum all the interesting rows. new_row_0 = {k: 0 for k, v in new_row[0].items()} for i in new_row: for k, v in i.items(): new_row_0[k] += v # Make artificial letters 0. for k, v in new_row_0.items(): if (k[0] == 'a'): new_row_0[k] = 0 # Making the new_row_0 the new zeroth row. simplex_table_T[0] = new_row_0 # Adding pivot column and VB column. Adding an index. index = 0 for i in range(len(simplex_table_T)): simplex_table_T[i].update({'pivot': 0}) simplex_table_T[i].update({'VB': 0}) simplex_table_T[i].update({'index': index}) index += 1 for i in simplex_table_T: print(i) return simplex_table_T
def make_initial_simplex_table(simplex_table: OrderedDict, constraints: list, f_o: dict, big_m, m1, urs): """ <summary> <args> simplex_table: type OrderedDict, se le ingresa vacío para utilizarlo para hacer la matriz de f_o y constraints. constraints: type lista de diccionarios, trae la información de los constraints. f_o: type dict, trae la información de la función objetivo. </args> Crea la simplex table inicial preparando para tener big m. Retorna la tabla inicial preparada. </summary> """ if (m1): big_m = -big_m # Agarrar las variables pertinentes. variables = set() for i in constraints: for k in i.keys(): variables.add(k) for k in f_o.keys(): variables.add(k) f_o_var = set(variables) - set([x for x in f_o.keys()]) for i in f_o_var: f_o.update({i: 0}) index = 0 for i in constraints: constraints_i = variables - set(i.keys()) for j in constraints_i: constraints[index].update({j: 0}) index += 1 temp = {} temp.update({k: 0 for k, v in f_o.items()}) for i in constraints: temp.update({k: 0 for k, v in i.items()}) del temp['symbol'] # # print('\n\n\n\n\n\n\n') # print(constraints) # print(temp) print('\n\n\n') # Add the actual variables. actual_vars = [] for k, v in temp.items(): if (is_actual_variable(k)): actual_vars.append(k) actual_vars.sort(key=lambda x: x[1:]) for i in actual_vars: simplex_table.update({i: []}) # Add the slack/excess variables. s_e_vars = [] for k, v in temp.items(): if (is_slack_excess_variable(k)): s_e_vars.append(k) s_e_vars.sort(key=lambda x: x[1:]) for i in s_e_vars: simplex_table.update({i: []}) # Add the artifitial variables. a_vars = [] for k, v in temp.items(): if (is_artifitial_variable(k)): a_vars.append(k) a_vars.sort(key=lambda x: x[1:]) for i in a_vars: simplex_table.update({i: []}) # Add the z. simplex_table.update({'z': []}) # Add the c. simplex_table.update({'c': []}) # Copying the information in f_p and constraints to the simplex table: for k, v in simplex_table.items(): simplex_table[k].append(f_o[k]) for k, v in simplex_table.items(): for i in range(len(constraints)): simplex_table[k].append(constraints[i][k]) # {'X1': [-2, 0.5, 1, 1], 'X2': [-3, 0.25, 3, 1], 's1': [0, 1, 0, 0], 'e2': [0, 0, -1, 0], 'a2': [-10000, 0, 1, 0], 'a3': [-10000, 0, 0, 1], 'z': [1, 0, 0, 0], 'c': [0, 4, 20, 10], 'pivot': [0, 0, 0, 0], 'VB': [0, 0, 0, 0], 'index': [0, 1, 2, 3]} # Transpose. simplex_table_T = [{} for x in range(len(simplex_table['z']))] for k, v in simplex_table.items(): for i in range(len(simplex_table_T)): simplex_table_T[i].update({k: v[i]}) # Add URS vars. urs_variables = list(zip(actual_vars, urs)) for i in range(len(simplex_table_T)): for j in urs_variables: if (j[1] == 1): simplex_table_T[i].update({ (str(j[0]) + "''"): -simplex_table_T[i][j[0]] }) # for i in simplex_table_T: print(i) # exit() # new_row: # print("simplex_table_T: ", simplex_table_T) new_row_0 = [] for i in simplex_table_T: contributes_to_new_row = False for k, v in i.items(): if ((k[0] == 'a') and (v != 0)): contributes_to_new_row = True if contributes_to_new_row: new_row_0.append(i.copy()) if (len(new_row_0) == 0): new_row_0 = [simplex_table_T[0].copy()] # print("new_row_0", new_row_0) new_row = [] for i in new_row_0: is_first_row = False for k, v in i.items(): if ((k == 'z') and (v == 1)): is_first_row = True break if is_first_row: new_row.append(i) else: new_row.append(mult_row(i, big_m)) # Sum all the interesting rows. # print(new_row) new_row_0 = {k: 0 for k, v in new_row[0].items()} for i in new_row: for k, v in i.items(): new_row_0[k] += v # Make artificial letters 0. for k, v in new_row_0.items(): if (k[0] == 'a'): new_row_0[k] = 0 # Making the new_row_0 the new zeroth row. simplex_table_T[0] = new_row_0 # Adding pivot column and VB column. Adding an index. index = 0 for i in range(len(simplex_table_T)): simplex_table_T[i].update({'pivot': 0}) # simplex_table_T[i].update( {'VB':0} ) simplex_table_T[i].update({'index': index}) index += 1 # Setting up VB. n = 1 index = 0 for i in simplex_table_T[1:]: if (i.get(f"s{n}") != None): simplex_table_T[index]['VB'] = simplex_table_T[index][ f"s{n}"] * simplex_table_T[index]['c'] elif (i.get(f"e{n}") != None): simplex_table_T[index]['VB'] = simplex_table_T[index][ f"e{n}"] * simplex_table_T[index]['c'] index += 1 n += 1 return simplex_table_T