import io master_path = "C:\\temp\\tunnel\\" master_ext = ".html" out_path = "C:\\TEMP\\tunnel\\"; wiki_FD_path = "http://dic.academic.ru/searchall.php?from=xx&to=ru&SWord="; wiki_org_path = "http://ru.wikipedia.org/wiki/"; times = [ "Неопределенное", "Будущее", "Настоящее", "Прошедшее" ] times_symbols = [ "[...]", "{...}", "<...>", "(...)" ] names = { 1:{ 1:["Логические",[ ["предпочтение",""], ["интерес",""], ["класс",""], ["намерение",""]]], 2:["Информационные",[ ["нужда",""], ["атрибут",""], ["состояние",""], ["риск",""]]]}, 2:{ 1:["Математические",[ ["цель",""], ["смысл",""], ["функция",""], ["описание",""]]], 2:["Физические",[ ["сущность",""], ["индивид",""], ["экстент",""], ["свойство",""]]]}, 3:{ 1:["Философские",[ ["позиция",""], ["паттерн",""], ["аспект",""], ["проверка",""]]], 2:["Химические",[ ["субъект",""], ["структура",""], ["окружение",""], ["конфигурация",""]]]}, 4:{ 1:["Культурные",[ ["роль",""], ["требование",""], ["архитектура",""], ["приемка",""]]], 2:["Биологические",[ ["знание",""], ["система",""], ["сервис",""], ["практика",""]]]}, 5:{ 1:["Политические",[ ["стратегия",""], ["жизненный цикл",""], ["модель",""], ["документация",""]]], 2:["Психологические",[ ["ресурс",""], ["воплощение",""], ["процесс",""], ["тестирование",""]]]}, 6:{ 1:["Управляющие",[ ["методология",""], ["сценарий",""], ["производственная программа",""], ["контрольные вопросы",""]]], 2:["Социальные",[ ["требование",""], ["проект",""], ["команда",""], ["потребитель",""]]]}, 7:{ 1:["Торговые",[ ["заказчик",""], ["лидерство",""], ["менеджмент",""], ["совершенствование",""]]], 2:["Экономические",[ ["сообщество",""], ["предприятие",""], ["работа",""], ["приемка",""]]]}, 8:{ 1:["Конкурирующие",[ ["миссия",""], ["организация",""], ["хореография",""], ["контроль",""]]], 2:["Синергетические",[ ["ответственность",""], ["ограничение",""], ["испытание",""], ["предупреждение",""]]]}, 9:{ 1:["Развивающиеся",[ ["технология",""], ["сертификация",""], ["оркестровка",""], ["анализ",""]]], 2:["Технологические",[ ["компетентность",""], ["регламент",""], ["процедура",""], ["устойчивость",""]]]} } std_page_start = "\n\n\n\n" std_tytle_start = " Туннельное моделирование - " std_tytle_end = "\n" std_head_end = "\n" std_body_start = "\n" std_header_start = "

Философия - туннельное моделирование

\n

" std_header_end = "

"; std_links = """Терминометрия\n Туннель\n Блог\n""" std_page_end = "\n\n" class GetPages: def __init__(self): self.fs = 0 # Получение имени файла для строки и колонки def page_name(self, row, abstr, col): return "tunnel_" + str(row) + "_" + str(abstr) + "_" + str(col) + ".htm"; # Вывод одной ячейки def write_cell(self, row, abstr, col, bold): if (bold): self.fs.write(" " + names[row][abstr][1][col-1][0] + "\n"); else: self.fs.write(" " + names[row][abstr][1][col-1][0] + "\n"); # создание ссылки на викисловарь def wiki_ref(self, row, abstr, col): result="" if (row > 0 and col > 0): refname = name = names[row][abstr][1][col-1][0]; result = "

Философский словарь: "+name +"" result = result + "

Wikipedia: "+name +"

"; return result; if (row == 0): if (col > 0): result = "

Философский словарь: " + times[col - 1] + "" result = result + "

Wikipedia: " + times[col - 1] + "

"; return result; if (col == 0): result = "Философский словарь: " + names[row][abstr][0] + "" result = result + "

Wikipedia: " + names[row][abstr][0] + "" return result; return result; def gen_page(self, row, abstr, col): file_name = out_path + self.page_name(row, abstr, col); self.fs = open(file_name, "w"); self.fs.write(std_page_start); self.fs.write(std_tytle_start); if (0): print "row=", row," col=", col print names[9 - row] print print names[9 - row][1] n = names[row][1][1][col-1] if (0): print n self.fs.write(n[0]); self.fs.write(std_tytle_end); self.fs.write(std_head_end); self.fs.write(std_body_start); self.fs.write(std_links); self.fs.write(std_header_start); self.fs.write(names[row][1][1][col - 1][1]); self.fs.write(std_header_end); # конец описания заголовка a = 1 c1 = (col + 2) % 4 + 1 ; c2 = col ; c3 = col% 4 + 1; # воспроизведение фрагмента таблицы self.fs.write("\n\n"); self.fs.write(" \n"); self.fs.write(" \n"); self.fs.write(" \n"); self.fs.write(" \n"); self.fs.write(" \n"); self.fs.write(" \n"); self.fs.write("\n"); if (abstr==1): d = range(-1, 2) else: d = range(0, 1) for row_val in d: r = row+row_val; if (r <= 9 and r>=1): self.fs.write(" \n"); if (r == row or c3 == col): self.write_cell(r, 1, c1, 0) else: self.fs.write(" ") self.write_cell(r, 1, c2, (row_val == 0 and c2 == col and abstr == 1)) if (r == row or c3 == col): self.write_cell(r, 1, c3, 0) else: self.fs.write(" ") # self.fs.write(""); self.fs.write(" \n"); self.fs.write(" \n"); self.fs.write(" \n"); if (abstr==2): d = range(-1, 2) else: d = range(0, 1) for row_val in d: r = row-row_val; if (r <= 9 and r>=1): self.fs.write(" \n"); if (r == row or c1 == col): self.write_cell(r, 2, c1, 0) else: self.fs.write(" ") self.write_cell(r, 2, c2, (row_val == 0 and c2 == col and abstr == 2)) if (r == row or c3 == col): self.write_cell(r, 2, c3, 0) else: self.fs.write(" ") # self.fs.write(""); self.fs.write(" \n"); self.fs.write(" \n"); self.fs.write("
" + times[c1-1] + "" + times[c2-1] + "" + times[c3-1] + " 
" + times_symbols[c1 - 1] + "" + times_symbols[c2 - 1] + "" + times_symbols[c3 - 1] + " 
  " + level_symbols[r] + "" + names[r][1][0] + "
 
  " + level_symbols[r] + "" + names[r][2][0] + "
"); self.fs.write("

" + names[row][abstr][1][col-1][0] + " - " + names[row][abstr][1][col-1][1] + "

\n") self.fs.write("\n

" + self.wiki_ref(row, abstr, col) + "

\n"); # запись окончания файла self.fs.write(std_page_end); self.fs.close(); return 1; # вывод строки модели def gen_row(self, row, abstr): file_name = out_path + self.page_name(row, abstr, 0); self.fs = open(file_name, "w"); self.fs.write(std_page_start); self.fs.write(std_tytle_start); self.fs.write(names[row][1][0]); self.fs.write(std_tytle_end); self.fs.write(std_head_end); self.fs.write(std_body_start); self.fs.write(std_links); self.fs.write(std_header_start); self.fs.write(names[row][1][0]); self.fs.write(std_header_end); # конец описания заголовка # воспроизведение фрагмента таблицы self.fs.write("\n\n"); self.fs.write("\n"); self.fs.write(""); self.fs.write(""); self.fs.write(""); self.fs.write(""); self.fs.write(""); self.fs.write("\n"); self.fs.write("\n"); self.fs.write(""); self.write_cell(row, abstr, 1, 0) self.write_cell(row, abstr, 2, 0) self.write_cell(row, abstr, 3, 0) self.write_cell(row, abstr, 4, 0) self.fs.write("\n"); self.fs.write("\n"); self.fs.write("
" + times[0] + "" + times[1] + "" + times[2] + "" + times[3] + " 
" + times_symbols[0] + "" + times_symbols[1] + "" + times_symbols[2] + "" + times_symbols[3] + " 
" + names[row][abstr][0] + "
"); self.fs.write("\n

" + self.wiki_ref(row, 2, 0) + "

\n"); # запись окончания файла self.fs.write(std_page_end); self.fs.close(); return 1; #/ вывод колонки модели def gen_column(self, col): file_name = out_path + self.page_name(0, 0, col); self.fs = open(file_name, "w"); self.fs.write(std_page_start); self.fs.write(std_tytle_start); self.fs.write(times[col - 1]); self.fs.write(std_tytle_end); self.fs.write(std_head_end); self.fs.write(std_body_start); self.fs.write(std_links); self.fs.write(std_header_start); self.fs.write(times[col - 1]); self.fs.write(std_header_end); # конец описания заголовка # воспроизведение фрагмента таблицы, соответствующего данной колонке self.fs.write("\n\n"); self.fs.write(" "); self.fs.write(" "); for r in range(1, 10): self.fs.write(" \n"); self.write_cell(r, 1, col, 0) self.fs.write(" \n"); self.fs.write(" \n"); self.fs.write("\n"); for r in range(1, 10): self.fs.write(" \n"); self.write_cell(10-r, 2, col, 0) self.fs.write(" \n"); self.fs.write(" \n"); self.fs.write("
" + times[col - 1] + " 
" + times_symbols[col - 1] + " 
" + names[r][1][0] + "
 
" + names[10-r][2][0] + "
\n"); self.fs.write("\n

" + self.wiki_ref(0, 0, col) + "

\n"); # запись окончания файла self.fs.write(std_page_end); self.fs.close(); return 1; def gen_tunnel(self): file_name = out_path + self.page_name(0, 0, 0); self.fs = open(file_name, "w"); self.fs.write(std_page_start); self.fs.write(std_tytle_start); print "Туннельное моделирование" self.fs.write(std_tytle_end); self.fs.write(std_head_end); self.fs.write(std_body_start); self.fs.write(std_links); self.fs.write(std_header_start); self.fs.write("Туннельное моделирование"); self.fs.write(std_header_end); # конец описания заголовка self.fs.write("\n") for c in range (1, 5): self.fs.write(" \n"); self.fs.write("\n") for r in range (1, 10): self.fs.write(" \n") for c in range(1, 5): self.write_cell(r, 1, c, 0) self.fs.write(" \n"); self.fs.write(" \n") self.fs.write(" \n") for r in range (1, 10): self.fs.write(" \n") for c in range(1, 5): self.write_cell(10-r, 2, c, 0) self.fs.write(" \n"); self.fs.write("
" + times[c-1] + " 
" + names[r][1][0] + "
 
" + names[10-r][2][0] + "
\n") # запись окончания файла self.fs.write(std_page_end); self.fs.close(); return 1; gp = GetPages(); for i in range(1,10): for j in range(1, 5): for k in range (1, 3): gp.gen_page(i, k, j); for i in range(1, 5): gp.gen_column(i); for i in range (1, 10): for a in range(1, 3): gp.gen_row(i, a); gp.gen_tunnel()