X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=check_url.py;h=a43d00765372b5e13f6e220546d91f55a0f2e4df;hb=3b51e43f06c97c0d1a2ffbb1c29276acaeb64f07;hp=8744acf9c09d9b00d104cedf0b5cef339fb62fd8;hpb=832eb757ef7f81abf1e431ce16f368c10dd57962;p=bookmarks_db.git diff --git a/check_url.py b/check_url.py index 8744acf..a43d007 100755 --- a/check_url.py +++ b/check_url.py @@ -1,67 +1,84 @@ -#! /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 " -__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()