2 """Check duplicate URLs in the bookmarks database
4 This file is a part of Bookmarks database and Internet robot.
7 __version__ = "$Revision$"[11:-2]
8 __revision__ = "$Id$"[5:-2]
9 __date__ = "$Date$"[7:-2]
10 __author__ = "Oleg Broytman <phd@phdru.name>"
11 __copyright__ = "Copyright (C) 2000-2011 PhiloSoft Design"
12 __license__ = "GNU GPL"
19 def report_dup(href, object_no):
20 s = "Duplicate URL: %s (first at rec. %d)" % (href, object_no)
23 log_file.write("%s\n" % s)
29 from getopt import getopt
30 optlist, args = getopt(sys.argv[1:], "sl:")
36 for _opt, _arg in optlist:
47 print "Broytman check_dups, Copyright (C) 2000-2007 PhiloSoft Design"
50 sys.stderr.write("check_urls: too many arguments\n")
51 sys.stderr.write("Usage: check_urls [-s] [-l logfile]\n")
55 log_file = open(log_filename, 'w')
57 from storage import storage
61 sys.stdout.write("Loading %s: " % storage.filename)
64 root_folder = storage.load()
65 from bkmk_objects import make_linear
66 make_linear(root_folder)
67 objects = len(root_folder.linear)
75 for object_no in range(objects):
76 object = root_folder.linear[object_no]
80 if dup_dict.has_key(href):
81 report_dup(href, dup_dict[href])
83 dup_dict[href] = object_no
91 print objects, "objects passed"
94 if __name__ == '__main__':