Add "Log info" to view rcs log.
Speed up __getattr__ by storing the value as self.<key>.
This commit is contained in:
parent
d7bfa80c63
commit
f701bf1098
|
@ -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
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
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:
|
||||||
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:
|
||||||
<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:
|
||||||
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>"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue