]> git.phdru.name Git - bookmarks_db.git/blobdiff - convert_st.py
Fix(Robot): Stop splitting and un-splitting URLs
[bookmarks_db.git] / convert_st.py
index bba98e9a29f5ce2f21a7e81d8cf54cb65313727b..63d4a7f3bf1940b4e87eeac6f501490bf0bd6551 100755 (executable)
@@ -1,55 +1,61 @@
-#! /usr/local/bin/python -O
-"""
-   Convert a bkmk database to a different storage.
+#! /usr/bin/env python3
+"""Convert a bkmk database to a different storage.
 
-   Written by BroytMann, Apr 2000 - Aug 2002. Copyright (C) 2000-2002 PhiloSoft Design
+This file is a part of Bookmarks database and Internet robot.
 """
 
+__author__ = "Oleg Broytman <phd@phdru.name>"
+__copyright__ = "Copyright (C) 2000-2023 PhiloSoft Design"
+__license__ = "GNU GPL"
 
 import sys
 
 
 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 len(args) != 1:
+        sys.stderr.write("convert_st: too many or too few arguments\n")
+        sys.stderr.write("Usage: convert_st [-s] new_storage\n")
+        sys.exit(1)
 
-   if len(args) <> 1:
-      sys.stderr.write("convert_st: too many or too few arguments\n")
-      sys.stderr.write("Usage: convert_st [-s] new_storage\n")
-      sys.exit(1)
+    from bkmk_objects import parse_params, set_params
+    from storage import storage, import_storage
 
-   from storage import storage, import_storage
-   storage = storage()
+    storage = storage()
 
-   new_storage = import_storage(args[0])
-   new_storage = new_storage()
+    storage_name, storage_params = parse_params(args[0])
+    new_storage = import_storage(storage_name)
+    set_params(new_storage, storage_params)
+    new_storage = new_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()
+    root_folder = storage.load()
 
-   if report_stats:
-      print "Ok"
-      sys.stdout.write("Converting to %s: " % new_storage.filename)
-      sys.stdout.flush()
+    if report_stats:
+        print("Ok")
+        sys.stdout.write("Converting to %s: " % new_storage.filename)
+        sys.stdout.flush()
 
-   new_storage.store(root_folder)
+    new_storage.store(root_folder)
 
-   if report_stats:
-      print "Ok"
+    if report_stats:
+        print("Ok")
 
 
 if __name__ == '__main__':
-   run()
+    run()