def run(ifile, ofile): """ Запускае поиск для одной единицы компиляции Данные передаются в виде списков строк без переносов строки """ # Получаем содержимое файла settings = {'name': ifile, 'howOpen': 'r', 'coding': 'cp1251'} list_lines = iow.file2list(settings) # Удаляем комментарии - отдельные строки и знаки после end\t\n и прочие # чтобы можно было применить регулярное выражение no_commented_code = _delete_comments(list_lines) settings = { 'name': 'tmp/pure_code.asm', 'howOpen': 'w', 'coding': 'utf_8' } # Выделяем только код pure_code_list_lines = _extract_code(_delete_endlines_in_list(no_commented_code)) iow.list2file(settings, pure_code_list_lines) # Ищем граф вызовов для одного файла print 'finding in file ', ifile, '...' headers = _find_call_graph(pure_code_list_lines) # Рисуем картинку графа print 'plotting to file ', ofile, '...' _gr.write_graph(ofile) '''
def get_sensors_cfg(): """ Deprecated! """ sets = { 'name': kSensorCfgMap_, 'howOpen': 'r', 'coding': 'cp1251'} readedList = iow.file2list(sets) sensor_sets = json.loads(' '.join(readedList)) print json.dumps(sensor_sets, sort_keys=True, indent=2) return sensor_sets
def run(ifile, ofile): """ Запускае поиск для одной единицы компиляции Данные передаются в виде списков строк без переносов строки """ # Пропускаем через препроцессор # @todo: доделать препроцессор pass # Получаем содержимое единицы компиляции settings = {'name': ifile, 'howOpen': 'r', 'coding': 'cp1251'} list_lines = iow.file2list(settings) # Удаляем все комментарии no_commented_code = delete_comments(list_lines) # Выделяем только код pure_code_list_lines = extract_code(delete_endlines_in_list(no_commented_code)) settings = { 'name': 'tmp/pure_code.asm', 'howOpen': 'w', 'coding': 'utf_8' } iow.list2file(settings, pure_code_list_lines) # Ищем граф вызовов для одной ед. компил. print 'finding graph in file ', ifile, '...' graph_instance = get_call_graph(pure_code_list_lines) # Рисуем картинку графа одной ед. компил. print 'plotting graph to file ', ofile, '...' graph_instance.write_graph(ofile) '''
def main(): #fname = 'lessions_names.txt' fname = 'lessions_html_code.txt' sets = iow.get_utf8_template() sets['name'] = fname i = 0 result_list = [] readed_list = iow.file2list(sets) for at in readed_list: # Предварительная фильтарция at = at.replace('</a>', '') # Ссылки с содержанием if 'pdf' in at or '&format=srt' in at: at_copy = at.replace(' <a target="_new" href=', '') #result_list.append('link_to_get '+_split_url(at_copy)) result_list.append(_split_url(at_copy)) # Темы if 'min)' in at and 'div' not in at: result_list.append('name_content '+at) # Части-недели if '(Week' in at: at_copy_list = at.split(' ')[1].split('</h3>')[0] result_list.append('folder '+at_copy_list) i += 1 # теперь нужно запаковать в словарь levels = ['folder', 'name_content', 'link_to_get'] result = {} for at in result_list: print at _fill_tree_dict(result_list, levels, 0, result, 'root') #_tree_walker(result) # сохраняем результаты в файл to_file = [json.dumps(result, sort_keys=True, indent=2)] settings = { 'name': 'extracted_from_html.json', 'howOpen': 'w', 'coding': 'cp866' } iow.list2file(settings, to_file) settings = { 'name': 'result.list', 'howOpen': 'w', 'coding': 'cp866' } iow.list2file(settings, result_list)
def get_sensor_cfg(name): # читае общую конфигурацию uni_sensor_sets = _get_cfg_all_sensors_cfg() sets = { 'name': kSensorCfgMap_, 'howOpen': 'r', 'coding': 'cp1251'} # читаем конфигурацию для тока sets['name'] = kPathToCfg_+uni_sensor_sets[name] sensorSettings = iow.file2list(sets) print sensorSettings # here we are converting python object to json string sensor_sets = json.loads(' '.join(sensorSettings)) print json.dumps(sensor_sets, sort_keys=True, indent=2) return sensor_sets
def test_shuffle(self): sets = iow.get_utf8_template() sets['name'] = 'result_test.list' readed_list = iow.file2list(sets) # теперь нужно запаковать в словарь levels = ['LEVEL0', 'LEVEL1', 'nothing'] result = {} _fill_tree_dict(readed_list, levels, 0, result, 'root') json_result = json.dumps(result['root'], sort_keys=True, indent=2) print print json_result
def get_sensor_cfg_new(name, global_cfg_file): """ Читает общую конфигурацию сенсора. Имя конфигурации задано в глобальной конфигурации. """ uni_sensor_sets = _json_in_file_to_obj(global_cfg_file) sets = {'name': uni_sensor_sets[name], 'howOpen': 'r', 'coding': 'cp1251'} sensor_settings = iow.file2list(sets) sensor_sets = json.loads(' '.join(sensor_settings)) #print json.dumps(sensor_sets, sort_keys=True, indent=2) return sensor_sets
def get_sensor_cfg(name): """ Deprecated! """ # читае общую конфигурацию uni_sensor_sets = get_sensors_cfg() # читаем конфигурацию для тока sets['name'] = uni_sensor_sets[name] sensorSettings = iow.file2list(sets) # here we are converting python object to json string sensor_sets = json.loads(' '.join(sensorSettings)) print json.dumps(sensor_sets, sort_keys=True, indent=2) return sensor_sets
def _json_in_file_to_obj(fname): """ Преобразует json-структуру, содержащуюся в файле в python-объект. Args: Имя исходного файла. Returns: TODO(zaqwes): Обработка ошибок опущена. """ sets = {'name': fname, 'howOpen': 'r', 'coding': 'cp1251'} readed_list = iow.file2list(sets) py_object = json.loads(' '.join(readed_list)) return py_object
def _read_cp1251_file(fname): """ Returns: Возвращает список и ответ на вопрос - угадали ли мы кодировку? """ this_is_it = True sets = iow.get_utf8_template() sets['coding'] = 'cp1251' sets['name'] = fname # Если не та кодировка - возвращает пустой список readed_list = iow.file2list(sets) #if not readed_list: # this_is_it = False # Не все находит! Нужно еще построчно if _list_is_utf8(readed_list): this_is_it = False return readed_list, this_is_it
def start_process(self,fname): # Читаем результат print 'Reading file..' sets = iow.get_utf8_template() sets['name'] = fname readed_list = iow.file2list(sets) # Обрабатываем результат print 'Start processing..' separ_sign = '@@@' tmp_string = separ_sign.join(readed_list) tmp_list = tmp_string.split('top - ') result_list = [] for it in tmp_list: result_list.append(it.replace(separ_sign, ' ')) result_list = result_list[1:] #self._print_list(result_list) #return result_list # Формирование словаря print 'Forming dictionary..' num_list = len(result_list) result_dict = {'time': range(num_list), 'cpu_us': range(num_list), 'cpu_sy': range(num_list), 'cpu_ni': range(num_list), 'cpu_id': range(num_list), 'cpu_wa': range(num_list), 'cpu_hi': range(num_list), 'cpu_si': range(num_list), 'cpu_st': range(num_list), 'mem_total': range(num_list), 'mem_used': range(num_list), 'mem_free': range(num_list), 'mem_buffers': range(num_list)} # Вытаскивание значений, исходя из особенностей их расположения def _get_cpu(num,type_string): position_num = result_list[num].find('%'+type_string) return result_list[num][position_num-4:position_num].replace(' ','') def _get_mem(num,type_string): mem_string = result_list[num][result_list[num].find('Mem'): result_list[num].find('Swap')] position_num = mem_string.find(type_string) founded_string = mem_string[position_num-10:position_num-2] founded_string = founded_string.replace(' ','') return founded_string # Запись в словарь print 'Writing results in dictionary..' k = 0 for at in result_list: result_dict['time'][k] = result_list[k][0:8] result_dict['cpu_us'][k] = _get_cpu(k,'us') result_dict['cpu_sy'][k] = _get_cpu(k,'sy') result_dict['cpu_ni'][k] = _get_cpu(k,'ni') result_dict['cpu_id'][k] = _get_cpu(k,'id') result_dict['cpu_wa'][k] = _get_cpu(k,'wa') result_dict['cpu_hi'][k] = _get_cpu(k,'hi') result_dict['cpu_si'][k] = _get_cpu(k,'si') result_dict['cpu_st'][k] = _get_cpu(k,'st') result_dict['mem_total'][k] = _get_mem(k,'total') result_dict['mem_used'][k] = _get_mem(k,'used') result_dict['mem_free'][k] = _get_mem(k,'free') result_dict['mem_buffers'][k] = _get_mem(k,'buffers') k+=1 #self._print_dict(result_dict) # Преобразование в json-строку print 'To JSON. Result: ' print self.dict_to_json(result_dict) # Преобразование в csv-строку #print dict_to_csv(result_dict) # Вывод в файл .csv - таблицы print 'Write csv-table in', self.out_file_csv_r table_csv_string = self.dict_to_csv_r(result_dict) sets = iow.get_utf8_template() sets['name'] = self.out_file_csv_r sets['howOpen'] = 'w' #file_obj = open('param_table.csv','w') iow.app_str(sets, table_csv_string) return []
return # Выводим заголовки for key in tree: step = '' for at in range(i): step += '\t' print step+key _tree_walker(tree[key], i+1) if __name__ == '__main__': sets = iow.get_utf8_template() sets['name'] = 'D:/home/lugansky-igor/web-pc-mc-chain-framework/mkts/system_settings.mkt' readed_list = iow.file2list(sets) folded_list = [] for at in readed_list: if at and not _all_symbols_is_spaces(at): if at[0] != '#': # Чистые данные if at[0] != ' ': at = 'LEVEL0 '+at else: at = at.replace(' ', '@') folded_list.append(at) joined_list = '^^^'.join(folded_list) # TODO(zaqwes): Оценка уровня вложенности
def _utf8_file_to_list(fname): sets = iow.get_utf8_template() sets['coding'] = 'utf_8' sets['name'] = fname return iow.file2list(sets)
copy_one_sent = copy_one_sent.replace('<','') copy_one_sent = copy_one_sent.replace('~','') copy_one_sent = copy_one_sent.replace('/','') result = copy_one_sent return result if __name__ == '__main__': files = ['srts/Iron Man02x26.srt', 'srts/Iron1and8.srt'] result = {'it':{'num':0, 'sents':[]}} for fname in files: settings = { 'name': fname, 'howOpen': 'r', 'coding': 'cp866' } readed_lst = iow.file2list(settings) purged_lst = list() for at in readed_lst: at_copy = at.replace('\r','') at_copy = at_copy.replace('\n','') if at_copy: if not '-->' in at_copy: if not _is_content_nums(at_copy): at_copy = at_copy.replace('<i>','') at_copy = at_copy.replace('</i>','') purged_lst.append(at_copy) # Теперь нужно разить на предложения one_line = ' '.join(purged_lst) one_line_with_inserts = '' for at in one_line: