-
- 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:], "sl:")
+
+ 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
+
+ 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] [-l logfile]\n")
+ sys.exit(1)
+
+ if log_filename:
+ log_file = open(log_filename, 'wt', encoding='utf-8')
+
+ 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")
+
+ changed_titles = no_titles = 0
+ 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:
+ report_title(object.href, unquoted_name, unquoted_title)
+ changed_titles += 1
+ else:
+ report_title(object.href, object.name, None)
+ no_titles += 1
+
+ if report_stats:
+ print(objects, "objects passed")
+ print(changed_titles, "changed titles")
+ print(no_titles, "no titles")