]> git.phdru.name Git - phdru.name/phdru.name.git/blob - dotfiles2html/dotfiles2html.py
Scripts to (re)build phd.pp.ru site.
[phdru.name/phdru.name.git] / dotfiles2html / dotfiles2html.py
1 #! /usr/local/bin/python -O
2
3 import os, shutil
4 os.umask(0022) # octal; -rw-r--r--
5
6 from m_lib.m_path import get_homedir
7 home_dir = get_homedir()
8
9
10 def add_headers(fname, prev, next):
11    head_fname = os.path.join(home_dir, fname + ".head")
12    head_file = open(head_fname, 'r')
13    head = head_file.read()
14    head_file.close()
15
16    html_fname = fname + ".html"
17    html_file = open(html_fname, 'r')
18    html = html_file.read()
19    html_file.close()
20
21    html_file = open(html_fname, 'w')
22    html_file.write("#extends phd_pp_ru\n")
23    html_file.write("#implements respond\n")
24    html_file.write("#attr $Title = \".%s\"\n" % fname)
25    html_file.write("#attr $Copyright = 2003\n")
26    if prev:
27       html_file.write("#attr $Prev = \"%s.html\"\n" % prev)
28    if next:
29       html_file.write("#attr $Next = \"%s.html\"\n" % next)
30    html_file.write("\n")
31    html_file.write("#def body_html\n")
32    html_file.write("#raw\n")
33    html_file.write(head)
34    html_file.write("\n")
35    html_file.write(html)
36    html_file.write("#end raw\n")
37    html_file.write("#end def\n")
38    html_file.write("$phd_pp_ru.respond(self)\n")
39    html_file.close()
40
41
42 file_types = (("fvwm2rc", "fvwm"),
43       ("mailcap", "conf"), ("mime.types", "conf"),
44       ("muttrc", "muttrc"), ("procmailrc", "procmail"),
45       ("vimrc", "vim"), ("gvimrc", "vim"),
46       ("init.py", "python"), ("init_old.py", "python"))
47 ft_len = len(file_types)
48
49 for i, (fname, ftype) in enumerate(file_types):
50    if os.path.exists('.' + fname) and not os.path.exists(fname):
51       shutil.copy2('.' + fname, fname)
52    if os.path.exists(fname):
53       os.system("""exec gvim -f -c "set syntax=%s" -c ":source %s/dotfile2html.vim" "%s"
54          """ % (ftype, home_dir, fname))
55       if i == 0:
56          prev = None
57       else:
58          prev = file_types[i-1][0]
59       if i >= ft_len - 1:
60          next = None
61       else:
62          next = file_types[i+1][0]
63       add_headers(fname, prev, next)
64       os.rename(fname + ".html", fname + ".tmpl")
65       os.chmod(fname, 0644)