The Lurker's Guide to Babylon 5
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

145 lines
2.8 KiB

17 years ago
17 years ago
17 years ago
17 years ago
17 years ago
17 years ago
17 years ago
17 years ago
17 years ago
17 years ago
17 years ago
17 years ago
17 years ago
17 years ago
  1. #!/usr/bin/python
  2. import sys,string,time,os
  3. sys.path.append('../internal')
  4. import otros
  5. sys.path.insert(0, '.')
  6. import perdir
  7. months = [ '', 'January', 'February', 'March', 'April', 'May', 'June', 'July',
  8. 'August', 'September', 'October', 'November', 'December']
  9. do_jpeg = perdir.get_do_jpeg()
  10. args = sys.argv
  11. for epnum in args[1:]:
  12. curep = string.atoi(epnum[:3])
  13. pix = open(perdir.get_episode_names_file(), 'r')
  14. for i in range(0, curep + 1):
  15. epname = pix.readline()[:-1]
  16. pix.close()
  17. if epname == '':
  18. epname = 'XXX'
  19. cureplong = '%03d' % curep
  20. if len(epnum) == 3:
  21. which = perdir.get_type()
  22. else:
  23. which = 'extra'
  24. input = open(epnum, 'r')
  25. mtime = time.localtime(os.stat(epnum)[8]);
  26. mtime_str = '%s %d, %d' % (months[mtime[1]], mtime[2], mtime[0])
  27. try:
  28. os.unlink('#' + epnum + '.html')
  29. except:
  30. pass
  31. try:
  32. os.rename(epnum + '.html', '#' + epnum + '.html')
  33. except:
  34. pass
  35. output = open(epnum + '.html', 'w')
  36. page_name = perdir.get_page_name_prefix() + ': "' + epname + '"'
  37. if which == 'extra':
  38. page_name = page_name + ' (scene in detail)'
  39. output.write(otros.head(page_name))
  40. output.write("<body>\n")
  41. try:
  42. special = open(epnum + '-head', 'r')
  43. output.write(special.read())
  44. special.close()
  45. except:
  46. pass
  47. output.write(otros.pageheader(curep, which, do_jpeg))
  48. if which == 'extra':
  49. output.write("""
  50. <pre>
  51. </pre>
  52. """)
  53. elif perdir.get_type() == 'credits':
  54. output.write("\n<pre>\n")
  55. else:
  56. toc = perdir.get_table_of_contents()
  57. if len(toc) > 0:
  58. output.write(toc)
  59. output.write("\n<p>\n<hr>\n")
  60. wholefile = input.read()
  61. input.close()
  62. rewrite = open('@' + epnum, 'w')
  63. needsupdate = 0
  64. pieces = string.splitfields(wholefile, '@@@')
  65. final = pieces[0]
  66. rewrite.write(pieces[0])
  67. for piece in pieces[1:]:
  68. try:
  69. timestamp =string.atoi(piece[:string.index(piece, ' ')])
  70. except:
  71. timestamp = 0
  72. if timestamp == 0:
  73. needsupdate = 1
  74. timestamp = int(time.time())
  75. rewrite.write('@@@' + `timestamp`)
  76. rewrite.write(piece[string.index(piece, ' '):])
  77. else:
  78. rewrite.write('@@@' + piece)
  79. if timestamp >= time.time() - 14 * 60 * 60 * 24:
  80. timeval = time.localtime(timestamp)
  81. final = final + ('<strong>[[%d/%d]]</strong>' %
  82. (timeval[1], timeval[2]));
  83. final = final + piece[string.index(piece, ' '):]
  84. rewrite.close()
  85. if needsupdate:
  86. try:
  87. os.unlink('#' + epnum)
  88. except:
  89. pass
  90. os.rename(epnum, '#' + epnum)
  91. os.rename('@' + epnum, epnum)
  92. else:
  93. os.unlink('@' + epnum)
  94. if do_jpeg:
  95. final = otros.mungeimages(final, do_jpeg)
  96. output.write(final)
  97. if perdir.get_type() == 'credits':
  98. output.write("</pre>\n")
  99. output.write('<pre>\n\n</pre>\n' + otros.pagefooter(curep) + """
  100. <h5>
  101. <a href="/lurk/lastmod.html">Last update:</a>
  102. """ + mtime_str + """
  103. </h5>
  104. </body>
  105. </html>
  106. """)
  107. output.close()
  108. if do_jpeg:
  109. print epnum, 'jpeg'
  110. else:
  111. print epnum