-#! /usr/bin/env python
-"""Robot interface - check one URL
+#! /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')
+ 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()