]> git.phdru.name Git - bookmarks_db.git/blobdiff - check_url.py
Style: Fix `flake8` E501 line too long
[bookmarks_db.git] / check_url.py
index 0194b01f7f9aa7a36584c1d479fb4073866b697a..15a6d33c2279bc53b49a1685570f67325207d964 100755 (executable)
@@ -1,67 +1,83 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
 """Robot interface - check URLs from the command line
 
 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) 2010, 2011 PhiloSoft Design"
+__copyright__ = "Copyright (C) 2010-2023 PhiloSoft Design"
 __license__ = "GNU GPL"
 
 import sys
-import httplib
-
-HTTP = httplib.HTTP
-
-class MyHTTP(HTTP):
-    def _setup(self, conn):
-        HTTP._setup(self, conn)
-        self.set_debuglevel(1)
-
-httplib.HTTP = MyHTTP
 
 from bkmk_objects import Bookmark
 from Writers.bkmk_wflad import strftime
 
+try:
+    import httplib
+except ImportError:
+    pass
+else:
+    HTTP = httplib.HTTP
 
-def run():
-   print "Broytman check_url, Copyright (C) 2010 PhiloSoft Design"
-
-   if len(sys.argv) < 2:
-      sys.stderr.write("Usage: check_url.py url1 [url2...]\n")
-      sys.exit(1)
-
-   from m_lib.flog import makelog
-   log = makelog("check.log")
-
-   from robots import robot
-   robot = robot(log)
-
-   for url in sys.argv[1:]:
-       bookmark = Bookmark(href=url, add_date=None)
-       bookmark.parent = None
+    class MyHTTP(HTTP):
+        def _setup(self, conn):
+            HTTP._setup(self, conn)
+            self.set_debuglevel(1)
 
-       rcode = robot.check_url(bookmark)
-       print "check_url: %s" % rcode
+    httplib.HTTP = MyHTTP
 
-       if hasattr(bookmark, 'error'):
-          print bookmark.error
 
-       else:
-          print """\
-URL: %s
-Title: %s
-LastModified: %s
-IconURI: %s
-Icon: %s
-""" % (bookmark.href, getattr(bookmark, 'real_title', ''), strftime(bookmark.last_modified), bookmark.icon_href, bookmark.icon)
-
-   robot.stop()
-   log.close()
+def run():
+    print("Broytman check_url, Copyright (C) 2010-2023 PhiloSoft Design")
+
+    if len(sys.argv) < 2:
+        sys.stderr.write("Usage: check_url.py url1 [url2...]\n")
+        sys.exit(1)
+
+    from m_lib.flog import makelog
+    log = makelog("check.log")
+    log.outfile.reconfigure(encoding='utf-8')
+
+    from robots import robot
+    robot = robot(log)
+
+    for url in sys.argv[1:]:
+        bookmark = Bookmark(href=url, add_date=None)
+        bookmark.parent = None
+
+        rcode = robot.check_url(bookmark)
+        print("check_url: %s" % rcode)
+
+        if hasattr(bookmark, 'error'):
+            print(bookmark.error)
+
+        else:
+            print("""\
+  Title: %s
+  URL: %s
+  LastModified: %s
+  Moved: %s
+  Size: %s
+  Md5: %s
+  IconURI: %s
+  Icon: %s
+  Charset: %s
+  """ % (
+              getattr(bookmark, 'real_title', None)
+              or getattr(bookmark, 'title', None),
+              bookmark.href,
+              strftime(bookmark.last_modified),
+              getattr(bookmark, 'moved', None),
+              getattr(bookmark, 'size', None),
+              getattr(bookmark, 'md5', None),
+              bookmark.icon_href, bookmark.icon, bookmark.charset,
+              )
+            )
+
+    robot.stop()
+    log.close()
 
 
 if __name__ == '__main__':
-   run()
+    run()