X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=Robots%2Fbkmk_robot_base.py;h=9a74cb4ad67e342f96ec087e99186bb2eb69c4d2;hb=e7352b5ec7f97d1f85cc6e0d89ee0a8eeabead40;hp=3b5ec274760a59b3578e25a5bec87a7b7d09c7ac;hpb=2e673dc1e4202710ca17ee2f6eab2dae721139ac;p=bookmarks_db.git diff --git a/Robots/bkmk_robot_base.py b/Robots/bkmk_robot_base.py index 3b5ec27..9a74cb4 100644 --- a/Robots/bkmk_robot_base.py +++ b/Robots/bkmk_robot_base.py @@ -15,8 +15,11 @@ from base64 import b64encode import sys import socket import time -import urllib -from urlparse import urljoin +try: + from urllib.parse import splittype, splithost, splittag, urljoin +except ImportError: + from urllib import splittype, splithost, splittag + from urlparse import urljoin from m_lib.md5wrapper import md5wrapper from m_lib.net.www.util import parse_time @@ -62,10 +65,10 @@ class robot_base(Robot): self.start = int(time.time()) bookmark.icon = None - url_type, url_rest = urllib.splittype(bookmark.href) - url_host, url_path = urllib.splithost(url_rest) - url_path, url_tag = urllib.splittag(url_path) # noqa: E221 - # multiple spaces before operator + url_type, url_rest = splittype(bookmark.href) + url_host, url_path = splithost(url_rest) + url_path, url_tag = splittag(url_path) # noqa: E221 + # multiple spaces before operator url = "%s://%s%s" % (url_type, url_host, url_path) error, redirect_code, redirect_to, headers, content = \ @@ -108,9 +111,15 @@ class robot_base(Robot): md5 = md5wrapper() if url_type == "ftp": # Pass welcome message through MD5 - md5.update(self.get_ftp_welcome()) + ftp_welcome = self.get_ftp_welcome() + if not isinstance(ftp_welcome, bytes): + ftp_welcome = ftp_welcome.encode('utf-8') + md5.update(ftp_welcome) - md5.update(content) + if isinstance(content, bytes): + md5.update(content) + else: + md5.update(content.encode('utf-8')) bookmark.md5 = str(md5) if headers: @@ -192,6 +201,8 @@ class robot_base(Robot): self.log(" non-image content type," " assume x-icon") content_type = 'image/x-icon' + if not isinstance(icon_data, bytes): + icon_data = icon_data.encode('utf-8') bookmark.icon = "data:%s;base64,%s" \ % (content_type, b64encode(icon_data)) icons[icon_url] = (content_type,