]> git.phdru.name Git - bookmarks_db.git/blobdiff - check_title.py
Feat(Python3): Use print() function
[bookmarks_db.git] / check_title.py
index 802212052032e436316ac09692a14a8db3737fd4..c93964f986cd473a9c4d23c8b42b1b49d15db846 100755 (executable)
@@ -1,12 +1,17 @@
 #! /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 BroytMann, Jul 2002 - Aug 2002. Copyright (C) 2002 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-2017 PhiloSoft Design"
+__license__ = "GNU GPL"
 
 
 def run():
@@ -24,7 +29,7 @@ def run():
       pass
 
    if report_stats:
-      print "BroytMann check_title, Copyright (C) 2002 PhiloSoft Design"
+      print("Broytman check_title, Copyright (C) 2002-2017 PhiloSoft Design")
 
    if args:
       sys.stderr.write("check_title: too many arguments\n")
@@ -39,36 +44,38 @@ def run():
       sys.stdout.flush()
 
    root_folder = storage.load()
-   from bkmk_objects import make_linear
    make_linear(root_folder)
    objects = len(root_folder.linear)
 
    if report_stats:
-      print "Ok"
+      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"):
+         if hasattr(object, "moved") or hasattr(object, "error") \
+               or object.href.startswith('place:'): # Firefox SmartBookmarks
             continue
 
-         if hasattr(object, "real_title"):
-            if object.name <> object.real_title:
-               print object.href
-               print object.name
-               print object.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
+            print(object.href)
+            print(object.name)
+            print("NO REAL TITLE!!!")
+            print()
 
 
    if report_stats:
-      print objects, "objects passed"
+      print(objects, "objects passed")
 
 
 if __name__ == '__main__':