projects
/
geekigeeki.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
cc5df9b
)
Use wiki to format search pages (saves 12 lines)
author
Bernie Innocenti
<bernie@codewiz.org>
Tue, 23 Mar 2010 02:37:53 +0000
(23:37 -0300)
committer
Bernie Innocenti
<bernie@codewiz.org>
Tue, 23 Mar 2010 02:37:53 +0000
(23:37 -0300)
geekigeeki.py
patch
|
blob
|
history
diff --git
a/geekigeeki.py
b/geekigeeki.py
index 0fdd421cbabcf414780353821d753b0805fef1a1..b3eed3c52d509732419e6ed9546be3aebe3353b6 100755
(executable)
--- a/
geekigeeki.py
+++ b/
geekigeeki.py
@@
-177,8
+177,8
@@
def link_inline_glob(pattern, descr=None, kvargs={}):
# Search ---------------------------------------------------
# Search ---------------------------------------------------
-def
print_
search_stats(hits, searched):
-
print("<p>%d hits out of %d pages searched.</p>
" % (hits, searched))
+def search_stats(hits, searched):
+
return("%d hits out of %d pages searched.\n
" % (hits, searched))
def handle_fullsearch(query, form):
needle = form['q'].value
def handle_fullsearch(query, form):
needle = form['q'].value
@@
-193,20
+193,16
@@
def handle_fullsearch(query, form):
if count:
hits.append((count, page_name))
if count:
hits.append((count, page_name))
- # The default comparison for tuples compares elements in order,
- # so this sorts by number of hits
+ # The default comparison for tuples compares elements in order, so this sorts by number of hits
hits.sort()
hits.reverse()
hits.sort()
hits.reverse()
- print("<ul>")
+ out = ''
for (count, page_name) in hits:
for (count, page_name) in hits:
- print('<li><p>' + link_tag(page_name))
- print(' . . . . ' + `count`)
- print(['match', 'matches'][count != 1])
- print('</p></li>')
- print("</ul>")
+ out += ' * [[' + page_name + ']] . . . ' + str(count) + ' ' + ['match', 'matches'][count != 1] + '\n'
- print_search_stats(len(hits), len(all_pages))
+ out += search_stats(len(hits), len(all_pages))
+ WikiFormatter(out).print_html()
def handle_titlesearch(query, form):
needle = form['q'].value
def handle_titlesearch(query, form):
needle = form['q'].value
@@
-216,12
+212,12
@@
def handle_titlesearch(query, form):
all_pages = page_list()
hits = list(filter(needle_re.search, all_pages))
all_pages = page_list()
hits = list(filter(needle_re.search, all_pages))
- print("<ul>")
+ out = ''
for filename in hits:
for filename in hits:
- print('<li><p>' + link_tag(filename) + "</p></li>")
- print("</ul>")
+ out += ' * [[' + filename + ']]\n'
- print_search_stats(len(hits), len(all_pages))
+ out += search_stats(len(hits), len(all_pages))
+ WikiFormatter(out).print_html()
def handle_raw(pagename, form):
if not file_re.match(pagename):
def handle_raw(pagename, form):
if not file_re.match(pagename):
@@
-282,11
+278,7
@@
def _macro_VERSION(*args, **kvargs):
return __version__
class WikiFormatter:
return __version__
class WikiFormatter:
- """Object that turns Wiki markup into HTML.
-
- All formatting commands can be parsed one line at a time, though
- some state is carried over between lines.
- """
+ """Object that turns Wiki markup into HTML."""
def __init__(self, raw, kvargs=None):
self.raw = raw
self.kvargs = kvargs or {}
def __init__(self, raw, kvargs=None):
self.raw = raw
self.kvargs = kvargs or {}