♻️ Refactor and corretly type 'locations'

'locations' was inconsistently either a list or tuple of strings
This commit is contained in:
Renato Alves
2024-04-07 20:35:53 +02:00
parent 3f1a6dce63
commit c5fcdbc0cb

View File

@@ -207,7 +207,7 @@ class JsonCredentials(Credentials):
LOG.info(f"Skipped record {i} due to missing fields") LOG.info(f"Skipped record {i} due to missing fields")
def find_nss(locations, nssname) -> ct.CDLL: def find_nss(locations: list[str], nssname: str) -> ct.CDLL:
"""Locate nss is one of the many possible locations""" """Locate nss is one of the many possible locations"""
fail_errors: list[tuple[str, str]] = [] fail_errors: list[tuple[str, str]] = []
@@ -278,9 +278,23 @@ def find_nss(locations, nssname) -> ct.CDLL:
def load_libnss(): def load_libnss():
"""Load libnss into python using the CDLL interface""" """Load libnss into python using the CDLL interface"""
locations: list[str] = []
if SYSTEM == "Windows": if SYSTEM == "Windows":
nssname = "nss3.dll" nssname = "nss3.dll"
locations: list[str] = [ if not SYS64:
locations += [
"", # Current directory or system lib finder
"C:\\Program Files (x86)\\Mozilla Firefox",
"C:\\Program Files (x86)\\Firefox Developer Edition",
"C:\\Program Files (x86)\\Mozilla Thunderbird",
"C:\\Program Files (x86)\\Nightly",
"C:\\Program Files (x86)\\SeaMonkey",
"C:\\Program Files (x86)\\Waterfox",
]
locations += [
"", # Current directory or system lib finder "", # Current directory or system lib finder
os.path.expanduser("~\\AppData\\Local\\Mozilla Firefox"), os.path.expanduser("~\\AppData\\Local\\Mozilla Firefox"),
os.path.expanduser("~\\AppData\\Local\\Firefox Developer Edition"), os.path.expanduser("~\\AppData\\Local\\Firefox Developer Edition"),
@@ -295,16 +309,6 @@ def load_libnss():
"C:\\Program Files\\SeaMonkey", "C:\\Program Files\\SeaMonkey",
"C:\\Program Files\\Waterfox", "C:\\Program Files\\Waterfox",
] ]
if not SYS64:
locations = [
"", # Current directory or system lib finder
"C:\\Program Files (x86)\\Mozilla Firefox",
"C:\\Program Files (x86)\\Firefox Developer Edition",
"C:\\Program Files (x86)\\Mozilla Thunderbird",
"C:\\Program Files (x86)\\Nightly",
"C:\\Program Files (x86)\\SeaMonkey",
"C:\\Program Files (x86)\\Waterfox",
] + locations
# If either of the supported software is in PATH try to use it # If either of the supported software is in PATH try to use it
software = ["firefox", "thunderbird", "waterfox", "seamonkey"] software = ["firefox", "thunderbird", "waterfox", "seamonkey"]
@@ -316,7 +320,7 @@ def load_libnss():
elif SYSTEM == "Darwin": elif SYSTEM == "Darwin":
nssname = "libnss3.dylib" nssname = "libnss3.dylib"
locations = ( locations += [
"", # Current directory or system lib finder "", # Current directory or system lib finder
"/usr/local/lib/nss", "/usr/local/lib/nss",
"/usr/local/lib", "/usr/local/lib",
@@ -329,12 +333,12 @@ def load_libnss():
"/Applications/Thunderbird.app/Contents/MacOS", "/Applications/Thunderbird.app/Contents/MacOS",
"/Applications/SeaMonkey.app/Contents/MacOS", "/Applications/SeaMonkey.app/Contents/MacOS",
"/Applications/Waterfox.app/Contents/MacOS", "/Applications/Waterfox.app/Contents/MacOS",
) ]
else: else:
nssname = "libnss3.so" nssname = "libnss3.so"
if SYS64: if SYS64:
locations = ( locations += [
"", # Current directory or system lib finder "", # Current directory or system lib finder
"/usr/lib64", "/usr/lib64",
"/usr/lib64/nss", "/usr/lib64/nss",
@@ -345,9 +349,9 @@ def load_libnss():
"/opt/local/lib", "/opt/local/lib",
"/opt/local/lib/nss", "/opt/local/lib/nss",
os.path.expanduser("~/.nix-profile/lib"), os.path.expanduser("~/.nix-profile/lib"),
) ]
else: else:
locations = ( locations += [
"", # Current directory or system lib finder "", # Current directory or system lib finder
"/usr/lib", "/usr/lib",
"/usr/lib/nss", "/usr/lib/nss",
@@ -360,7 +364,7 @@ def load_libnss():
"/opt/local/lib", "/opt/local/lib",
"/opt/local/lib/nss", "/opt/local/lib/nss",
os.path.expanduser("~/.nix-profile/lib"), os.path.expanduser("~/.nix-profile/lib"),
) ]
# If this succeeds libnss was loaded # If this succeeds libnss was loaded
return find_nss(locations, nssname) return find_nss(locations, nssname)