X-Git-Url: https://git.phdru.name/?p=bookmarks_db.git;a=blobdiff_plain;f=check_dups.py;h=0a267ac60544a28322657df7ba7227aa26e7deaa;hp=1a947dd5f7837bc903fa2d60b2527b493e481fab;hb=HEAD;hpb=fb5c3b2b91aeeb615d6d6d890491af3fdff69556 diff --git a/check_dups.py b/check_dups.py index 1a947dd..df79df8 100755 --- a/check_dups.py +++ b/check_dups.py @@ -1,90 +1,93 @@ -#! /usr/local/bin/python -O -""" - Check duplicate URLs in the bookmarks database +#! /usr/bin/env python3 +"""Check duplicate URLs in the bookmarks database - Written by BroytMann, Jun 2000 - Aug 2002. Copyright (C) 2000-2002 PhiloSoft Design +This file is a part of Bookmarks database and Internet robot. """ - +from __future__ import print_function import sys -log_file = None +__author__ = "Oleg Broytman " +__copyright__ = "Copyright (C) 2000-2023 PhiloSoft Design" +__license__ = "GNU GPL" -def report_dup(href, object_no): - s = "Duplicate URL: %s (first at rec. %d)" % (href, object_no) - print s - if log_file: - log_file.write("%s\n" % s) +log_file = None +def report_dup(href, object_no): + s = "Duplicate URL: %s (first at rec. %d)" % (href, object_no) -def run(): - from getopt import getopt - optlist, args = getopt(sys.argv[1:], "sl:") + if log_file: + log_file.write("%s\n" % s) + else: + print(s) - report_stats = 1 - global log_file - log_filename = None - for _opt, _arg in optlist: - if _opt == '-s': - report_stats = 0 - if _opt == '-l': - log_filename = _arg - try: - del _opt, _arg - except NameError: - pass +def run(): + from getopt import getopt + optlist, args = getopt(sys.argv[1:], "sl:") - if report_stats: - print "BroytMann check_dups, Copyright (C) 2000 PhiloSoft Design" + report_stats = 1 + global log_file + log_filename = None - if args: - sys.stderr.write("check_urls: too many arguments\n") - sys.stderr.write("Usage: check_urls [-s] [-l logfile]\n") - sys.exit(1) + for _opt, _arg in optlist: + if _opt == '-s': + report_stats = 0 + if _opt == '-l': + log_filename = _arg + try: + del _opt, _arg + except NameError: + pass - if log_filename: - log_file = open(log_filename, 'w') + if report_stats: + print("Broytman check_dups, Copyright (C) 2000-2023 PhiloSoft Design") - from storage import storage - storage = storage() + if args: + sys.stderr.write("check_urls: too many arguments\n") + sys.stderr.write("Usage: check_urls [-s] [-l logfile]\n") + sys.exit(1) - if report_stats: - sys.stdout.write("Loading %s: " % storage.filename) - sys.stdout.flush() + if log_filename: + log_file = open(log_filename, 'wt') - root_folder = storage.load() - from bkmk_objects import make_linear - make_linear(root_folder) - objects = len(root_folder.linear) + from storage import storage + storage = storage() - if report_stats: - print "Ok" + if report_stats: + sys.stdout.write("Loading %s: " % storage.filename) + sys.stdout.flush() + root_folder = storage.load() + from bkmk_objects import make_linear + make_linear(root_folder) + objects = len(root_folder.linear) - dup_dict = {} + if report_stats: + print("Ok") - for object_no in range(objects): - object = root_folder.linear[object_no] + dup_dict = {} - if object.isBookmark: - href = object.href - if dup_dict.has_key(href): - report_dup(href, dup_dict[href]) - else: - dup_dict[href] = object_no + for object_no in range(objects): + object = root_folder.linear[object_no] + if object.isBookmark: + href = object.href + if href in dup_dict: + report_dup(href, dup_dict[href]) + else: + dup_dict[href] = object_no - if log_filename: - log_file.close() + if log_filename: + log_file.close() - if report_stats: - print "Ok" - print objects, "objects passed" + if report_stats: + print("Ok") + print(objects, "objects passed") if __name__ == '__main__': - run() + run()