X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=set-title-list.py;h=52c5ee8d6d0ad2fd751b700f3415721865a97425;hb=d7a67c44edee1994505e3bf501e6af63ffd1ef36;hp=2fb37eccb838b43fdde557435528719252615680;hpb=71712390f4edb041609ff7bc9272d12a5c1a9b1d;p=bookmarks_db.git diff --git a/set-title-list.py b/set-title-list.py index 2fb37ec..52c5ee8 100755 --- a/set-title-list.py +++ b/set-title-list.py @@ -4,114 +4,113 @@ This file is a part of Bookmarks database and Internet robot. """ -__author__ = "Oleg Broytman " -__copyright__ = "Copyright (C) 2003-2012 PhiloSoft Design" -__license__ = "GNU GPL" - +from __future__ import print_function import sys -def run(): - from getopt import getopt - optlist, args = getopt(sys.argv[1:], "s") - - report_stats = 1 +__author__ = "Oleg Broytman " +__copyright__ = "Copyright (C) 2003-2023 PhiloSoft Design" +__license__ = "GNU GPL" - for _opt, _arg in optlist: - if _opt == '-s': - report_stats = 0 - try: - del _opt, _arg - except NameError: - pass - if report_stats: - print "Broytman set-title-list, Copyright (C) 2003-2007 PhiloSoft Design" +def run(): + from getopt import getopt + optlist, args = getopt(sys.argv[1:], "s") - if len(args) <> 1: - sys.stderr.write("Usage: set-title-list [-s] title_list_file\n") - sys.exit(1) + report_stats = 1 - # Read the external file with titles and build a mapping (URL => title) - titles_dict = {} + for _opt, _arg in optlist: + if _opt == '-s': + report_stats = 0 + try: + del _opt, _arg + except NameError: + pass - URL = None - title = None + if report_stats: + print("Broytman set-title-list, Copyright (C) 2003-2023 PhiloSoft Design") - title_list_file = open(args[0], 'r') - for line in title_list_file: - line = line[:-1] # strip trailing newline - if URL is None: - URL = line + if len(args) != 1: + sys.stderr.write("Usage: set-title-list [-s] title_list_file\n") + sys.exit(1) - elif title is None: - title = line + # Read the external file with titles and build a mapping (URL => title) + titles_dict = {} - elif line: # the third line in every 3 lines must be empty - raise ValueError, "line is not empty for URL `%s', title `%s': line `%s'" % (URL, title, line) + URL = None + title = None - else: # We've got 3 lines - add new entry to the mapping - if titles_dict.has_key(URL): - if title <> titles_dict[URL]: - raise ValueError, "titles are not identical for URL `%s': `%s' <> `%s'" % (URL, title, titles_dict[URL]) + title_list_file = open(args[0], 'r') + for line in title_list_file: + line = line[:-1] # strip trailing newline + if URL is None: + URL = line - else: - titles_dict[URL] = title + elif title is None: + title = line - # reset - URL = None - title = None + elif line: # the third line in every 3 lines must be empty + raise ValueError("line is not empty for URL `%s', title `%s': line `%s'" % (URL, title, line)) - title_list_file.close() + else: # We've got 3 lines - add new entry to the mapping + if titles_dict.has_key(URL): + if title != titles_dict[URL]: + raise ValueError("titles are not identical for URL `%s': `%s' != `%s'" % (URL, title, titles_dict[URL])) + else: + titles_dict[URL] = title - from storage import storage - storage = storage() + # reset + URL = None + title = None - if report_stats: - sys.stdout.write("Loading %s: " % storage.filename) - sys.stdout.flush() + title_list_file.close() - root_folder = storage.load() - from bkmk_objects import make_linear, break_tree - 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, break_tree + make_linear(root_folder) + objects = len(root_folder.linear) - # Run through the list of objects and check URLs/titles - changed = 0 - for object_no in range(objects): - object = root_folder.linear[object_no] + if report_stats: + print("Ok") - if object.isBookmark: - URL = object.href - if titles_dict.has_key(URL): - name = titles_dict[URL] - if object.name <> name: - object.name = name - changed += 1 + # Run through the list of objects and check URLs/titles + changed = 0 + for object_no in range(objects): + object = root_folder.linear[object_no] + if object.isBookmark: + URL = object.href + if titles_dict.has_key(URL): + name = titles_dict[URL] + if object.name != name: + object.name = name + changed += 1 - if changed and report_stats: - sys.stdout.write("Saving %s: " % storage.filename) - sys.stdout.flush() + if changed and report_stats: + sys.stdout.write("Saving %s: " % storage.filename) + sys.stdout.flush() - if not changed and report_stats: - sys.stdout.write("No need to save data\n") - sys.stdout.flush() + if not changed and report_stats: + sys.stdout.write("No need to save data\n") + sys.stdout.flush() - if changed: - break_tree(root_folder.linear) - storage.store(root_folder) + if changed: + break_tree(root_folder.linear) + storage.store(root_folder) - if changed and report_stats: - print "Ok" - print objects, "objects passed" - print changed, "objects changed" + if changed and report_stats: + print("Ok") + print(objects, "objects passed") + print(changed, "objects changed") if __name__ == '__main__': - run() + run()