]> git.phdru.name Git - bookmarks_db.git/blobdiff - check_url.py
Fix(Robots/bkmk_rrequests): Add forgotten spaces in log
[bookmarks_db.git] / check_url.py
index b0a6869a5e5d601b5a2f34728fde97fcff58da1b..a43d00765372b5e13f6e220546d91f55a0f2e4df 100755 (executable)
@@ -1,62 +1,84 @@
-#! /usr/bin/env python
-"""
-   Robot interface - check one URL
+#! /usr/bin/env python3
+"""Robot interface - check URLs from the command line
 
-   Written by Broytman. Copyright (C) 2010 PhiloSoft Design.
+This file is a part of Bookmarks database and Internet robot.
 """
 
+__author__ = "Oleg Broytman <phd@phdru.name>"
+__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)
+    class MyHTTP(HTTP):
+        def _setup(self, conn):
+            HTTP._setup(self, conn)
+            self.set_debuglevel(1)
 
-   from m_lib.flog import makelog
-   log = makelog("check.log")
+    httplib.HTTP = MyHTTP
 
-   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 """\
-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')
+    sys.stdout.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()