X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=phd.py;h=3c2e0dd038bb987cb6187748dc385fce67aeda07;hb=5bfe6ea88d9f0579f7d4ed471c63c342c7b6fc1b;hp=f34437a9af1b647e5f3078f6978a0c14bd91ac67;hpb=c978d4eac730a7fa0d578c4946fcc88854ba8aef;p=phdru.name%2Fphdru.name.git diff --git a/phd.py b/phd.py index f34437a..3c2e0dd 100644 --- a/phd.py +++ b/phd.py @@ -9,7 +9,7 @@ def _url2href(match): return '%s' % (url, url) -full_dirs = len(os.getcwd().split('/')) + 2 +full_dirs = len(os.getcwd().split('/')) + 1 class phd(Template): def __init__(self, *args, **kw): @@ -39,7 +39,7 @@ class phd(Template): def body(self): if hasattr(self, "body_html"): - return self.body_html() + return self.body_html().encode('utf-8') if hasattr(self, "body_text"): return self.text2html() if hasattr(self, "body_rst"): @@ -54,6 +54,8 @@ class phd(Template): new_paras = [] for p in paragraphs: + if isinstance(p, unicode): + p = p.encode('utf-8') parts = p.split("\n ") parts[0] = parts[0].strip() new_paras.append('\n

\n

\n'.join(parts)) @@ -80,7 +82,13 @@ class phd(Template): subtitle = "

%s

" % subtitle body = parts["body"] - parts = [part for part in (title, subtitle, body) if part] + parts = [] + for part in (title, subtitle, body): + if not part: + continue + if isinstance(part, unicode): + part = part.encode('utf-8') + parts.append(part) return "\n\n".join(parts) def mkd2html(self): @@ -93,16 +101,19 @@ class phd(Template): 800x600, 1024x800""" % {"img_name": img_name} def wikipedia(self, query): - return "http://en.wikipedia.org/wiki/%s" % quote_string(query.replace(' ', '_'), ext_safe=',') + return "https://en.wikipedia.org/wiki/%s" % quote_string(query.replace(' ', '_'), ext_safe=',') def wikipedia_ru(self, query): - return "http://ru.wikipedia.org/wiki/%s" % quote_string(query.replace(' ', '_'), ext_safe=',') + return "https://ru.wikipedia.org/wiki/%s" % quote_string(query.replace(' ', '_'), ext_safe=',') + + def startpage(self, query): + return "https://startpage.com/do/search?q=%s" % quote_string(query) + + search = startpage def nigma(self, query): return "http://www.nigma.ru/index.php?s=%s" % quote_string(query) - search = nigma - def yandex(self, query): return "http://www.yandex.ru/yandsearch?text=%s&rpt=rad" % quote_string(query, "cp1251") @@ -112,5 +123,8 @@ class phd(Template): def google_ru(self, query): return "http://www.google.ru/search?hl=ru&ie=utf-8&oe=utf-8&q=%s" % quote_string(query) + def lurkmoar(self, query): + return "https://lurkmore.to/%s" % quote_string(query.replace(' ', '_'), ext_safe=',') + def quote_string(s, to_encoding="utf-8", ext_safe=''): return urllib.quote(unicode(s, "utf-8").encode(to_encoding), '/' + ext_safe)