import os
-import urllib
+try:
+ from urllib.parse import quote, \
+ splittype, splithost, splituser, splitpasswd, \
+ splitport
+except ImportError:
+ from urllib import quote, \
+ splittype, splithost, splituser, splitpasswd, \
+ splitport
BKMK_FORMAT = os.environ.get("BKMK_FORMAT", "MOZILLA")
def __init__(self, href, add_date, last_visit=None, last_modified=None,
keyword=None, comment='', icon_href=None, icon=None,
charset=None, parser_charset=None):
- protocol, request = urllib.splittype(href)
+ protocol, request = splittype(href)
user, password, port = None, None, None
- host, path = urllib.splithost(request)
+ host, path = splithost(request)
if host:
- user, host = urllib.splituser(host)
+ user, host = splituser(host)
if user:
- user, password = urllib.splitpasswd(user)
- host, port = urllib.splitport(host)
+ user, password = splitpasswd(user)
+ host, port = splitport(host)
if port: port = int(port)
if protocol == 'place':
else:
href = protocol + "://"
if user:
- href += urllib.quote(user)
+ href += quote(user)
if password:
- href += ':' + urllib.quote(password)
+ href += ':' + quote(password)
href += '@'
if host:
- href += host.decode(parser_charset or 'utf-8').encode('idna')
+ href += host.encode('idna').decode('ascii')
if port:
href += ':%d' % port
if path:
if BKMK_FORMAT == "MOZILLA":
from HTMLParser import HTMLParser
title = HTMLParser().unescape(
- title.replace("&", '&').decode('utf-8'))
- title = title.encode('utf-8').replace("'", "'")
+ title.replace("&", '&'))
+ title = title.replace("'", "'")
return title