X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=check_title.py;h=5c0ed3f0ed4b7f9ae3982145803e284614871c9c;hb=ac4b52039650cd5533912cda169d275ba8cb44d1;hp=2a4f522d500b074d962b7d268321cc4fd3c75e65;hpb=7c7aed0464f40b0b0bd2d2b76a0bf43219ec2d4d;p=bookmarks_db.git diff --git a/check_title.py b/check_title.py index 2a4f522..5c0ed3f 100755 --- a/check_title.py +++ b/check_title.py @@ -1,76 +1,81 @@ -#! /usr/bin/env python -""" - Check and show URLs in the bookmarks database where name <> real title +#! /usr/bin/env python3 +"""Check and show URLs in the bookmarks database where name != real title - Written by BroytMann. Copyright (C) 2002-2008 PhiloSoft Design. +This file is a part of Bookmarks database and Internet robot. """ +from __future__ import print_function import sys from bkmk_objects import make_linear, quote_title, unquote_title -def run(): - from getopt import getopt - optlist, args = getopt(sys.argv[1:], "s") - - report_stats = 1 - - for _opt, _arg in optlist: - if _opt == '-s': - report_stats = 0 - try: - del _opt, _arg - except NameError: - pass - - if report_stats: - print "BroytMann check_title, Copyright (C) 2002-2008 PhiloSoft Design" - - if args: - sys.stderr.write("check_title: too many arguments\n") - sys.stderr.write("Usage: check_title [-s]\n") - sys.exit(1) - - from storage import storage - storage = storage() - - if report_stats: - sys.stdout.write("Loading %s: " % storage.filename) - sys.stdout.flush() +__author__ = "Oleg Broytman " +__copyright__ = "Copyright (C) 2002-2023 PhiloSoft Design" +__license__ = "GNU GPL" - root_folder = storage.load() - make_linear(root_folder) - objects = len(root_folder.linear) - if report_stats: - print "Ok" - - - for object_no in range(objects): - object = root_folder.linear[object_no] - - if object.isBookmark: - if hasattr(object, "moved") or hasattr(object, "error"): - continue - - if hasattr(object, "real_title"): - unquoted_title = unquote_title(quote_title(object.real_title)) - unquoted_name = unquote_title(object.name) - if unquoted_name <> unquoted_title: - print object.href - print unquoted_name - print unquoted_title - print - else: - print object.href - print object.name - print "NO REAL TITLE!!!" - print - - - if report_stats: - print objects, "objects passed" +def run(): + from getopt import getopt + optlist, args = getopt(sys.argv[1:], "s") + + report_stats = 1 + + for _opt, _arg in optlist: + if _opt == '-s': + report_stats = 0 + try: + del _opt, _arg + except NameError: + pass + + if report_stats: + print("Broytman check_title, Copyright (C) 2002-2023 PhiloSoft Design") + + if args: + sys.stderr.write("check_title: too many arguments\n") + sys.stderr.write("Usage: check_title [-s]\n") + sys.exit(1) + + from storage import storage + storage = storage() + + if report_stats: + sys.stdout.write("Loading %s: " % storage.filename) + sys.stdout.flush() + + root_folder = storage.load() + make_linear(root_folder) + objects = len(root_folder.linear) + + if report_stats: + print("Ok") + + for object_no in range(objects): + object = root_folder.linear[object_no] + + if object.isBookmark: + if hasattr(object, "moved") or hasattr(object, "error") or \ + object.href.startswith('place:'): # Firefox SmartBookmarks + continue + + if hasattr(object, "real_title") \ + and (object.real_title is not None): + unquoted_title = unquote_title(quote_title(object.real_title)) + unquoted_name = unquote_title(object.name) + if unquoted_name != unquoted_title: + print(object.href) + print(unquoted_name) + print(unquoted_title) + print() + else: + print(object.href) + print(object.name) + print("NO REAL TITLE!!!") + print() + + if report_stats: + print(objects, "objects passed") if __name__ == '__main__': - run() + run()