X-Git-Url: https://codewiz.org/gitweb?p=geekigeeki.git;a=blobdiff_plain;f=geekigeeki.py;h=5340646c63101b24629d96a26ff2adea8e66a3b7;hp=9c9efc16a65e61ce1dc9199df4cec036a141ae7e;hb=61f00a0d333aeb1cb45e98ab4c1902ff1981ad6a;hpb=e3e7c9370317666588488fb95e081e02fc107a0d
diff --git a/geekigeeki.py b/geekigeeki.py
index 9c9efc1..5340646 100755
--- a/geekigeeki.py
+++ b/geekigeeki.py
@@ -171,6 +171,8 @@ def link_tag(params, text=None, ss_class=None, privileged=False):
# Prevent crawlers from following links potentially added by spammers or to generated pages
if ss_class == 'external' or ss_class == 'navlink':
classattr += 'rel="nofollow" '
+ elif url_re.match(params):
+ classattr += 'rel="nofollow" '
return '%s' % (classattr, relative_url(params, privileged=privileged), text)
# Search ---------------------------------------------------
@@ -323,11 +325,11 @@ def _macro_TitleIndex(*vargs):
for name in pages:
letter = string.lower(name[0])
if letter != current_letter:
- s = s + '%s
' % (letter, letter)
+ s += '%s
' % (letter, letter)
current_letter = letter
else:
- s = s + '
'
- s = s + Page(name).link_to()
+ s += '
'
+ s += Page(name).link_to()
return s
@@ -402,18 +404,14 @@ class PageFormatter:
if macro:
return apply(macro, (name, descr))
elif img_re.match(name):
+ name = relative_url(name)
# The "extthumb" nonsense works around a limitation of the HTML block model
return '
\s*\}\}\})" + + r"|(?P[<>&])" + r")") blank_re = re.compile(r"^\s*$") indent_re = re.compile(r"^\s*") @@ -581,7 +574,7 @@ class Page: return path.join(data_dir, self.page_name) def _tmp_filename(self): - return path.join(data_dir, ('#' + self.page_name + '.' + `os.getpid()` + '#')) + return path.join(data_dir, ('#' + self.page_name.replace('/','_') + '.' + `os.getpid()` + '#')) def exists(self): try: @@ -590,8 +583,7 @@ class Page: except OSError, er: if er.errno == errno.ENOENT: return False - else: - raise er + raise er def link_to(self): word = self.page_name @@ -627,10 +619,7 @@ class Page: return self.attrs def get_attr(self, name, default): - if self.get_attrs().has_key(name): - return self.get_attrs()[name] - else: - return default + return self.get_attrs().get(name, default) def can(self, action, default=True): try: @@ -639,10 +628,7 @@ class Page: for rule in acl.split(): (user,perms) = rule.split(':') if user == remote_user() or user == "All": - if action in perms.split(','): - return True - else: - return False + return action in perms.split(',') return False except Exception, er: pass