]> git.phdru.name Git - bookmarks_db.git/blobdiff - check_urls.py
Rename `check_url.py` to `check_urls.py`
[bookmarks_db.git] / check_urls.py
diff --git a/check_urls.py b/check_urls.py
new file mode 100755 (executable)
index 0000000..ecf8ad6
--- /dev/null
@@ -0,0 +1,84 @@
+#! /usr/bin/env python3
+"""Robot interface - check URLs from the command line
+
+This file is a part of Bookmarks database and Internet robot.
+"""
+
+__author__ = "Oleg Broytman <phd@phdru.name>"
+__copyright__ = "Copyright (C) 2010-2024 PhiloSoft Design"
+__license__ = "GNU GPL"
+
+import sys
+
+from bkmk_objects import Bookmark
+from Writers.bkmk_wflad import strftime
+
+try:
+    import httplib
+except ImportError:
+    pass
+else:
+    HTTP = httplib.HTTP
+
+    class MyHTTP(HTTP):
+        def _setup(self, conn):
+            HTTP._setup(self, conn)
+            self.set_debuglevel(1)
+
+    httplib.HTTP = MyHTTP
+
+
+def run():
+    print("Broytman check_urls, Copyright (C) 2010-2024 PhiloSoft Design")
+
+    if len(sys.argv) < 2:
+        sys.stderr.write("Usage: check_urls.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_urls: %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()