]> git.phdru.name Git - bookmarks_db.git/blobdiff - set-real_title.py
Version 3.3.1.
[bookmarks_db.git] / set-real_title.py
diff --git a/set-real_title.py b/set-real_title.py
new file mode 100755 (executable)
index 0000000..1115f31
--- /dev/null
@@ -0,0 +1,84 @@
+#! /usr/local/bin/python -O
+"""
+   Run through the bookmarks database and set name to real title
+
+   Written by BroytMann, Jul 2002 - Aug 2002. Copyright (C) 2002-2002 PhiloSoft Design
+"""
+
+
+import sys
+
+
+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 PhiloSoft Design"
+
+   if args:
+      sys.stderr.write("set-real_title: too many arguments\n")
+      sys.stderr.write("Usage: set-real_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()
+   from bkmk_objects import make_linear
+   make_linear(root_folder)
+   objects = len(root_folder.linear)
+
+   if report_stats:
+      print "Ok"
+
+
+   changed = 0
+   for object_no in range(objects):
+      object = root_folder.linear[object_no]
+
+      if object.isBookmark:
+         if not hasattr(object, "real_title"):
+            continue
+
+         real_title = object.real_title
+         if not real_title:
+            real_title = object.href
+         if object.name <> real_title:
+            object.name = real_title
+            changed += 1
+
+
+   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 changed:
+      storage.store(root_folder)
+
+   if changed and report_stats:
+      print "Ok"
+      print objects, "objects passed"
+      print changed, "objects changed"
+
+
+if __name__ == '__main__':
+   run()