[Moin-devel] CVS: MoinMoin/parser wiki.py,1.66,1.67

J?rgen Hermann jhermann at users.sourceforge.net
Thu Jan 24 13:11:02 EST 2002


Update of /cvsroot/moin/MoinMoin/parser
In directory usw-pr-cvs1:/tmp/cvs-serv24548/MoinMoin/parser

Modified Files:
	wiki.py 
Log Message:
Support for subpages in about 20 new lines. Boy, do I rule! ;))


Index: wiki.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/parser/wiki.py,v
retrieving revision 1.66
retrieving revision 1.67
diff -C2 -r1.66 -r1.67
*** wiki.py	2002/01/22 22:20:57	1.66
--- wiki.py	2002/01/24 21:10:13	1.67
***************
*** 32,35 ****
--- 32,41 ----
      dl_rule = r"^\s+.*?::\s"
  
+     word_rule = r'(?:%(subpages)s[%(u)s][%(l)s]+){2,}' % {
+         'u': config.upperletters,
+         'l': config.lowerletters,
+         'subpages': config.allow_subpages and '/?' or '',
+     }
+ 
      formatting_rules = r"""(?:(?P<emph_ibb>'''''(?=[^']+'''))
  (?P<emph_ibi>'''''(?=[^']+''))
***************
*** 48,52 ****
  (?P<heading>^\s*(?P<hmarker>=+)\s.*\s(?P=hmarker) $)
  (?P<interwiki>[A-Z][a-zA-Z]+\:[^\s'\"\:\<]([^\s%(punct)s]|([%(punct)s][^\s%(punct)s]))+)
! (?P<word>(?:[%(u)s][%(l)s]+){2,})
  (?P<url_bracket>\[(%(url)s)\:[^\s\]]+(\s[^\]]+)?\])
  (?P<url>%(url_guard)s(%(url)s)\:([^\s\<%(punct)s]|([%(punct)s][^\s\<%(punct)s]))+)
--- 54,58 ----
  (?P<heading>^\s*(?P<hmarker>=+)\s.*\s(?P=hmarker) $)
  (?P<interwiki>[A-Z][a-zA-Z]+\:[^\s'\"\:\<]([^\s%(punct)s]|([%(punct)s][^\s%(punct)s]))+)
! (?P<word>%(word_rule)s)
  (?P<url_bracket>\[(%(url)s)\:[^\s\]]+(\s[^\]]+)?\])
  (?P<url>%(url_guard)s(%(url)s)\:([^\s\<%(punct)s]|([%(punct)s][^\s\<%(punct)s]))+)
***************
*** 63,68 ****
          'ol_rule': ol_rule,
          'dl_rule': dl_rule,
!         'u': config.upperletters,
!         'l': config.lowerletters,
          'smiley': string.join(map(re.escape, wikiutil.smileys.keys()), '|')}
  
--- 69,73 ----
          'ol_rule': ol_rule,
          'dl_rule': dl_rule,
!         'word_rule': word_rule,
          'smiley': string.join(map(re.escape, wikiutil.smileys.keys()), '|')}
  
***************
*** 117,120 ****
--- 122,127 ----
                  text = url
                  url = ""
+         elif config.allow_subpages and url[0] == '/':
+             return self._word_repl(url, text)
  
          import urllib
***************
*** 233,244 ****
  
  
!     def _word_repl(self, word):
          """Handle WikiNames."""
          self._check_p()
!         hilite = self.highlight_text(word)
!         if hilite == word:
              return self.formatter.pagelink(word)
          else:
!             return self.formatter.pagelink(word, hilite)
  
      def _notword_repl(self, word):
--- 240,254 ----
  
  
!     def _word_repl(self, word, text=None):
          """Handle WikiNames."""
          self._check_p()
!         if not text: text = word
!         if config.allow_subpages and word[0] == '/':
!             word = self.formatter.page.page_name + word
!         text = self.highlight_text(text)
!         if word == text:
              return self.formatter.pagelink(word)
          else:
!             return self.formatter.pagelink(word, text)
  
      def _notword_repl(self, word):
***************
*** 658,664 ****
              rules = rules + r'|(?P<wikiname_bracket>\[".*?"\])'
          if config.bang_meta:
!             rules = r'(?P<notword>!(?:[%(u)s][%(l)s]+){2,})|%(rules)s' % {
!                 'u': config.upperletters,
!                 'l': config.lowerletters,
                  'rules': rules,
              }
--- 668,673 ----
              rules = rules + r'|(?P<wikiname_bracket>\[".*?"\])'
          if config.bang_meta:
!             rules = r'(?P<notword>!%(word_rule)s)|%(rules)s' % {
!                 'word_rule': word_rule,
                  'rules': rules,
              }





More information about the Moin-devel mailing list