]> git.phdru.name Git - bookmarks_db.git/commitdiff
Feat: Log reports to files
authorOleg Broytman <phd@phdru.name>
Tue, 14 Nov 2023 17:53:50 +0000 (20:53 +0300)
committerOleg Broytman <phd@phdru.name>
Tue, 14 Nov 2023 18:03:07 +0000 (21:03 +0300)
bkmk-chk
check_redirects.py
check_title.py

index 6a748e9e8ffaa67e1954f2f85c79299fe6063206..1a96108d175e28e7451ee0f9a5dedba447c9be0f 100755 (executable)
--- a/bkmk-chk
+++ b/bkmk-chk
@@ -23,8 +23,8 @@ check_urls.py -e &&
 # Report results
 BKMK_WRITER=flad db2bkmk.py &&
 check_dups.py -s -l bookmarks.err >/dev/null &&
-check_title.py > check_title.txt &&
-check_redirects.py > check_redirects.txt &&
+check_title.py -s -l check_title.txt &&
+check_redirects.py -s -l check_redirects.txt &&
 bkmk-sort &&
 
 # Write results to the bookmarks files
index 12c74d8e59ed9b8e4fdc06ef4baab39257a328cd..1f5c2b01137a53b05b725e204995a1996656bb41 100755 (executable)
@@ -14,15 +14,26 @@ __copyright__ = "Copyright (C) 2023 PhiloSoft Design"
 __license__ = "GNU GPL"
 
 
+def report_redirect(href, moved):
+    if log_file:
+        log_file.write("%s\n%s\n\n" % (href, moved))
+    else:
+        print("URL: %s\nMoved to: %s\n" % (href, moved))
+
+
 def run():
     from getopt import getopt
-    optlist, args = getopt(sys.argv[1:], "s")
+    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:
@@ -33,9 +44,12 @@ def run():
 
     if args:
         sys.stderr.write("check_redirects: too many arguments\n")
-        sys.stderr.write("Usage: check_redirects [-s]\n")
+        sys.stderr.write("Usage: check_redirects [-s] [-l logfile]\n")
         sys.exit(1)
 
+    if log_filename:
+        log_file = open(log_filename, 'wt')
+
     from storage import storage
     storage = storage()
 
@@ -59,9 +73,7 @@ def run():
                 continue
 
             if hasattr(object, "moved"):
-                print(object.href)
-                print(object.moved)
-                print()
+                report_redirect(object.href, object.moved)
                 del object.moved
 
     if report_stats:
index 5c0ed3f0ed4b7f9ae3982145803e284614871c9c..c30e025d25ffd2bd89b027ad31d35a3167afc9b8 100755 (executable)
@@ -14,15 +14,30 @@ __copyright__ = "Copyright (C) 2002-2023 PhiloSoft Design"
 __license__ = "GNU GPL"
 
 
+def report_title(href, title, real_title):
+    if real_title is None:
+        real_title = "NO REAL TITLE!!!"
+    s = "%s\n%s\n%s\n" % (href, title, real_title)
+
+    if log_file:
+        log_file.write("%s\n" % s)
+    else:
+        print(s)
+
+
 def run():
     from getopt import getopt
-    optlist, args = getopt(sys.argv[1:], "s")
+    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:
@@ -33,9 +48,12 @@ def run():
 
     if args:
         sys.stderr.write("check_title: too many arguments\n")
-        sys.stderr.write("Usage: check_title [-s]\n")
+        sys.stderr.write("Usage: check_title [-s] [-l logfile]\n")
         sys.exit(1)
 
+    if log_filename:
+        log_file = open(log_filename, 'wt')
+
     from storage import storage
     storage = storage()
 
@@ -63,15 +81,9 @@ def run():
                 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()
+                    report_title(object.href, unquoted_name unquoted_title)
             else:
-                print(object.href)
-                print(object.name)
-                print("NO REAL TITLE!!!")
-                print()
+                report_title(object.href, object.name, None)
 
     if report_stats:
         print(objects, "objects passed")