X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=check_url.py;h=a43d00765372b5e13f6e220546d91f55a0f2e4df;hb=a6ac81d60daa6e21ce04bd1ca2d598f3b6615d80;hp=ebf9a20c827e3c1432cc90947ece19f06d7610f7;hpb=47a98cc3d9ff5db149a457a192a6343134214bd7;p=bookmarks_db.git diff --git a/check_url.py b/check_url.py index ebf9a20..a43d007 100755 --- a/check_url.py +++ b/check_url.py @@ -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 " +__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 -tempfname = "check_url.tmp" - -def run(): - print "Broytman check_url, Copyright (C) 2010 PhiloSoft Design" +try: + import httplib +except ImportError: + pass +else: + HTTP = httplib.HTTP - 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(tempfname, 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 -Icon: %s -""" % (bookmark.href, getattr(bookmark, 'real_title', ''), strftime(bookmark.last_modified), 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()