summaryrefslogtreecommitdiffstats
path: root/Tools/faqwiz/faqmain.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-05-21 22:25:56 (GMT)
committerGuido van Rossum <guido@python.org>1997-05-21 22:25:56 (GMT)
commitf701bf10985013ba43e6d51f733ab196fca70837 (patch)
treecb067614e4dc91bee0c3445d6f12c2713f62d670 /Tools/faqwiz/faqmain.py
parentd7bfa80c63d60f66232c60f525a3c98415902d01 (diff)
downloadcpython-f701bf10985013ba43e6d51f733ab196fca70837.zip
cpython-f701bf10985013ba43e6d51f733ab196fca70837.tar.gz
cpython-f701bf10985013ba43e6d51f733ab196fca70837.tar.bz2
Add "Log info" to view rcs log.
Speed up __getattr__ by storing the value as self.<key>.
Diffstat (limited to 'Tools/faqwiz/faqmain.py')
-rw-r--r--Tools/faqwiz/faqmain.py37
1 files changed, 33 insertions, 4 deletions
diff --git a/Tools/faqwiz/faqmain.py b/Tools/faqwiz/faqmain.py
index bc02acc..303efab 100644
--- a/Tools/faqwiz/faqmain.py
+++ b/Tools/faqwiz/faqmain.py
@@ -4,6 +4,8 @@
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
- explanation of editing somewhere
- various embellishments, GIFs, crosslinks, hints, etc.
@@ -23,7 +25,7 @@ XXX TO DO
"""
-import cgi, string, os
+import cgi, string, os, sys
NAMEPAT = "faq??.???.htp"
NAMEREG = "^faq\([0-9][0-9]\)\.\([0-9][0-9][0-9]\)\.htp$"
@@ -50,8 +52,9 @@ class FAQServer:
if key not in self.KEYS:
raise AttributeError
try:
- item = self.form[key]
- return item.value
+ value = self.form[key].value
+ setattr(self, key, value)
+ return value
except KeyError:
return ''
@@ -339,6 +342,29 @@ class FAQServer:
<HR>
""" % 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):
import regsub, time, tempfile
name = self.name
@@ -517,7 +543,10 @@ class FAQServer:
pre = 0
print '<P>'
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 "<HR>"