]> git.phdru.name Git - bookmarks_db.git/blobdiff - Robots/bkmk_rsimple.py
Handle HTTP Redirect 307.
[bookmarks_db.git] / Robots / bkmk_rsimple.py
index 8bfa4298299f0c3b9842cdc0fa071b361ed8cd48..75ac27fc19699c740526647e6271b819de48484e 100644 (file)
@@ -1,15 +1,16 @@
 """Simple, strightforward robot
 
 This file is a part of Bookmarks database and Internet robot.
+
 """
 
-__version__ = "$Revision$"[11:-2]
-__revision__ = "$Id$"[5:-2]
-__date__ = "$Date$"[7:-2]
 __author__ = "Oleg Broytman <phd@phdru.name>"
-__copyright__ = "Copyright (C) 2000-2011 PhiloSoft Design"
+__copyright__ = "Copyright (C) 2000-2012 PhiloSoft Design"
 __license__ = "GNU GPL"
 
+__all__ = ['robot_simple', 'get_error']
+
+
 import sys, os
 import time, urllib
 from base64 import b64encode
@@ -25,7 +26,8 @@ from parse_html import parse_html
 class RedirectException(Exception):
    reloc_dict = {
       301: "perm.",
-      302: "temp.",
+      302: "temp2.",
+      307: "temp7.",
       "html": "html"
    }
    def __init__(self, errcode, newurl):
@@ -193,9 +195,9 @@ class robot_simple(Robot):
                      if icons[icon]:
                         bookmark.icon_href = icon
                         content_type, bookmark.icon = icons[icon]
-                        self.log("       cached icon: %s" % content_type)
+                        self.log("   cached icon: %s" % content_type)
                      else:
-                        self.log("       cached icon: no icon")
+                        self.log("   cached icon: no icon")
                   else:
                      try:
                         _icon = icon
@@ -204,7 +206,7 @@ class robot_simple(Robot):
                               icon_fname, headers = urllib.urlretrieve(_icon)
                            except RedirectException, e:
                               _icon = e.url
-                              self.log("       redirect to : %s" % _icon)
+                              self.log("   redirect to : %s" % _icon)
                            else:
                               break
                         else:
@@ -226,7 +228,7 @@ class robot_simple(Robot):
                            self.log("   got icon       : %s" % content_type)
                            if content_type.startswith("application/") \
                                  or content_type.startswith("text/plain"):
-                              self.log("       non-image content type, assume x-icon")
+                              self.log("   non-image content type, assume x-icon")
                               content_type = 'image/x-icon'
                            bookmark.icon = "data:%s;base64,%s" % (content_type, b64encode(icon_data))
                            icons[icon] = (content_type, bookmark.icon)
@@ -285,7 +287,6 @@ class robot_simple(Robot):
       # Tested
       return 1
 
-
    def finish_check_url(self, bookmark, fname=None):
       # Calculate these attributes even in case of an error
       if fname and os.path.exists(fname):