]> git.phdru.name Git - bookmarks_db.git/blob - check_url.py
TODO: Configuration file
[bookmarks_db.git] / check_url.py
1 #! /usr/bin/env python
2 """Robot interface - check URLs from the command line
3
4 This file is a part of Bookmarks database and Internet robot.
5 """
6
7 __author__ = "Oleg Broytman <phd@phdru.name>"
8 __copyright__ = "Copyright (C) 2010-2012 PhiloSoft Design"
9 __license__ = "GNU GPL"
10
11 import sys
12 import httplib
13
14 HTTP = httplib.HTTP
15
16 class MyHTTP(HTTP):
17     def _setup(self, conn):
18         HTTP._setup(self, conn)
19         self.set_debuglevel(1)
20
21 httplib.HTTP = MyHTTP
22
23 from bkmk_objects import Bookmark
24 from Writers.bkmk_wflad import strftime
25
26
27 def run():
28    print "Broytman check_url, Copyright (C) 2010 PhiloSoft Design"
29
30    if len(sys.argv) < 2:
31       sys.stderr.write("Usage: check_url.py url1 [url2...]\n")
32       sys.exit(1)
33
34    from m_lib.flog import makelog
35    log = makelog("check.log")
36
37    from robots import robot
38    robot = robot(log)
39
40    for url in sys.argv[1:]:
41        bookmark = Bookmark(href=url, add_date=None)
42        bookmark.parent = None
43
44        rcode = robot.check_url(bookmark)
45        print "check_url: %s" % rcode
46
47        if hasattr(bookmark, 'error'):
48           print bookmark.error
49
50        else:
51           print """\
52 URL: %s
53 Title: %s
54 LastModified: %s
55 IconURI: %s
56 Icon: %s
57 """ % (bookmark.href, getattr(bookmark, 'real_title', ''), strftime(bookmark.last_modified), bookmark.icon_href, bookmark.icon)
58
59    robot.stop()
60    log.close()
61
62
63 if __name__ == '__main__':
64    run()