Skip to content

Commit daa36ec

Browse files
committed
support search_field and cmp argument in search URL
1 parent 9408109 commit daa36ec

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

atwiki/test/test_uri.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ def test_path_output(self):
2626
uri = AtWikiURI(base)
2727

2828
self.assertEqual(uri.search(), '{0}/search'.format(base))
29-
self.assertEqual(uri.search('test'), '{0}/?cmd=search&keyword=test&andor=and'.format(base))
30-
self.assertEqual(uri.search('test', False), '{0}/?cmd=search&keyword=test&andor=or'.format(base))
29+
self.assertEqual(uri.search('test'), '{0}/?cmd=search&keyword=test&andor=and&search_field=&cmp=cmp'.format(base))
30+
self.assertEqual(uri.search('test', is_and=False), '{0}/?cmd=search&keyword=test&andor=or&search_field=&cmp=cmp'.format(base))
31+
self.assertEqual(uri.search('test', wiki_syntax=True), '{0}/?cmd=search&keyword=test&andor=and&search_field=source&cmp=cmp'.format(base))
32+
self.assertEqual(uri.search('test', complete=False), '{0}/?cmd=search&keyword=test&andor=and&search_field=&cmp='.format(base))
3133
self.assertEqual(uri.tag(), '{0}/tag/?p=0'.format(base))
3234
self.assertEqual(uri.tag('test'), '{0}/tag/test?p=0'.format(base))
3335
self.assertEqual(uri.tag('test', 1), '{0}/tag/test?p=1'.format(base))

atwiki/uri.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,13 @@ def get_absolute_uri(self, uripart):
5050
# Wiki-wide APIs
5151
########################################
5252

53-
def search(self, keyword=None, is_and=True):
53+
def search(self, keyword=None, is_and=True, wiki_syntax=False, complete=True):
5454
if keyword is not None:
5555
andor = 'and' if is_and else 'or'
56-
return '{0}/?cmd=search&keyword={1}&andor={2}'.format(self._base, urlquote(keyword), andor)
56+
search_field = 'source' if wiki_syntax else ''
57+
cmpmode = 'cmp' if complete else ''
58+
return '{0}/?cmd=search&keyword={1}&andor={2}&search_field={3}&cmp={4}'.format(
59+
self._base, urlquote(keyword), andor, search_field, cmpmode)
5760
else:
5861
return '{0}/search'.format(self._base)
5962

0 commit comments

Comments
 (0)