[Moin-devel] CVS: MoinMoin Page.py,1.109,1.110 wikiaction.py,1.60,1.61 wikimacro.py,1.36,1.37 wikiutil.py,1.91,1.92
J?rgen Hermann
jhermann at users.sourceforge.net
Wed Mar 20 15:05:06 EST 2002
Update of /cvsroot/moin/MoinMoin
In directory usw-pr-cvs1:/tmp/cvs-serv6514/MoinMoin
Modified Files:
Page.py wikiaction.py wikimacro.py wikiutil.py
Log Message:
Case-sensitive search
Index: Page.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/Page.py,v
retrieving revision 1.109
retrieving revision 1.110
diff -C2 -r1.109 -r1.110
*** Page.py 18 Mar 2002 22:45:38 -0000 1.109
--- Page.py 20 Mar 2002 23:04:17 -0000 1.110
***************
*** 287,291 ****
if config.allow_subpages and string.count(page_needle, '/'):
page_needle = '/' + string.split(page_needle, '/')[-1]
! link = '%s/%s?action=fullsearch&value=%s&literal=1' % (
webapi.getScriptname(),
wikiutil.quoteWikiname(self.page_name),
--- 287,291 ----
if config.allow_subpages and string.count(page_needle, '/'):
page_needle = '/' + string.split(page_needle, '/')[-1]
! link = '%s/%s?action=fullsearch&value=%s&literal=1&case=1' % (
webapi.getScriptname(),
wikiutil.quoteWikiname(self.page_name),
Index: wikiaction.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/wikiaction.py,v
retrieving revision 1.60
retrieving revision 1.61
diff -C2 -r1.60 -r1.61
*** wikiaction.py 20 Mar 2002 22:40:46 -0000 1.60
--- wikiaction.py 20 Mar 2002 23:04:17 -0000 1.61
***************
*** 44,47 ****
--- 44,51 ----
needle = ''
try:
+ case = int(form['case'].value)
+ except (KeyError, ValueError):
+ case = 0
+ try:
context = int(form['context'].value)
except (KeyError, ValueError):
***************
*** 55,59 ****
pagecount, hits = wikiutil.searchPages(needle,
literal=form.has_key('literal'),
! context=context)
# print the result
--- 59,63 ----
pagecount, hits = wikiutil.searchPages(needle,
literal=form.has_key('literal'),
! context=context, case=case)
# print the result
Index: wikimacro.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/wikimacro.py,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -r1.36 -r1.37
*** wikimacro.py 20 Mar 2002 22:40:46 -0000 1.36
--- wikimacro.py 20 Mar 2002 23:04:17 -0000 1.37
***************
*** 97,110 ****
else:
default = ''
! context = ''
if type == "fullsearch":
! context = '<br><input type="checkbox" name="context" value="40" checked>' + \
! _('Display context of search results')
return self.formatter.rawHTML((
'<form method="GET">'
'<input type="hidden" name="action" value="%s">'
! '<input name="value" size="30" value="%s">'
'<input type="submit" value="%s">'
! '%s</form>') % (type, default, _("Go"), context))
def _macro_GoTo(self, args):
--- 97,114 ----
else:
default = ''
! boxes = ''
if type == "fullsearch":
! boxes = (
! '<br><input type="checkbox" name="context" value="40" checked>'
! + _('Display context of search results')
! + '<br><input type="checkbox" name="case" value="1">'
! + _('Case-sensitive searching')
! )
return self.formatter.rawHTML((
'<form method="GET">'
'<input type="hidden" name="action" value="%s">'
! '<input name="value" size="30" value="%s"> '
'<input type="submit" value="%s">'
! '%s</form>') % (type, default, _("Go"), boxes))
def _macro_GoTo(self, args):
Index: wikiutil.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/wikiutil.py,v
retrieving revision 1.91
retrieving revision 1.92
diff -C2 -r1.91 -r1.92
*** wikiutil.py 20 Mar 2002 22:40:46 -0000 1.91
--- wikiutil.py 20 Mar 2002 23:04:17 -0000 1.92
***************
*** 246,251 ****
third element is None.
! literal = 0: try to treat "needle" as a regex, case-insensitive
! literal = 1: "needle" is definitely NOT a regex and searched case-sensitive
context != 0: Provide `context` chars of text on each side of a hit
"""
--- 246,252 ----
third element is None.
! literal = 0: try to treat "needle" as a regex
! literal = 1: "needle" is definitely NOT a regex
! case = 1: case-sensitive search
context != 0: Provide `context` chars of text on each side of a hit
"""
***************
*** 254,265 ****
literal = kw.get('literal', 0)
context = int(kw.get('context', 0))
if literal and context:
! needle_re = re.compile(re.escape(needle), re.IGNORECASE)
! elif not literal:
try:
! needle_re = re.compile(needle, re.IGNORECASE)
except re.error:
! needle_re = re.compile(re.escape(needle), re.IGNORECASE)
hits = []
--- 255,270 ----
literal = kw.get('literal', 0)
context = int(kw.get('context', 0))
+ ignorecase = int(kw.get('case', 0)) == 0 and re.IGNORECASE or 0
if literal and context:
! needle_re = re.compile(re.escape(needle), ignorecase)
! elif literal:
! if ignorecase:
! needle = string.lower(needle)
! else:
try:
! needle_re = re.compile(needle, ignorecase)
except re.error:
! needle_re = re.compile(re.escape(needle), ignorecase)
hits = []
***************
*** 283,286 ****
--- 288,293 ----
else:
if literal:
+ if ignorecase:
+ body = string.lower(body)
count = string.count(body, needle)
else:
More information about the Moin-devel
mailing list