@@ -11,19 +11,21 @@ def main():
1111 form = cgi .FieldStorage ()
1212 print "Content-type: text/html"
1313 print
14- cmd = form .getvalue ("cmd" ) or "view"
15- page = form .getvalue ("page" ) or "FrontPage"
14+ cmd = form .getvalue ("cmd" , "view" )
15+ page = form .getvalue ("page" , "FrontPage" )
1616 wiki = WikiPage (page )
1717 wiki .load ()
1818 method = getattr (wiki , 'cmd_' + cmd , None ) or wiki .cmd_view
1919 method (form )
2020
2121class WikiPage :
2222
23- homedir = os . path . dirname ( sys . argv [ 0 ])
23+ homedir = "/tmp"
2424 scripturl = os .path .basename (sys .argv [0 ])
2525
2626 def __init__ (self , name ):
27+ if not self .iswikiword (name ):
28+ raise ValueError , "page name is not a wiki word"
2729 self .name = name
2830 self .load ()
2931
@@ -48,7 +50,7 @@ def cmd_view(self, form):
4850 words [i ] = word
4951 print "" .join (words )
5052 print "<hr>"
51- print "<p>" , self .mklink ("edit" , self .name , "Edit this page" ) + ", "
53+ print "<p>" , self .mklink ("edit" , self .name , "Edit this page" ) + "; "
5254 print self .mklink ("view" , "FrontPage" , "go to front page" ) + "."
5355
5456 def cmd_edit (self , form , label = "Change" ):
@@ -64,8 +66,13 @@ def cmd_edit(self, form, label="Change"):
6466
6567 def cmd_create (self , form ):
6668 self .data = form .getvalue ("text" , "" ).strip ()
67- self .store ()
68- self .cmd_view (form )
69+ error = self .store ()
70+ if error :
71+ print "<h1>I'm sorry. That didn't work</h1>"
72+ print "<p>An error occurred while attempting to write the file:"
73+ print "<p>" , escape (error )
74+ else :
75+ self .cmd_view (form )
6976
7077 def cmd_new (self , form ):
7178 self .cmd_edit (form , label = "Create Page" )
0 commit comments