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 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 _plot_item(msg, value): print msg+" "+str(value) ieee, mchip = f32conv.pack_f32_into_i32(value, _kPluginList["None"]) mchip = _print_formatter(mchip) lst = list() lst.append('; '+msg+' '+mchip+' ; '+str(value)+'\n') iow.list2file(_kSets, lst)
def _plot_word(msg, word): """ msg : Lhl Hhl""" string = tc.byte2hex(int(word)%256) # L string += ' '+ tc.byte2hex(int(word)/256) # H print msg+' '+string lst = list() lst.append('; '+msg+' '+string+'\n') iow.list2file(_kSets, lst)
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 main(v_nom, merto_list): result_list = list('') sets = { 'name': 'voltage_header.h', 'howOpen': 'w', 'coding': 'cp1251'} # смещение нуля при обратоной обработке U = 0 Udig_zero, capacity = app_reuse_code.calc_coeff_transform(U, metroChannal) # Записать в файл шаблон result_list = list('') result_list.append('#define kZeroVoltageCorrect '+Udig_zero+" ; "+str(U)+" V; bits - "+capacity) for name in merto_list: code, capacity = app_reuse_code.calc_coeff_transform(merto_list[name], metroChannal) result_list.append( 'constant k'+name+' = '+code+" ; "+str(merto_list[name])+" V / "+capacity+" bits") # Порог U_nom = v_nom U_min = U_nom-U_nom/100.0*15 U_max = U_nom+U_nom/100.0*13 print U_min, U_max U_min_d, capacity = app_reuse_code.calc_coeff_transform(U_min, thresholdChannal_min) U_max_d, capacity = app_reuse_code.calc_coeff_transform(U_max, thresholdChannal_max) print U_min_d, U_max_d result_list.append('#define VOLTAGE_THR_MIN '+U_min_d+" ; -15% V bits - "+capacity) result_list.append('#define VOLTAGE_THR_MAX '+U_max_d+" ; +13% V bits - "+capacity+'\n') # Находим коэффициент пересчета U = U_nom Udig_value, capacity = app_reuse_code.calc_coeff_transform(U, thresholdChannal_min) print Udig_value U = 42.0 Udig_value, capacity = app_reuse_code.calc_coeff_transform(U, metroChannal) #result_list.append('#define TEST_MOCK_VOLTAGE '+Udig_value+"\t;"+str(U)+" V; bits - "+capacity) realCodeVoltage = tc.hex_word_to_uint(Udig_value)-tc.hex_word_to_uint(Udig_zero) k = U/realCodeVoltage wprintValue('K code to V :', k) result_list.append(';const double kTAOneVoltagePSFactor_ = '+str(k)+';') k *= 10 ieee, mchip = f32c.pack_f32_into_i32(k, None) mchip = ', 0x'.join(mchip.split(' ')) mchip = '0x'+mchip[:-4] result_list.append('; mchip: '+mchip+' ; K*10 = '+str(k)) # Закрываем запись iow.list2file(sets=sets, lst=result_list)
def lin_interpol_fan_curve(x, y): """ linear interp. air curve""" # Линейная f = interpolators.interp1d(x, y) # Новая ось xDataSrc = numpy.linspace(1, x[-1], x[-1]) yDataSrc = f(xDataSrc) # htp rpt = _rpt_curve(xDataSrc, yDataSrc) fname = 'curve.asm' sets = { 'name': fname, 'howOpen': 'w', 'coding': 'cp1251'} sensorSettings = iow.list2file(sets, rpt.split('\n')) print 'Curve print in file '+fname return rpt
def _new_line(): lst = list() lst.append('\n') iow.list2file(_kSets, lst)
def _print_string(msg): lst = list() lst.append('; '+msg+'\n') iow.list2file(_kSets, lst)
result_map = {} list_parser._fill_tree_dict(folded_list, levels, 0, result_map, 'root') # Plot result json_result = json.dumps(result_map['root'], sort_keys=True, indent=2) print print json_result result_map = result_map['root'] #for at in folded_list: # print at # Создаем структуру #_one_call(folded_list, result_map) # Plot _tree_walker(result_map, 0) # Сохранение в файл json_string = json.dumps(result_map, sort_keys=True, indent=2) to_file = [json_string] settings = { 'name': 'extracted_words.json', 'howOpen': 'w', 'coding': 'cp866' } iow.list2file(settings, to_file)
def _cp1251_list_to_file(list_lines, fname): sets = iow.get_utf8_template() sets['name'] = fname sets['coding'] = 'cp1251' sets['howOpen'] = 'w' iow.list2file(sets, list_lines)
def main(list_of_currents, list_metro): metro_channal, threshold_channal = _init_sensors() result_list = list('') # смещение нуля при обратной обработке result_list.append('#ifdef HALL_SENSORS') # Коррекция нуля delta_zero_code, capacity = app_reuse_code.calc_coeff_transform( 0, metro_channal) result_list.append(' constant kZeroHallCorrect = '+delta_zero_code+ " ; Metro: "+str(0)+" A / "+capacity+' bit') # Теперь можно говорить об измеренных значениях for I in list_metro: src_code, capacity = app_reuse_code.calc_coeff_transform( list_metro[I], metro_channal) real_current_code = tc.hex_word_to_uint(src_code)-tc.hex_word_to_uint(delta_zero_code) print 'real_current_code', real_current_code print 'delta_zero_code', delta_zero_code print 'src_code', src_code result_list.append(' constant k'+I+' = 0x'+tc.byte4hex(int(real_current_code))+ " ; Metro: "+str(list_metro[I])+" A / "+capacity+' bit') # Пороги for I in list_of_currents : wprintValue('\nI,A : ', I) Udig, capacity = app_reuse_code.calc_coeff_transform(I, threshold_channal) eprintValue('Voltage code', Udig) result_list.append(' constant kCurrentThreshold = '+Udig+ " ; Threshes: "+str(I)+" A / "+capacity+' bit') # Находим коэффициент пересчета delta_zero_code, capacity = app_reuse_code.calc_coeff_transform(0, metro_channal) I = 10 Udig_value, capacity = app_reuse_code.calc_coeff_transform(I, metro_channal) realCodeCurrent = tc.hex_word_to_uint(Udig_value)-tc.hex_word_to_uint(delta_zero_code) k = I/realCodeCurrent wprintValue('K code to A :', k) result_list.append(';const double kTAOneCurrentFactor_ = '+str(k)+';') k *= 10 # 3.3 -> 33 для упаковки ieee, mchip = f32c.pack_f32_into_i32(k, None) mchip = ', 0x'.join(mchip.split(' ')) mchip = '0x'+mchip[:-4] result_list.append('; mchip: '+mchip+' ; K = '+str(k)) # Закрываем запись result_list.append('#endif ;HALL_SENSOR\n') iow.list2file(sets=sets, lst=result_list) print 'Threshes write to file '+_fname