diff options
author | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
commit | 458120dd40db6b4df55a4e96b650e16798ef06a0 (patch) | |
tree | 8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Tools/faqwiz/faqconf.py | |
parent | 3a742c699f6806c1145aea5149bf15de15a0afd7 (diff) |
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Tools/faqwiz/faqconf.py')
-rw-r--r-- | sys/src/cmd/python/Tools/faqwiz/faqconf.py | 577 |
1 files changed, 577 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Tools/faqwiz/faqconf.py b/sys/src/cmd/python/Tools/faqwiz/faqconf.py new file mode 100644 index 000000000..d1acd80c0 --- /dev/null +++ b/sys/src/cmd/python/Tools/faqwiz/faqconf.py @@ -0,0 +1,577 @@ +"""FAQ Wizard customization module. + +Edit this file to customize the FAQ Wizard. For normal purposes, you +should only have to change the FAQ section titles and the small group +of parameters below it. + +""" + +# Titles of FAQ sections + +SECTION_TITLES = { + # SectionNumber : SectionTitle; need at least one entry + 1: "General information and availability", +} + +# Parameters you definitely want to change + +SHORTNAME = "Generic" # FAQ name with "FAQ" omitted +PASSWORD = "" # Password for editing +OWNERNAME = "FAQ owner" # Name for feedback +OWNEREMAIL = "nobody@anywhere.org" # Email for feedback +HOMEURL = "http://www.python.org" # Related home page +HOMENAME = "Python home" # Name of related home page +RCSBINDIR = "/usr/local/bin/" # Directory containing RCS commands + # (must end in a slash) + +# Parameters you can normally leave alone + +MAXHITS = 10 # Max #hits to be shown directly +COOKIE_LIFETIME = 28*24*3600 # Cookie expiration in seconds + # (28*24*3600 = 28 days = 4 weeks) +PROCESS_PREFORMAT = 1 # toggle whether preformatted text + # will replace urls and emails with + # HTML links + +# Markers appended to title to indicate recently change +# (may contain HTML, e.g. <IMG>); and corresponding + +MARK_VERY_RECENT = " **" # Changed very recently +MARK_RECENT = " *" # Changed recently +DT_VERY_RECENT = 24*3600 # 24 hours +DT_RECENT = 7*24*3600 # 7 days + +EXPLAIN_MARKS = """ +<P>(Entries marked with ** were changed within the last 24 hours; +entries marked with * were changed within the last 7 days.) +<P> +""" + +# Version -- don't change unless you edit faqwiz.py + +WIZVERSION = "1.0.4" # FAQ Wizard version + +import os, sys +if os.name in ['nt',]: + # On NT we'll probably be running python from a batch file, + # so sys.argv[0] is not helpful + FAQCGI = 'faq.bat' # Relative URL of the FAQ cgi script + # LOGNAME is not typically set on NT + os.environ[ 'LOGNAME' ] = "FAQWizard" +else: + # This parameter is normally overwritten with a dynamic value + FAQCGI = 'faqw.py' # Relative URL of the FAQ cgi script + FAQCGI = os.path.basename(sys.argv[0]) or FAQCGI +del os, sys + +# Perl (re module) style regular expression to recognize FAQ entry +# files: group(1) should be the section number, group(2) should be the +# question number. Both should be fixed width so simple-minded +# sorting yields the right order. + +OKFILENAME = r"^faq(\d\d)\.(\d\d\d)\.htp$" + +# Format to construct a FAQ entry file name + +NEWFILENAME = "faq%02d.%03d.htp" + +# Load local customizations on top of the previous parameters + +try: + from faqcust import * +except ImportError: + pass + +# Calculated parameter names + +COOKIE_NAME = SHORTNAME + "-FAQ-Wizard" # Name used for Netscape cookie +FAQNAME = SHORTNAME + " FAQ" # Name of the FAQ + +# ---------------------------------------------------------------------- + +# Anything below this point normally needn't be changed; you would +# change this if you were to create e.g. a French translation or if +# you just aren't happy with the text generated by the FAQ Wizard. + +# Most strings here are subject to substitution (string%dictionary) + +# RCS commands + +import os +if os.name in ['nt', ]: + SH_RLOG = RCSBINDIR + "rlog %(file)s < NUL" + SH_RLOG_H = RCSBINDIR + "rlog -h %(file)s < NUL" + SH_RDIFF = RCSBINDIR + "rcsdiff -r%(prev)s -r%(rev)s %(file)s < NUL" + SH_REVISION = RCSBINDIR + "co -p%(rev)s %(file)s < NUL" + ### Have to use co -l, or the file is not marked rw on NT + SH_LOCK = RCSBINDIR + "co -l %(file)s < NUL" + SH_CHECKIN = RCSBINDIR + "ci -u %(file)s < %(tfn)s" +else: + SH_RLOG = RCSBINDIR + "rlog %(file)s </dev/null 2>&1" + SH_RLOG_H = RCSBINDIR + "rlog -h %(file)s </dev/null 2>&1" + SH_RDIFF = RCSBINDIR + "rcsdiff -r%(prev)s -r%(rev)s %(file)s </dev/null 2>&1" + SH_REVISION = RCSBINDIR + "co -p%(rev)s %(file)s </dev/null 2>&1" + SH_LOCK = RCSBINDIR + "rcs -l %(file)s </dev/null 2>&1" + SH_CHECKIN = RCSBINDIR + "ci -u %(file)s <%(tfn)s 2>&1" +del os + +# Titles for various output pages (not subject to substitution) + +T_HOME = FAQNAME + " Wizard " + WIZVERSION +T_ERROR = "Sorry, an error occurred" +T_ROULETTE = FAQNAME + " Roulette" +T_ALL = "The Whole " + FAQNAME +T_INDEX = FAQNAME + " Index" +T_SEARCH = FAQNAME + " Search Results" +T_RECENT = "What's New in the " + FAQNAME +T_SHOW = FAQNAME + " Entry" +T_LOG = "RCS log for %s entry" % FAQNAME +T_REVISION = "RCS revision for %s entry" % FAQNAME +T_DIFF = "RCS diff for %s entry" % FAQNAME +T_ADD = "Add an entry to the " + FAQNAME +T_DELETE = "Deleting an entry from the " + FAQNAME +T_EDIT = FAQNAME + " Edit Wizard" +T_REVIEW = T_EDIT + " - Review Changes" +T_COMMITTED = T_EDIT + " - Changes Committed" +T_COMMITFAILED = T_EDIT + " - Commit Failed" +T_CANTCOMMIT = T_EDIT + " - Commit Rejected" +T_HELP = T_EDIT + " - Help" + +# Generic prologue and epilogue + +PROLOGUE = ''' +<HTML> +<HEAD> +<TITLE>%(title)s</TITLE> +</HEAD> + +<BODY + BGCOLOR="#FFFFFF" + TEXT="#000000" + LINK="#AA0000" + VLINK="#906A6A"> +<H1>%(title)s</H1> +''' + +EPILOGUE = ''' +<HR> +<A HREF="%(HOMEURL)s">%(HOMENAME)s</A> / +<A HREF="%(FAQCGI)s?req=home">%(FAQNAME)s Wizard %(WIZVERSION)s</A> / +Feedback to <A HREF="mailto:%(OWNEREMAIL)s">%(OWNERNAME)s</A> + +</BODY> +</HTML> +''' + +# Home page + +HOME = """ +<H2>Search the %(FAQNAME)s:</H2> + +<BLOCKQUOTE> + +<FORM ACTION="%(FAQCGI)s"> + <INPUT TYPE=text NAME=query> + <INPUT TYPE=submit VALUE="Search"><BR> + <INPUT TYPE=radio NAME=querytype VALUE=simple CHECKED> + Simple string + / + <INPUT TYPE=radio NAME=querytype VALUE=regex> + Regular expression + /<BR> + <INPUT TYPE=radio NAME=querytype VALUE=anykeywords> + Keywords (any) + / + <INPUT TYPE=radio NAME=querytype VALUE=allkeywords> + Keywords (all) + <BR> + <INPUT TYPE=radio NAME=casefold VALUE=yes CHECKED> + Fold case + / + <INPUT TYPE=radio NAME=casefold VALUE=no> + Case sensitive + <BR> + <INPUT TYPE=hidden NAME=req VALUE=search> +</FORM> + +</BLOCKQUOTE> + +<HR> + +<H2>Other forms of %(FAQNAME)s access:</H2> + +<UL> +<LI><A HREF="%(FAQCGI)s?req=index">FAQ index</A> +<LI><A HREF="%(FAQCGI)s?req=all">The whole FAQ</A> +<LI><A HREF="%(FAQCGI)s?req=recent">What's new in the FAQ?</A> +<LI><A HREF="%(FAQCGI)s?req=roulette">FAQ roulette</A> +<LI><A HREF="%(FAQCGI)s?req=add">Add a FAQ entry</A> +<LI><A HREF="%(FAQCGI)s?req=delete">Delete a FAQ entry</A> +</UL> +""" + +# Index formatting + +INDEX_SECTION = """ +<P> +<HR> +<H2>%(sec)s. %(title)s</H2> +<UL> +""" + +INDEX_ADDSECTION = """ +<P> +<LI><A HREF="%(FAQCGI)s?req=new&section=%(sec)s">Add new entry</A> +(at this point) +""" + +INDEX_ENDSECTION = """ +</UL> +""" + +INDEX_ENTRY = """\ +<LI><A HREF="%(FAQCGI)s?req=show&file=%(file)s">%(title)s</A> +""" + +LOCAL_ENTRY = """\ +<LI><A HREF="#%(sec)s.%(num)s">%(title)s</A> +""" + +# Entry formatting + +ENTRY_HEADER1 = """ +<HR> +<H2><A NAME="%(sec)s.%(num)s">%(title)s</A>\ +""" + +ENTRY_HEADER2 = """\ +</H2> +""" + +ENTRY_FOOTER = """ +<A HREF="%(FAQCGI)s?req=edit&file=%(file)s">Edit this entry</A> / +<A HREF="%(FAQCGI)s?req=log&file=%(file)s">Log info</A> +""" + +ENTRY_LOGINFO = """ +/ Last changed on %(last_changed_date)s by +<A HREF="mailto:%(last_changed_email)s">%(last_changed_author)s</A> +""" + +# Search + +NO_HITS = """ +No hits. +""" + +ONE_HIT = """ +Your search matched the following entry: +""" + +FEW_HITS = """ +Your search matched the following %(count)s entries: +""" + +MANY_HITS = """ +Your search matched more than %(MAXHITS)s entries. +The %(count)s matching entries are presented here ordered by section: +""" + +# RCS log and diff + +LOG = """ +Click on a revision line to see the diff between that revision and the +previous one. +""" + +REVISIONLINK = """\ +<A HREF="%(FAQCGI)s?req=revision&file=%(file)s&rev=%(rev)s" +>%(line)s</A>\ +""" +DIFFLINK = """\ + (<A HREF="%(FAQCGI)s?req=diff&file=%(file)s&\ +prev=%(prev)s&rev=%(rev)s" +>diff -r%(prev)s -r%(rev)s</A>)\ +""" + +# Recently changed entries + +NO_RECENT = """ +<HR> +No %(FAQNAME)s entries were changed in the last %(period)s. +""" + +VIEW_MENU = """ +<HR> +View entries changed in the last... +<UL> +<LI><A HREF="%(FAQCGI)s?req=recent&days=1">24 hours</A> +<LI><A HREF="%(FAQCGI)s?req=recent&days=2">2 days</A> +<LI><A HREF="%(FAQCGI)s?req=recent&days=3">3 days</A> +<LI><A HREF="%(FAQCGI)s?req=recent&days=7">week</A> +<LI><A HREF="%(FAQCGI)s?req=recent&days=28">4 weeks</A> +<LI><A HREF="%(FAQCGI)s?req=recent&days=365250">millennium</A> +</UL> +""" + +ONE_RECENT = VIEW_MENU + """ +The following %(FAQNAME)s entry was changed in the last %(period)s: +""" + +SOME_RECENT = VIEW_MENU + """ +The following %(count)s %(FAQNAME)s entries were changed +in the last %(period)s, most recently changed shown first: +""" + +TAIL_RECENT = VIEW_MENU + +# Last changed banner on "all" (strftime format) +LAST_CHANGED = "Last changed on %c %Z" + +# "Compat" command prologue (this has no <BODY> tag) +COMPAT = """ +<H1>The whole %(FAQNAME)s</H1> +See also the <A HREF="%(FAQCGI)s?req=home">%(FAQNAME)s Wizard</A>. +<P> +""" + +# Editing + +EDITHEAD = """ +<A HREF="%(FAQCGI)s?req=help">Click for Help</A> +""" + +REVIEWHEAD = EDITHEAD + + +EDITFORM1 = """ +<FORM ACTION="%(FAQCGI)s" METHOD=POST> +<INPUT TYPE=hidden NAME=req VALUE=review> +<INPUT TYPE=hidden NAME=file VALUE=%(file)s> +<INPUT TYPE=hidden NAME=editversion VALUE=%(editversion)s> +<HR> +""" + +EDITFORM2 = """ +Title: <INPUT TYPE=text SIZE=70 NAME=title VALUE="%(title)s"><BR> +<TEXTAREA COLS=72 ROWS=20 NAME=body>%(body)s +</TEXTAREA><BR> +Log message (reason for the change):<BR> +<TEXTAREA COLS=72 ROWS=5 NAME=log>%(log)s +</TEXTAREA><BR> +Please provide the following information for logging purposes: +<TABLE FRAME=none COLS=2> + <TR> + <TD>Name: + <TD><INPUT TYPE=text SIZE=40 NAME=author VALUE="%(author)s"> + <TR> + <TD>Email: + <TD><INPUT TYPE=text SIZE=40 NAME=email VALUE="%(email)s"> + <TR> + <TD>Password: + <TD><INPUT TYPE=password SIZE=20 NAME=password VALUE="%(password)s"> +</TABLE> + +<INPUT TYPE=submit NAME=review VALUE="Preview Edit"> +Click this button to preview your changes. +""" + +EDITFORM3 = """ +</FORM> +""" + +COMMIT = """ +<INPUT TYPE=submit NAME=commit VALUE="Commit"> +Click this button to commit your changes. +<HR> +""" + +NOCOMMIT_HEAD = """ +To commit your changes, please correct the following errors in the +form below and click the Preview Edit button. +<UL> +""" +NOCOMMIT_TAIL = """ +</UL> +<HR> +""" + +CANTCOMMIT_HEAD = """ +Some required information is missing: +<UL> +""" +NEED_PASSWD = "<LI>You must provide the correct password.\n" +NEED_AUTHOR = "<LI>You must enter your name.\n" +NEED_EMAIL = "<LI>You must enter your email address.\n" +NEED_LOG = "<LI>You must enter a log message.\n" +CANTCOMMIT_TAIL = """ +</UL> +Please use your browser's Back command to correct the form and commit +again. +""" + +NEWCONFLICT = """ +<P> +You are creating a new entry, but the entry number specified is not +correct. +<P> +The two most common causes of this problem are: +<UL> +<LI>After creating the entry yourself, you went back in your browser, + edited the entry some more, and clicked Commit again. +<LI>Someone else started creating a new entry in the same section and + committed before you did. +</UL> +(It is also possible that the last entry in the section was physically +deleted, but this should not happen except through manual intervention +by the FAQ maintainer.) +<P> +<A HREF="%(FAQCGI)s?req=new&section=%(sec)s">Click here to try +again.</A> +<P> +""" + +VERSIONCONFLICT = """ +<P> +You edited version %(editversion)s but the current version is %(version)s. +<P> +The two most common causes of this problem are: +<UL> +<LI>After committing a change, you went back in your browser, + edited the entry some more, and clicked Commit again. +<LI>Someone else started editing the same entry and committed + before you did. +</UL> +<P> +<A HREF="%(FAQCGI)s?req=show&file=%(file)s">Click here to reload +the entry and try again.</A> +<P> +""" + +CANTWRITE = """ +Can't write file %(file)s (%(why)s). +""" + +FILEHEADER = """\ +Title: %(title)s +Last-Changed-Date: %(date)s +Last-Changed-Author: %(author)s +Last-Changed-Email: %(email)s +Last-Changed-Remote-Host: %(REMOTE_HOST)s +Last-Changed-Remote-Address: %(REMOTE_ADDR)s +""" + +LOGHEADER = """\ +Last-Changed-Date: %(date)s +Last-Changed-Author: %(author)s +Last-Changed-Email: %(email)s +Last-Changed-Remote-Host: %(REMOTE_HOST)s +Last-Changed-Remote-Address: %(REMOTE_ADDR)s + +%(log)s +""" + +COMMITTED = """ +Your changes have been committed. +""" + +COMMITFAILED = """ +Exit status %(sts)s. +""" + +# Add/Delete + +ADD_HEAD = """ +At the moment, new entries can only be added at the end of a section. +This is because the entry numbers are also their +unique identifiers -- it's a bad idea to renumber entries. +<P> +Click on the section to which you want to add a new entry: +<UL> +""" + +ADD_SECTION = """\ +<LI><A HREF="%(FAQCGI)s?req=new&section=%(section)s">%(section)s. %(title)s</A> +""" + +ADD_TAIL = """ +</UL> +""" + +ROULETTE = """ +<P>Hit your browser's Reload button to play again.<P> +""" + +DELETE = """ +At the moment, there's no direct way to delete entries. +This is because the entry numbers are also their +unique identifiers -- it's a bad idea to renumber entries. +<P> +If you really think an entry needs to be deleted, +change the title to "(deleted)" and make the body +empty (keep the entry number in the title though). +""" + +# Help file for the FAQ Edit Wizard + +HELP = """ +Using the %(FAQNAME)s Edit Wizard speaks mostly for itself. Here are +some answers to questions you are likely to ask: + +<P><HR> + +<H2>I can review an entry but I can't commit it.</H2> + +The commit button only appears if the following conditions are met: + +<UL> + +<LI>The Name field is not empty. + +<LI>The Email field contains at least an @ character. + +<LI>The Log message box is not empty. + +<LI>The Password field contains the proper password. + +</UL> + +<P><HR> + +<H2>What is the password?</H2> + +At the moment, only PSA members will be told the password. This is a +good time to join the PSA! See <A +HREF="http://www.python.org/psa/">the PSA home page</A>. + +<P><HR> + +<H2>Can I use HTML in the FAQ entry?</H2> + +Yes, if you include it in <HTML&rt; and </HTML> tags. +<P> +Also, if you include a URL or an email address in the text it will +automatigally become an anchor of the right type. Also, *word* +is made italic (but only for single alphabetic words). + +<P><HR> + +<H2>How do I delineate paragraphs?</H2> + +Use blank lines to separate paragraphs. + +<P><HR> + +<H2>How do I enter example text?</H2> + +Any line that begins with a space or tab is assumed to be part of +literal text. Blocks of literal text delineated by blank lines are +placed inside <PRE>...</PRE>. +""" + +# Load local customizations again, in case they set some other variables + +try: + from faqcust import * +except ImportError: + pass |