Commit f701bf10 authored by Guido van Rossum's avatar Guido van Rossum

Add "Log info" to view rcs log.

Speed up __getattr__ by storing the value as self.<key>.
parent d7bfa80c
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
XXX TO DO XXX TO DO
- customize rcs command pathnames
- recognize urls and email addresses and turn them into <A> tags
- use cookies to keep Name/email the same - use cookies to keep Name/email the same
- explanation of editing somewhere - explanation of editing somewhere
- various embellishments, GIFs, crosslinks, hints, etc. - various embellishments, GIFs, crosslinks, hints, etc.
...@@ -23,7 +25,7 @@ XXX TO DO ...@@ -23,7 +25,7 @@ XXX TO DO
""" """
import cgi, string, os import cgi, string, os, sys
NAMEPAT = "faq??.???.htp" NAMEPAT = "faq??.???.htp"
NAMEREG = "^faq\([0-9][0-9]\)\.\([0-9][0-9][0-9]\)\.htp$" NAMEREG = "^faq\([0-9][0-9]\)\.\([0-9][0-9][0-9]\)\.htp$"
...@@ -50,8 +52,9 @@ class FAQServer: ...@@ -50,8 +52,9 @@ class FAQServer:
if key not in self.KEYS: if key not in self.KEYS:
raise AttributeError raise AttributeError
try: try:
item = self.form[key] value = self.form[key].value
return item.value setattr(self, key, value)
return value
except KeyError: except KeyError:
return '' return ''
...@@ -339,6 +342,29 @@ class FAQServer: ...@@ -339,6 +342,29 @@ class FAQServer:
<HR> <HR>
""" % name """ % name
def do_info(self):
name = self.name
headers, text = self.read(name)
if not headers:
print "Invalid file name", name
return
print '<PRE>'
sys.stdout.flush()
os.system("/depot/gnu/plat/bin/rlog -r %s </dev/null 2>&1" % self.name)
print '</PRE>'
print '<A HREF="faq.py?req=rlog&name=%s">View full rcs log</A>' % name
def do_rlog(self):
name = self.name
headers, text = self.read(name)
if not headers:
print "Invalid file name", name
return
print '<PRE>'
sys.stdout.flush()
os.system("/depot/gnu/plat/bin/rlog %s </dev/null 2>&1" % self.name)
print '</PRE>'
def checkin(self): def checkin(self):
import regsub, time, tempfile import regsub, time, tempfile
name = self.name name = self.name
...@@ -517,7 +543,10 @@ class FAQServer: ...@@ -517,7 +543,10 @@ class FAQServer:
pre = 0 pre = 0
print '<P>' print '<P>'
if edit: if edit:
print '<A HREF="faq.py?req=edit&name=%s">Edit this entry</A>' %name print """
<A HREF="faq.py?req=edit&name=%s">Edit this entry</A> /
<A HREF="faq.py?req=info&name=%s" TARGET=_blank>Log info</A>
""" % (name, name)
print '<P>' print '<P>'
print "<HR>" print "<HR>"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment