bin/check-implementer-notes.py       |    6 
 bin/find-mergedlib-can-be-private.py |  265 +++++++++++++++++++++++------------
 bin/flat-odf-cleanup.py              |   10 -
 bin/lint-ui.py                       |    8 -
 bin/refcount_leak.py                 |    2 
 5 files changed, 191 insertions(+), 100 deletions(-)

New commits:
commit 5fc6ef5990fa66982a3803916f32f7aa8d7f9692
Author:     Ilmari Lauhakangas <[email protected]>
AuthorDate: Thu Jul 25 14:25:42 2024 +0300
Commit:     Ilmari Lauhakangas <[email protected]>
CommitDate: Thu Jul 25 15:16:44 2024 +0200

    bin: fix issues found by Ruff linter
    
    Change-Id: Ic81d21a90059f5db87543c8ce2abb8007f278f14
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171008
    Tested-by: Jenkins
    Reviewed-by: Ilmari Lauhakangas <[email protected]>
    Tested-by: Ilmari Lauhakangas <[email protected]>

diff --git a/bin/check-implementer-notes.py b/bin/check-implementer-notes.py
index e637563d2f86..24e4049ddeba 100755
--- a/bin/check-implementer-notes.py
+++ b/bin/check-implementer-notes.py
@@ -1,6 +1,10 @@
 #!/usr/bin/env python
 
-import json, re, subprocess, sys, urllib3
+import json
+import re
+import subprocess
+import sys
+import urllib3
 
 http = urllib3.PoolManager()
 
diff --git a/bin/find-mergedlib-can-be-private.py 
b/bin/find-mergedlib-can-be-private.py
index bab145839571..243e19374d8a 100755
--- a/bin/find-mergedlib-can-be-private.py
+++ b/bin/find-mergedlib-can-be-private.py
@@ -7,7 +7,6 @@
 
 import subprocess
 import re
-import multiprocessing
 
 exported_symbols1 = set()
 imported_symbols1 = set()
@@ -46,7 +45,8 @@ with subprocess_find.stdout as txt:
             # 0000000000000000      DF *UND*  0000000000000000     
_ZN16FilterConfigItem10WriteInt32ERKN3rtl8OUStringEi
             for line2_bytes in txt2:
                 line2 = line2_bytes.strip().decode("utf-8")
-                if "*UND*" not in line2: continue
+                if "*UND*" not in line2:
+                    continue
                 tokens = line2.split(" ")
                 sym = tokens[len(tokens)-1].strip()
                 imported_symbols1.add(sym)
@@ -76,18 +76,24 @@ progress = 0
 progress_max_len = len(imported_symbols1) + len(exported_symbols1)
 for sym in imported_symbols1:
     progress += 1
-    if (progress % 128 == 0): print( str(int(progress * 100 / 
progress_max_len)) + "%")
+    if (progress % 128 == 0):
+        print( str(int(progress * 100 / progress_max_len)) + "%")
     filtered_sym = subprocess.check_output(["c++filt", 
sym]).strip().decode("utf-8")
-    if filtered_sym.startswith("non-virtual thunk to "): filtered_sym = 
filtered_sym[21:]
-    elif filtered_sym.startswith("virtual thunk to "): filtered_sym = 
filtered_sym[17:]
+    if filtered_sym.startswith("non-virtual thunk to "):
+        filtered_sym = filtered_sym[21:]
+    elif filtered_sym.startswith("virtual thunk to "):
+        filtered_sym = filtered_sym[17:]
     imported_symbols2.add(filtered_sym)
 progress = 0
 for sym in exported_symbols1:
     progress += 1
-    if (progress % 128 == 0): print( str(int(progress * 100 / 
progress_max_len)) + "%")
+    if (progress % 128 == 0):
+        print( str(int(progress * 100 / progress_max_len)) + "%")
     filtered_sym = subprocess.check_output(["c++filt", 
sym]).strip().decode("utf-8")
-    if filtered_sym.startswith("non-virtual thunk to "): filtered_sym = 
filtered_sym[21:]
-    elif filtered_sym.startswith("virtual thunk to "): filtered_sym = 
filtered_sym[17:]
+    if filtered_sym.startswith("non-virtual thunk to "):
+        filtered_sym = filtered_sym[21:]
+    elif filtered_sym.startswith("virtual thunk to "):
+        filtered_sym = filtered_sym[17:]
     exported_symbols2.add(filtered_sym)
 
 
@@ -100,7 +106,8 @@ print("unused_exports = " + str(len(unused_exports)))
 can_be_hidden_count = dict()
 for sym in exported_symbols2:
     i = sym.rfind("::")
-    if i == -1: continue
+    if i == -1:
+        continue
     clz = sym[:i]
     if clz in can_be_hidden_count:
         can_be_hidden_count[clz] = can_be_hidden_count[clz] + 1
@@ -108,7 +115,8 @@ for sym in exported_symbols2:
         can_be_hidden_count[clz] = 1
 for sym in imported_symbols2:
     i = sym.rfind("::")
-    if i == -1: continue
+    if i == -1:
+        continue
     clz = sym[:i]
     if clz in can_be_hidden_count:
         can_be_hidden_count[clz] = can_be_hidden_count[clz] - 1
@@ -123,7 +131,8 @@ for clz in can_be_hidden_count:
 can_be_hidden_list.sort(reverse=True)
 with open("bin/find-mergedlib-can-be-private-symbols.classes.results", "wt") 
as f:
     for i in can_be_hidden_list:
-        if i[0] < 10: break
+        if i[0] < 10:
+            break
         f.write(str(i[0]) + " " + i[1] + "
")
 
 
@@ -131,85 +140,163 @@ with 
open("bin/find-mergedlib-can-be-private-symbols.functions.results", "wt") a
     for sym in sorted(unused_exports):
         # Filter out most of the noise.
         # No idea where these are coming from, but not our code.
-        if sym.startswith("CERT_"): continue
-        elif sym.startswith("DER_"): continue
-        elif sym.startswith("FORM_"): continue
-        elif sym.startswith("FPDF"): continue
-        elif sym.startswith("HASH_"): continue
-        elif sym.startswith("Hunspell_"): continue
-        elif sym.startswith("LL_"): continue
-        elif sym.startswith("LP_"): continue
-        elif sym.startswith("LU"): continue
-        elif sym.startswith("MIP"): continue
-        elif sym.startswith("MPS"): continue
-        elif sym.startswith("NSS"): continue
-        elif sym.startswith("NSC_"): continue
-        elif sym.startswith("PK11"): continue
-        elif sym.startswith("PL_"): continue
-        elif sym.startswith("PQ"): continue
-        elif sym.startswith("PBE_"): continue
-        elif sym.startswith("PORT_"): continue
-        elif sym.startswith("PRP_"): continue
-        elif sym.startswith("PR_"): continue
-        elif sym.startswith("PT_"): continue
-        elif sym.startswith("QS_"): continue
-        elif sym.startswith("REPORT_"): continue
-        elif sym.startswith("RSA_"): continue
-        elif sym.startswith("SEC"): continue
-        elif sym.startswith("SGN"): continue
-        elif sym.startswith("SOS"): continue
-        elif sym.startswith("SSL_"): continue
-        elif sym.startswith("VFY_"): continue
-        elif sym.startswith("_PR_"): continue
-        elif sym.startswith("ber_"): continue
-        elif sym.startswith("bfp_"): continue
-        elif sym.startswith("ldap_"): continue
-        elif sym.startswith("ne_"): continue
-        elif sym.startswith("opj_"): continue
-        elif sym.startswith("pg_"): continue
-        elif sym.startswith("pq"): continue
-        elif sym.startswith("presolve_"): continue
-        elif sym.startswith("sqlite3_"): continue
-        elif sym.startswith("libepubgen::"): continue
-        elif sym.startswith("lucene::"): continue
-        elif sym.startswith("Hunspell::"): continue
-        elif sym.startswith("sk_"): continue
-        elif sym.startswith("_Z"): continue
+        if sym.startswith("CERT_"):
+            continue
+        elif sym.startswith("DER_"):
+            continue
+        elif sym.startswith("FORM_"):
+            continue
+        elif sym.startswith("FPDF"):
+            continue
+        elif sym.startswith("HASH_"):
+            continue
+        elif sym.startswith("Hunspell_"):
+            continue
+        elif sym.startswith("LL_"):
+            continue
+        elif sym.startswith("LP_"):
+            continue
+        elif sym.startswith("LU"):
+            continue
+        elif sym.startswith("MIP"):
+            continue
+        elif sym.startswith("MPS"):
+            continue
+        elif sym.startswith("NSS"):
+            continue
+        elif sym.startswith("NSC_"):
+            continue
+        elif sym.startswith("PK11"):
+            continue
+        elif sym.startswith("PL_"):
+            continue
+        elif sym.startswith("PQ"):
+            continue
+        elif sym.startswith("PBE_"):
+            continue
+        elif sym.startswith("PORT_"):
+            continue
+        elif sym.startswith("PRP_"):
+            continue
+        elif sym.startswith("PR_"):
+            continue
+        elif sym.startswith("PT_"):
+            continue
+        elif sym.startswith("QS_"):
+            continue
+        elif sym.startswith("REPORT_"):
+            continue
+        elif sym.startswith("RSA_"):
+            continue
+        elif sym.startswith("SEC"):
+            continue
+        elif sym.startswith("SGN"):
+            continue
+        elif sym.startswith("SOS"):
+            continue
+        elif sym.startswith("SSL_"):
+            continue
+        elif sym.startswith("VFY_"):
+            continue
+        elif sym.startswith("_PR_"):
+            continue
+        elif sym.startswith("ber_"):
+            continue
+        elif sym.startswith("bfp_"):
+            continue
+        elif sym.startswith("ldap_"):
+            continue
+        elif sym.startswith("ne_"):
+            continue
+        elif sym.startswith("opj_"):
+            continue
+        elif sym.startswith("pg_"):
+            continue
+        elif sym.startswith("pq"):
+            continue
+        elif sym.startswith("presolve_"):
+            continue
+        elif sym.startswith("sqlite3_"):
+            continue
+        elif sym.startswith("libepubgen::"):
+            continue
+        elif sym.startswith("lucene::"):
+            continue
+        elif sym.startswith("Hunspell::"):
+            continue
+        elif sym.startswith("sk_"):
+            continue
+        elif sym.startswith("_Z"):
+            continue
         # dynamically loaded
-        elif sym.endswith("get_implementation"): continue
-        elif sym.endswith("component_getFactory"): continue
-        elif sym == "CreateUnoWrapper": continue
-        elif sym == "ExportDOC": continue
-        elif sym == "ExportRTF": continue
-        elif sym == "GetSaveWarningOfMSVBAStorage_ww8": continue
-        elif sym == "GetSpecialCharsForEdit": continue
-        elif sym.startswith("Import"): continue
-        elif sym.startswith("Java_com_sun_star_"): continue
-        elif sym.startswith("TestImport"): continue
-        elif sym.startswith("getAllCalendars_"): continue
-        elif sym.startswith("getAllCurrencies_"): continue
-        elif sym.startswith("getAllFormats"): continue
-        elif sym.startswith("getBreakIteratorRules_"): continue
-        elif sym.startswith("getCollationOptions_"): continue
-        elif sym.startswith("getCollatorImplementation_"): continue
-        elif sym.startswith("getContinuousNumberingLevels_"): continue
-        elif sym.startswith("getDateAcceptancePatterns_"): continue
-        elif sym.startswith("getForbiddenCharacters_"): continue
-        elif sym.startswith("getIndexAlgorithm_"): continue
-        elif sym.startswith("getLCInfo_"): continue
-        elif sym.startswith("getLocaleItem_"): continue
-        elif sym.startswith("getOutlineNumberingLevels_"): continue
-        elif sym.startswith("getReservedWords_"): continue
-        elif sym.startswith("getSTC_"): continue
-        elif sym.startswith("getSearchOptions_"): continue
-        elif sym.startswith("getTransliterations_"): continue
-        elif sym.startswith("getUnicodeScripts_"): continue
-        elif sym.startswith("lok_"): continue
+        elif sym.endswith("get_implementation"):
+            continue
+        elif sym.endswith("component_getFactory"):
+            continue
+        elif sym == "CreateUnoWrapper":
+            continue
+        elif sym == "ExportDOC":
+            continue
+        elif sym == "ExportRTF":
+            continue
+        elif sym == "GetSaveWarningOfMSVBAStorage_ww8":
+            continue
+        elif sym == "GetSpecialCharsForEdit":
+            continue
+        elif sym.startswith("Import"):
+            continue
+        elif sym.startswith("Java_com_sun_star_"):
+            continue
+        elif sym.startswith("TestImport"):
+            continue
+        elif sym.startswith("getAllCalendars_"):
+            continue
+        elif sym.startswith("getAllCurrencies_"):
+            continue
+        elif sym.startswith("getAllFormats"):
+            continue
+        elif sym.startswith("getBreakIteratorRules_"):
+            continue
+        elif sym.startswith("getCollationOptions_"):
+            continue
+        elif sym.startswith("getCollatorImplementation_"):
+            continue
+        elif sym.startswith("getContinuousNumberingLevels_"):
+            continue
+        elif sym.startswith("getDateAcceptancePatterns_"):
+            continue
+        elif sym.startswith("getForbiddenCharacters_"):
+            continue
+        elif sym.startswith("getIndexAlgorithm_"):
+            continue
+        elif sym.startswith("getLCInfo_"):
+            continue
+        elif sym.startswith("getLocaleItem_"):
+            continue
+        elif sym.startswith("getOutlineNumberingLevels_"):
+            continue
+        elif sym.startswith("getReservedWords_"):
+            continue
+        elif sym.startswith("getSTC_"):
+            continue
+        elif sym.startswith("getSearchOptions_"):
+            continue
+        elif sym.startswith("getTransliterations_"):
+            continue
+        elif sym.startswith("getUnicodeScripts_"):
+            continue
+        elif sym.startswith("lok_"):
+            continue
         # UDK API
-        elif sym.startswith("osl_"): continue
-        elif sym.startswith("rtl_"): continue
-        elif sym.startswith("typelib_"): continue
-        elif sym.startswith("typereg_"): continue
-        elif sym.startswith("uno_"): continue
+        elif sym.startswith("osl_"):
+            continue
+        elif sym.startswith("rtl_"):
+            continue
+        elif sym.startswith("typelib_"):
+            continue
+        elif sym.startswith("typereg_"):
+            continue
+        elif sym.startswith("uno_"):
+            continue
         f.write(sym + "
")
 
diff --git a/bin/flat-odf-cleanup.py b/bin/flat-odf-cleanup.py
index 1a1bf18024b7..d29f852cb9b0 100644
--- a/bin/flat-odf-cleanup.py
+++ b/bin/flat-odf-cleanup.py
@@ -71,7 +71,7 @@ def add_parent_styles(usedstyles, styles):
 def remove_unused_styles(root, usedstyles, styles, name):
     for style in styles:
         
print(style.get("{urn:oasis:names:tc:opendocument:xmlns:style:1.0}name"))
-        if 
not(style.get("{urn:oasis:names:tc:opendocument:xmlns:style:1.0}name") in 
usedstyles):
+        if style.get("{urn:oasis:names:tc:opendocument:xmlns:style:1.0}name") 
not in usedstyles:
             print("removing unused " + name + " " + 
style.get("{urn:oasis:names:tc:opendocument:xmlns:style:1.0}name"))
             # it is really dumb that there is no parent pointer in dom
             try:
@@ -82,7 +82,7 @@ def remove_unused_styles(root, usedstyles, styles, name):
 def remove_unused_drawings(root, useddrawings, drawings, name):
     for drawing in drawings:
         
print(drawing.get("{urn:oasis:names:tc:opendocument:xmlns:drawing:1.0}name"))
-        if 
not(drawing.get("{urn:oasis:names:tc:opendocument:xmlns:drawing:1.0}name") in 
useddrawings):
+        if 
drawing.get("{urn:oasis:names:tc:opendocument:xmlns:drawing:1.0}name") not in 
useddrawings:
             print("removing unused " + name + " " + 
drawing.get("{urn:oasis:names:tc:opendocument:xmlns:drawing:1.0}name"))
             
root.find(".//{urn:oasis:names:tc:opendocument:xmlns:office:1.0}styles").remove(drawing)
 
@@ -132,7 +132,7 @@ def remove_unused(root):
                     
usedmasterpages.add(mp.get("{urn:oasis:names:tc:opendocument:xmlns:style:1.0}next-style-name"))
     # remove unused masterpages
     for mp in 
root.findall(".//{urn:oasis:names:tc:opendocument:xmlns:style:1.0}master-page"):
-        if not(mp.get("{urn:oasis:names:tc:opendocument:xmlns:style:1.0}name") 
in usedmasterpages):
+        if mp.get("{urn:oasis:names:tc:opendocument:xmlns:style:1.0}name") not 
in usedmasterpages:
             print("removing unused master page " + 
mp.get("{urn:oasis:names:tc:opendocument:xmlns:style:1.0}name"))
             # there is no way to get the parent element???
             
root.find(".//{urn:oasis:names:tc:opendocument:xmlns:office:1.0}master-styles").remove(mp)
@@ -370,7 +370,7 @@ def remove_unused(root):
     collect_all_attribute(usedfonts, 
"{urn:oasis:names:tc:opendocument:xmlns:style:1.0}font-name-complex")
     fonts = 
root.findall(".//{urn:oasis:names:tc:opendocument:xmlns:style:1.0}font-face")
     for font in fonts:
-        if 
not(font.get("{urn:oasis:names:tc:opendocument:xmlns:style:1.0}name") in 
usedfonts):
+        if font.get("{urn:oasis:names:tc:opendocument:xmlns:style:1.0}name") 
not in usedfonts:
             print("removing unused font-face " + 
font.get("{urn:oasis:names:tc:opendocument:xmlns:style:1.0}name"))
             
root.find(".//{urn:oasis:names:tc:opendocument:xmlns:office:1.0}font-face-decls").remove(font)
 
@@ -393,7 +393,7 @@ def remove_unused(root):
     for field in 
root.findall(".//{urn:oasis:names:tc:opendocument:xmlns:text:1.0}user-field-input"):
         
useduserfields.add(field.get("{urn:oasis:names:tc:opendocument:xmlns:text:1.0}name"))
     for field in 
root.findall(".//{urn:oasis:names:tc:opendocument:xmlns:text:1.0}user-field-decl"):
-        if 
not(field.get("{urn:oasis:names:tc:opendocument:xmlns:text:1.0}name") in 
useduserfields):
+        if field.get("{urn:oasis:names:tc:opendocument:xmlns:text:1.0}name") 
not in useduserfields:
             print("removing unused user-field-decl " + 
field.get("{urn:oasis:names:tc:opendocument:xmlns:text:1.0}name"))
             
root.find(".//{urn:oasis:names:tc:opendocument:xmlns:text:1.0}user-field-decls").remove(field)
 
diff --git a/bin/lint-ui.py b/bin/lint-ui.py
index c04eba63bb76..bc7be8ea4315 100755
--- a/bin/lint-ui.py
+++ b/bin/lint-ui.py
@@ -10,11 +10,11 @@
 # a consistent look for dialogs
 
 import sys
+import xml.etree.ElementTree as ET
+import re
 # Force python XML parser not faster C accelerators
 # because we can't hook the C implementation
 sys.modules['_elementtree'] = None
-import xml.etree.ElementTree as ET
-import re
 
 DEFAULT_WARNING_STR = 'Lint assertion failed'
 
@@ -51,7 +51,7 @@ class LineNumberingParser(ET.XMLParser):
 
 def lint_assert(predicate, warning=DEFAULT_WARNING_STR, node=None):
     if not predicate:
-        if not(node is None):
+        if node is not None:
             print(sys.argv[1] + ":" + str(node._start_line_number) + ": " + 
warning)
         else:
             print(sys.argv[1] + ": " + warning)
@@ -59,7 +59,7 @@ def lint_assert(predicate, warning=DEFAULT_WARNING_STR, 
node=None):
 def check_top_level_widget(element):
     # check widget type
     widget_type = element.attrib['class']
-    if not(widget_type in POSSIBLE_TOP_LEVEL_WIDGETS):
+    if widget_type not in POSSIBLE_TOP_LEVEL_WIDGETS:
         return
 
     # check border_width property
diff --git a/bin/refcount_leak.py b/bin/refcount_leak.py
index d0b8cd502f7c..94ae2c42adb9 100755
--- a/bin/refcount_leak.py
+++ b/bin/refcount_leak.py
@@ -64,7 +64,7 @@ class Trace:
         self.clock = Trace.clock
 
 def addTrace(traces, lines):
-    if not(traces is None) and len(lines) > 0:
+    if traces is not None and len(lines) > 0:
         traces.append(Trace(lines))
 
 def readGdbLog(infile):

Reply via email to