#! /usr/bin/env python
-"""
- Check and show URLs in the bookmarks database where name <> real title
+"""Check and show URLs in the bookmarks database where name != real title
- Written by Broytman. Copyright (C) 2002-2010 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
+__author__ = "Oleg Broytman <phd@phdru.name>"
+__copyright__ = "Copyright (C) 2002-2023 PhiloSoft Design"
+__license__ = "GNU GPL"
+
+
def run():
- from getopt import getopt
- optlist, args = getopt(sys.argv[1:], "s")
+ from getopt import getopt
+ optlist, args = getopt(sys.argv[1:], "s")
- report_stats = 1
+ report_stats = 1
- for _opt, _arg in optlist:
- if _opt == '-s':
- report_stats = 0
- try:
- del _opt, _arg
- except NameError:
- pass
+ 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-2010 PhiloSoft Design"
+ 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)
+ 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()
+ from storage import storage
+ storage = storage()
- if report_stats:
- sys.stdout.write("Loading %s: " % storage.filename)
- sys.stdout.flush()
+ 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)
+ root_folder = storage.load()
+ make_linear(root_folder)
+ objects = len(root_folder.linear)
- if report_stats:
- print "Ok"
+ if report_stats:
+ print("Ok")
- for object_no in range(objects):
- object = root_folder.linear[object_no]
+ 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 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 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 report_stats:
+ print(objects, "objects passed")
if __name__ == '__main__':
- run()
+ run()