commit:     a294c2540a728b7ae4f85a5d06d76a8f880b0367
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 30 16:38:21 2025 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Sun Mar 30 16:38:21 2025 +0000
URL:        https://gitweb.gentoo.org/proj/javatoolkit.git/commit/?id=a294c254

format python code with black

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 src/javatoolkit/classpath.py                    |  11 +-
 src/javatoolkit/cvv.py                          |  85 +++---
 src/javatoolkit/java/properties.py              |  39 ++-
 src/javatoolkit/maven/MavenPom.py               | 123 +++++----
 src/javatoolkit/maven/__init__.py               |   8 +-
 src/javatoolkit/output.py                       |   2 -
 src/javatoolkit/parser/__init__.py              |   2 +-
 src/javatoolkit/parser/buildproperties.py       |  13 +-
 src/javatoolkit/parser/helpers.py               |   6 +-
 src/javatoolkit/parser/manifest.py              |   9 +-
 src/javatoolkit/parser/parser.py                |   4 +-
 src/javatoolkit/parser/tree.py                  |  41 ++-
 src/javatoolkit/scripts/buildparser.py          |  62 +++--
 src/javatoolkit/scripts/class_version_verify.py |  39 +--
 src/javatoolkit/scripts/eclipse_build.py        | 130 ++++-----
 src/javatoolkit/scripts/findclass.py            |  44 +--
 src/javatoolkit/scripts/jarjarclean.py          |  28 +-
 src/javatoolkit/scripts/maven_helper.py         |  61 +++--
 src/test/test_cvv.py                            | 345 ++++++++++++++----------
 19 files changed, 620 insertions(+), 432 deletions(-)

diff --git a/src/javatoolkit/classpath.py b/src/javatoolkit/classpath.py
index fb801f2..6ec4973 100644
--- a/src/javatoolkit/classpath.py
+++ b/src/javatoolkit/classpath.py
@@ -6,6 +6,7 @@
 
 class ClasspathIter:
     """An iterator for the Classpath class, below."""
+
     def __init__(self, classpath):
         self._classpath = classpath
         self._index = 0
@@ -18,10 +19,11 @@ class ClasspathIter:
 
 
 class Classpath:
-    """A classpath object provides a collection interface to the elements of a 
: separated  path list. """
-    def __init__(self, classpath_string = None):
+    """A classpath object provides a collection interface to the elements of a 
: separated  path list."""
+
+    def __init__(self, classpath_string=None):
         if classpath_string != None:
-            cs = classpath_string.strip().strip("\"")
+            cs = classpath_string.strip().strip('"')
             self.classpath = cs.split(":")
         else:
             self.classpath = []
@@ -49,6 +51,3 @@ class Classpath:
     def append(self, element):
         """Appends an path to the classpath."""
         self.classpath.append(element)
-
-
-# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap:

diff --git a/src/javatoolkit/cvv.py b/src/javatoolkit/cvv.py
index cba3d0f..e9d22f7 100644
--- a/src/javatoolkit/cvv.py
+++ b/src/javatoolkit/cvv.py
@@ -17,7 +17,8 @@ class FileLoc:
 
 @dataclass(frozen=True)
 class JarLoc:
-    '''A file inside a jar archive'''
+    """A file inside a jar archive"""
+
     jar: FileLoc
     member: str
 
@@ -34,7 +35,8 @@ class ClassFile:
 
 @dataclass
 class BadMultireleaseManifest:
-    '''A multi-release jar but without `Multi-Release: true` in MANIFEST.MF'''
+    """A multi-release jar but without `Multi-Release: true` in MANIFEST.MF"""
+
     loc: JarLoc
     multiReleaseDirs: list[JarLoc]
 
@@ -48,7 +50,7 @@ class SkippedVersionDir:
 @dataclass
 class SkippedModuleInfo:
     loc: Loc
-    reason: str = 'A module-info requires java release >= 9'
+    reason: str = "A module-info requires java release >= 9"
 
 
 GoodFile = ClassFile
@@ -59,7 +61,7 @@ SkippedFile = SkippedVersionDir | SkippedModuleInfo
 class CVVMagic:
     def __init__(self, target: str) -> None:
         # this is a number 8 9 10 11 etc, not including 1.
-        if '.' in target:
+        if "." in target:
             self.target = int(target.split(".")[-1])
         else:
             self.target = int(target)
@@ -67,7 +69,9 @@ class CVVMagic:
         self.bad: list[BadFile] = []
         self.skipped: list[SkippedFile] = []
 
-    def add(self, version: int, loc: Loc, target_version: T.Optional[int] = 
None) -> None:
+    def add(
+        self, version: int, loc: Loc, target_version: T.Optional[int] = None
+    ) -> None:
         if target_version is None:
             target_version = self.target
 
@@ -78,7 +82,8 @@ class CVVMagic:
         cf = ClassFile(
             loc,
             encoded_version=self.__format_version(version),
-            expected_version=self.__format_version(target_version))
+            expected_version=self.__format_version(target_version),
+        )
 
         if version <= target_version:
             self.__on_good(cf)
@@ -95,42 +100,45 @@ class CVVMagic:
 
         is_multirelease = False
         try:
-            manifest = jar.open('META-INF/MANIFEST.MF', 'r')
+            manifest = jar.open("META-INF/MANIFEST.MF", "r")
         except KeyError:
             pass
         else:
             with manifest:
+
                 def decode_line(line: bytes) -> str:
                     # The Manifest spec requires that the file is utf-8 
encoded.
                     # Unfortunately, stuff like the maven-jar-plugin can 
generate
                     # an invalid manifest when it blindly copies the author 
name
-                    return line.decode('utf-8', 'replace').rstrip('\r\n')
+                    return line.decode("utf-8", "replace").rstrip("\r\n")
+
                 lines = [decode_line(line) for line in manifest.readlines()]
-                is_multirelease = 'Multi-Release: true' in lines
+                is_multirelease = "Multi-Release: true" in lines
 
         invalid_version_dirs: set[str] = set()
         seen_skipped_dirs: set[str] = set()
         for path in jar.namelist():
-            if not path.endswith('class'):
+            if not path.endswith("class"):
                 continue
 
             loc = jar_loc(path)
 
-            with jar.open(path, 'r') as class_file:
+            with jar.open(path, "r") as class_file:
                 target_version = None
                 match self.__get_multirelease_target_version(path):
                     case int(tv):
                         if is_multirelease:
                             target_version = tv
                         else:
-                            version_dir = path.split('/', 3)[:3]
-                            invalid_version_dirs.add('/'.join(version_dir))
+                            version_dir = path.split("/", 3)[:3]
+                            invalid_version_dirs.add("/".join(version_dir))
                             continue
                     case (ver_dir, reason):
                         if ver_dir not in seen_skipped_dirs:
                             seen_skipped_dirs.add(ver_dir)
-                            self.__on_skipped(SkippedVersionDir(
-                                jar_loc(ver_dir), reason))
+                            self.__on_skipped(
+                                SkippedVersionDir(jar_loc(ver_dir), reason)
+                            )
                         continue
                     case None:
                         pass
@@ -139,59 +147,68 @@ class CVVMagic:
                 self.add(version, loc, target_version)
 
         if len(invalid_version_dirs):
-            self.__on_bad(BadMultireleaseManifest(
-                jar_loc('META-INF/MANIFEST.MF'),
-                [jar_loc(d) for d in sorted(invalid_version_dirs)]))
+            self.__on_bad(
+                BadMultireleaseManifest(
+                    jar_loc("META-INF/MANIFEST.MF"),
+                    [jar_loc(d) for d in sorted(invalid_version_dirs)],
+                )
+            )
 
     def do(self, filename: str) -> None:
         if not os.path.islink(filename):
             if filename.endswith(".class"):
-                with open(filename, 'rb') as class_file:
+                with open(filename, "rb") as class_file:
                     self.do_class(class_file, FileLoc(filename))
             if filename.endswith(".jar"):
-                with ZipFile(filename, 'r') as jar:
+                with ZipFile(filename, "r") as jar:
                     self.do_jar(jar, FileLoc(filename))
 
     @classmethod
     def __extract_version(cls, file: T.IO[bytes]) -> int:
         data = file.read(8)
         if len(data) != 8:
-            raise ValueError(f'Need the first 8 bytes of a java .class file, 
got: {len(data)}')
+            raise ValueError(
+                f"Need the first 8 bytes of a java .class file, got: 
{len(data)}"
+            )
         # A .class file is encoded like (all big-endian):
         # u4 - magic
         # u2 - minor version
         # u2 - major version
-        result = unpack('>4x2xH', data)[0]
+        result = unpack(">4x2xH", data)[0]
         return result - 44
 
     @classmethod
-    def __get_multirelease_target_version(cls, path: str) -> int | None | 
tuple[str, str]:
-        '''Get the target verion of a possible multi-release class file
+    def __get_multirelease_target_version(
+        cls, path: str
+    ) -> int | None | tuple[str, str]:
+        """Get the target verion of a possible multi-release class file
 
         Returns:
         int target_version - If the path is under 
META-INF/versions/${target_version}
         None - If the path is not part of META-INF/versions
         (directory, reason) - The directory portion of `path` that should be 
ignored
-        '''
+        """
         result = None
 
-        parts = path.split('/', 3)
-        if len(parts) >= 3 and parts[:2] == ['META-INF', 'versions']:
+        parts = path.split("/", 3)
+        if len(parts) >= 3 and parts[:2] == ["META-INF", "versions"]:
             expected_version = parts[2]
             # 
https://docs.oracle.com/en/java/javase/23/docs/specs/jar/jar.html#multi-release-jar-files
             # If the version is not a number or < 9 it is ignored
 
-            ver_dir = '/'.join(parts[:3])
+            ver_dir = "/".join(parts[:3])
             reasonBase = f'The version directory "{expected_version}" '
             if not expected_version.isdecimal():
-                return (ver_dir, reasonBase + 'is not a number')
+                return (ver_dir, reasonBase + "is not a number")
             if (result := int(expected_version)) < 9:
-                return (ver_dir, reasonBase + 'is less than 9')
+                return (ver_dir, reasonBase + "is less than 9")
 
         return result
 
-    __module_info_jar_pattern = 
re.compile('(META-INF/versions/[1-9][0-9]*/)?module-info.class')
-    __module_info_file_pattern = re.compile('module-info.class')
+    __module_info_jar_pattern = re.compile(
+        "(META-INF/versions/[1-9][0-9]*/)?module-info.class"
+    )
+    __module_info_file_pattern = re.compile("module-info.class")
 
     @classmethod
     def __is_module_info(cls, filepath: Loc) -> bool:
@@ -205,7 +222,7 @@ class CVVMagic:
 
     @classmethod
     def __format_version(cls, version: int) -> str:
-        return f'1.{version}' if version < 9 else f'{version}'
+        return f"1.{version}" if version < 9 else f"{version}"
 
     def __on_good(self, goodFile: GoodFile) -> None:
         self.good.append(goodFile)
@@ -215,5 +232,3 @@ class CVVMagic:
 
     def __on_skipped(self, skippedFile: SkippedFile) -> None:
         self.skipped.append(skippedFile)
-
-# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap:

diff --git a/src/javatoolkit/java/properties.py 
b/src/javatoolkit/java/properties.py
index 7796d15..1fb829e 100644
--- a/src/javatoolkit/java/properties.py
+++ b/src/javatoolkit/java/properties.py
@@ -8,49 +8,46 @@ class PropertiesParser:
     Parse eclipse projects build.properties file.
     """
 
-    def __init__( self, file ):
+    def __init__(self, file):
         self.file = file
         self.config = {}
-        self.parse( file )
+        self.parse(file)
 
-    def parse( self, file ):
+    def parse(self, file):
         if not os.path.isfile(file):
             return
         if not os.access(file, os.R_OK):
             return
 
-        stream = open( file, 'r' )
+        stream = open(file, "r")
         line = stream.readline()
-        while line != '':
-            line = line.strip('\n')
+        while line != "":
+            line = line.strip("\n")
             line = line.strip()
-            if line.isspace() or line == '' or line.startswith('#'):
+            if line.isspace() or line == "" or line.startswith("#"):
                 line = stream.readline()
                 continue
 
-            index = line.find('=')
+            index = line.find("=")
             name = line[:index]
             name = name.strip()
-            value = line[index+1:]
+            value = line[index + 1 :]
 
-            while line.endswith('\\'):
+            while line.endswith("\\"):
                 line = stream.readline()
-                line = line.strip('\n')
+                line = line.strip("\n")
                 line = line.strip()
-                if line.isspace() or line == '' or line.startswith('#'):
+                if line.isspace() or line == "" or line.startswith("#"):
                     line = stream.readline()
                     break
-                value +=line
+                value += line
 
-            value = value.strip('\\')
+            value = value.strip("\\")
 
-            if value == '':
+            if value == "":
                 line = stream.readline()
                 continue
-            value = value.strip('\\\'\"').strip('\\').strip()
-            value = value.replace('\\', '')
-            self.config[name] = value.split(',')
+            value = value.strip("\\'\"").strip("\\").strip()
+            value = value.replace("\\", "")
+            self.config[name] = value.split(",")
             line = stream.readline()
-
-
-# vim:set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap :

diff --git a/src/javatoolkit/maven/MavenPom.py 
b/src/javatoolkit/maven/MavenPom.py
index 5bb01af..752b8f1 100644
--- a/src/javatoolkit/maven/MavenPom.py
+++ b/src/javatoolkit/maven/MavenPom.py
@@ -16,17 +16,17 @@
 # kiorky <[email protected]>
 # 08/05/2007 initial version
 
-import sys
 import io
 
+
 # either a very simplified representation of a maven pom
 # or a fully xml rewritten pom
 class MavenPom:
-    def __init__(self,cli_options = None):
-        self.group  = ''
-        self.artifact = ''
-        self.version = ''
-        self.name = ''
+    def __init__(self, cli_options=None):
+        self.group = ""
+        self.artifact = ""
+        self.version = ""
+        self.name = ""
         self.is_child = "false"
         self.dependencies = []
         self.buffer = io.StringIO()
@@ -34,8 +34,7 @@ class MavenPom:
         self.mydoc = None
         self.cli_options = cli_options
 
-
-    def getInfos(self,node):
+    def getInfos(self, node):
         for child_node in node.childNodes:
             if child_node.nodeType == child_node.ELEMENT_NODE:
                 if child_node.childNodes:
@@ -52,8 +51,7 @@ class MavenPom:
                         if child_node.nodeName == "name":
                             self.name = child_node.childNodes[0].nodeValue
 
-
-    def getDescription(self,mydoc,**kwargs):
+    def getDescription(self, mydoc, **kwargs):
         if mydoc:
             self.project = mydoc.getElementsByTagName("project")[0]
             # get inherited properties from parent pom if any
@@ -78,60 +76,72 @@ class MavenPom:
                             self.dependencies.append(dep)
 
             if self.cli_options.p_group:
-                self.__write("pom group:%s\n" % self.group )
+                self.__write("pom group:%s\n" % self.group)
 
             if self.cli_options.p_ischild:
-                self.__write("pom ischild:%s\n" % self.is_child )
+                self.__write("pom ischild:%s\n" % self.is_child)
 
             if self.cli_options.p_artifact:
-                self.__write("pom artifact:%s\n" % self.artifact )
+                self.__write("pom artifact:%s\n" % self.artifact)
 
             if self.cli_options.p_version:
-                self.__write("pom version:%s\n" % self.version )
+                self.__write("pom version:%s\n" % self.version)
 
             if self.cli_options.p_dep:
-                i=0
+                i = 0
                 for dependency in self.dependencies:
-                    i=i+1
-                    self.__write("%d:dep_group:%s\n" % (i,dependency.group) )
-                    self.__write("%d:dep_artifact:%s\n" % 
(i,dependency.artifact) )
-                    self.__write("%d:dep_version:%s\n" % 
(i,dependency.version) )
-
+                    i = i + 1
+                    self.__write("%d:dep_group:%s\n" % (i, dependency.group))
+                    self.__write("%d:dep_artifact:%s\n" % (i, 
dependency.artifact))
+                    self.__write("%d:dep_version:%s\n" % (i, 
dependency.version))
 
     def read(self):
         return self.buffer.getvalue()
 
-
-    def rewrite(self,xmldoc,**kwargs):
+    def rewrite(self, xmldoc, **kwargs):
         # desactivate all dependencies
-        dependencies_root = ( xmldoc.getElementsByTagName("dependencies") or 
[] )
+        dependencies_root = xmldoc.getElementsByTagName("dependencies") or []
         for node in dependencies_root:
-            copylist_child_Nodes =list(node.childNodes)
+            copylist_child_Nodes = list(node.childNodes)
             for child_node in copylist_child_Nodes:
                 node.removeChild(child_node)
                 child_node.unlink()
 
         # add our classpath using system scope
         if self.cli_options.classpath:
-            i=0
-            dependencies_root = ( xmldoc.getElementsByTagName("dependencies") 
or [] )
+            i = 0
+            dependencies_root = xmldoc.getElementsByTagName("dependencies") or 
[]
             if dependencies_root:
                 for node in dependencies_root:
-                    for classpath_element in 
self.cli_options.classpath[0].split(':'):
+                    for classpath_element in 
self.cli_options.classpath[0].split(":"):
                         if classpath_element:
                             dependency_elem = 
xmldoc.createElement("dependency")
-                            dependency_elem.appendChild( 
self.create_element(xmldoc, "groupId", "sexy"))
-                            dependency_elem.appendChild( 
self.create_element(xmldoc, "artifactId", "gentoo%d" % (i)))
-                            dependency_elem.appendChild( 
self.create_element(xmldoc, "version", "666"))
-                            dependency_elem.appendChild( 
self.create_element(xmldoc, "scope", "system"))
-                            dependency_elem.appendChild( 
self.create_element(xmldoc, "systemPath", classpath_element))
+                            dependency_elem.appendChild(
+                                self.create_element(xmldoc, "groupId", "sexy")
+                            )
+                            dependency_elem.appendChild(
+                                self.create_element(
+                                    xmldoc, "artifactId", "gentoo%d" % (i)
+                                )
+                            )
+                            dependency_elem.appendChild(
+                                self.create_element(xmldoc, "version", "666")
+                            )
+                            dependency_elem.appendChild(
+                                self.create_element(xmldoc, "scope", "system")
+                            )
+                            dependency_elem.appendChild(
+                                self.create_element(
+                                    xmldoc, "systemPath", classpath_element
+                                )
+                            )
                             node.appendChild(dependency_elem)
                             i += 1
 
         # overwrite source/target options if any
         # remove version node for all plugins
         if self.cli_options.p_source or self.cli_options.p_target:
-            dependencies_root = ( xmldoc.getElementsByTagName("plugin") or [] )
+            dependencies_root = xmldoc.getElementsByTagName("plugin") or []
             # remove part
             if len(dependencies_root) > 0:
                 for node in dependencies_root:
@@ -141,42 +151,50 @@ class MavenPom:
                             child_node.unlink()
 
                         if child_node.nodeName == "artifactId":
-                            if "maven-compiler-plugin" ==  
child_node.childNodes[0].data:
+                            if "maven-compiler-plugin" == 
child_node.childNodes[0].data:
                                 node.parentNode.removeChild(node)
                                 node.unlink()
 
             # creation/overwrite part
-            plugin_node = self.create_element(xmldoc,"plugin")
-            group_node = 
self.create_element(xmldoc,"groupId","org.apache.maven.plugins")
-            artifact_node = 
self.create_element(xmldoc,"artifactId","maven-compiler-plugin")
-            configuration_node = self.create_element(xmldoc,"configuration")
+            plugin_node = self.create_element(xmldoc, "plugin")
+            group_node = self.create_element(
+                xmldoc, "groupId", "org.apache.maven.plugins"
+            )
+            artifact_node = self.create_element(
+                xmldoc, "artifactId", "maven-compiler-plugin"
+            )
+            configuration_node = self.create_element(xmldoc, "configuration")
             plugin_node.appendChild(group_node)
             plugin_node.appendChild(artifact_node)
             plugin_node.appendChild(configuration_node)
             if self.cli_options.p_target:
-                target_node = 
self.create_element(xmldoc,"target",self.cli_options.p_target[0])
+                target_node = self.create_element(
+                    xmldoc, "target", self.cli_options.p_target[0]
+                )
                 configuration_node.appendChild(target_node)
 
             if self.cli_options.p_source:
-                source_node = 
self.create_element(xmldoc,"source",self.cli_options.p_source[0])
+                source_node = self.create_element(
+                    xmldoc, "source", self.cli_options.p_source[0]
+                )
                 configuration_node.appendChild(source_node)
 
-            plugins_nodes = ( xmldoc.getElementsByTagName("plugins") or [] )
+            plugins_nodes = xmldoc.getElementsByTagName("plugins") or []
             # no plugins node
-            if len(plugins_nodes) < 1  :
-                plugins_node = self.create_element(xmldoc,"plugins")
+            if len(plugins_nodes) < 1:
+                plugins_node = self.create_element(xmldoc, "plugins")
                 plugins_nodes.append(plugins_node)
                 for plugins_node in plugins_nodes:
                     # add our generated plugin node
                     plugins_node.appendChild(plugin_node)
 
                     # no build node
-                    build_nodes = ( xmldoc.getElementsByTagName("build") or [] 
)
-                    if len(build_nodes) < 1 :
-                        build_node = self.create_element(xmldoc,"build")
+                    build_nodes = xmldoc.getElementsByTagName("build") or []
+                    if len(build_nodes) < 1:
+                        build_node = self.create_element(xmldoc, "build")
                         build_nodes.append(build_node)
                         # add build node to project_node
-                        project_nodes = ( 
xmldoc.getElementsByTagName("project") or [] )
+                        project_nodes = xmldoc.getElementsByTagName("project") 
or []
                         for project_node in project_nodes:
                             project_node.appendChild(build_node)
 
@@ -186,8 +204,7 @@ class MavenPom:
 
         self.__write(xmldoc.toxml("utf-8"))
 
-
-    def create_element(self,xmldoc,element_name,text_value=None):
+    def create_element(self, xmldoc, element_name, text_value=None):
         element = None
         if element_name:
             element = xmldoc.createElement(element_name)
@@ -197,12 +214,10 @@ class MavenPom:
 
         return element
 
-
-    def parse(self,in_stream,callback=None,**kwargs):
+    def parse(self, in_stream, callback=None, **kwargs):
         from xml.dom.minidom import parseString
+
         self.mydoc = parseString(in_stream)
 
         if callback:
-            callback(self.mydoc,**kwargs)
-
-# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap:
+            callback(self.mydoc, **kwargs)

diff --git a/src/javatoolkit/maven/__init__.py 
b/src/javatoolkit/maven/__init__.py
index c339ef6..afd7c9c 100644
--- a/src/javatoolkit/maven/__init__.py
+++ b/src/javatoolkit/maven/__init__.py
@@ -1,7 +1,5 @@
-'''
+"""
 javatoolkit.maven module
-'''
+"""
 
-__version__ = '1.1'
-
-#set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap 
+__version__ = "1.1"

diff --git a/src/javatoolkit/output.py b/src/javatoolkit/output.py
index 2af324a..10f6663 100644
--- a/src/javatoolkit/output.py
+++ b/src/javatoolkit/output.py
@@ -22,5 +22,3 @@ def einfo(s):
 def die(err, s):
     eerror(s)
     sys.exit(err)
-
-# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap:

diff --git a/src/javatoolkit/parser/__init__.py 
b/src/javatoolkit/parser/__init__.py
index f9cc2e5..7a1e6d5 100644
--- a/src/javatoolkit/parser/__init__.py
+++ b/src/javatoolkit/parser/__init__.py
@@ -9,4 +9,4 @@ from .helpers import *
 from . import buildproperties
 
 if __name__ == "__main__":
-       print("This is not an executable module")
+    print("This is not an executable module")

diff --git a/src/javatoolkit/parser/buildproperties.py 
b/src/javatoolkit/parser/buildproperties.py
index 9a73f78..d1c4af5 100644
--- a/src/javatoolkit/parser/buildproperties.py
+++ b/src/javatoolkit/parser/buildproperties.py
@@ -7,10 +7,11 @@
 from .tree import *
 from . import parser
 
+
 class BuildPropertiesParser(parser.Parser):
 
     def parse(self, ins):
-        """ Parse an input stream containing an ant build.properties file. 
Return a
+        """Parse an input stream containing an ant build.properties file. 
Return a
         structured document represented by tree.Node
 
         @param ins - input stream
@@ -40,14 +41,14 @@ class BuildPropertiesParser(parser.Parser):
 
             if continued_line:
                 continued_line = False
-                value += x.strip("\"")
+                value += x.strip('"')
 
                 if len(value) and value[-1] == "\\":
                     value = value[:-1]
                     continued_line = True
                     continue
 
-                root.add_kid(Node(attrib,value))
+                root.add_kid(Node(attrib, value))
                 continue
 
             if len(x) == 0 or x[:1] == "#":
@@ -58,14 +59,14 @@ class BuildPropertiesParser(parser.Parser):
 
             if len(xs) > 1:
                 attrib = xs[0].strip()
-                value = xs[1].strip().strip("\"")
+                value = xs[1].strip().strip('"')
 
                 if value != "" and value[-1] == "\\":
                     value = value[:-1]
                     continued_line = True
                     continue
 
-                root.add_kid(Node(attrib,value))
+                root.add_kid(Node(attrib, value))
 
             else:
                 raise ParseError("Malformed line " + str(lineno))
@@ -77,5 +78,3 @@ class BuildPropertiesParser(parser.Parser):
 
     def wrapped_value(self, node):
         return node.output_value()
-
-# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap:

diff --git a/src/javatoolkit/parser/helpers.py 
b/src/javatoolkit/parser/helpers.py
index c0e1bb3..6da3538 100644
--- a/src/javatoolkit/parser/helpers.py
+++ b/src/javatoolkit/parser/helpers.py
@@ -4,7 +4,8 @@
 #
 # Licensed under the GNU General Public License, v2
 
-def expand(root, expr, realroot = None):
+
+def expand(root, expr, realroot=None):
     """Evaluates a path expression on a given tree.
 
     @param root - the root of the tree
@@ -40,6 +41,7 @@ def expand(root, expr, realroot = None):
 
     return expanded
 
+
 def strip_varmarker(s):
     """Strips away ${ and } in a variable expression. Idempotent if marker not 
found.
 
@@ -51,5 +53,3 @@ def strip_varmarker(s):
         return s[2:-1]
 
     return s
-
-# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap:

diff --git a/src/javatoolkit/parser/manifest.py 
b/src/javatoolkit/parser/manifest.py
index b55a28a..7a060eb 100644
--- a/src/javatoolkit/parser/manifest.py
+++ b/src/javatoolkit/parser/manifest.py
@@ -4,10 +4,11 @@
 from .tree import *
 from . import parser
 
+
 class ManifestParser(parser.Parser):
 
     def parse(self, ins):
-        """ Parse an input stream containing a MANIFEST.MF file. Return a
+        """Parse an input stream containing a MANIFEST.MF file. Return a
         structured document represented by tree.Node
 
         @param ins - input stream
@@ -36,7 +37,7 @@ class ManifestParser(parser.Parser):
 
             if len(xs) > 1:
                 if attrib != "":
-                    root.add_kid(Node(attrib,value))
+                    root.add_kid(Node(attrib, value))
 
                 attrib = xs[0]
                 value = xs[1].strip()
@@ -45,7 +46,7 @@ class ManifestParser(parser.Parser):
                 raise ParseError("Malformed line " + str(lineno))
 
         if attrib != "":
-            root.add_kid(Node(attrib,value))
+            root.add_kid(Node(attrib, value))
 
         return root
 
@@ -54,5 +55,3 @@ class ManifestParser(parser.Parser):
 
     def wrapped_value(self, node):
         return node.output_value(",")
-
-# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap:

diff --git a/src/javatoolkit/parser/parser.py b/src/javatoolkit/parser/parser.py
index 3393fef..cdee326 100644
--- a/src/javatoolkit/parser/parser.py
+++ b/src/javatoolkit/parser/parser.py
@@ -2,10 +2,10 @@
 #
 # Licensed under the GNU General Public License, v2
 
+
 class Parser:
     def parse(self, ins):
         raise NotImplementedError
+
     def output(self, ous, tree):
         raise NotImplementedError
-
-# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap:

diff --git a/src/javatoolkit/parser/tree.py b/src/javatoolkit/parser/tree.py
index 6a07b45..c9beaca 100644
--- a/src/javatoolkit/parser/tree.py
+++ b/src/javatoolkit/parser/tree.py
@@ -15,6 +15,7 @@ class NodeIter:
     def __init__(self, node):
         self._node = node
         self._index = 0
+
     def __next__(self):
         self._index += 1
         if self._index >= len(self._node._kids):
@@ -23,7 +24,7 @@ class NodeIter:
 
 
 class Node:
-    def __init__(self, name = None, value = None):
+    def __init__(self, name=None, value=None):
         self.name = name
         self.value = value
         self._kids = []
@@ -45,7 +46,8 @@ class Node:
     """
     Dump self as text to stream.
     """
-    def dump(self, ous, indent = 0):
+
+    def dump(self, ous, indent=0):
         if self.name:
             ous.write((" " * indent) + self.name + " = " + self.value + "\n")
 
@@ -54,9 +56,17 @@ class Node:
     """
     Output self as text to stream using the given format.
     """
-    def output(self, ous, before, between, after, wrap = None, indent = ""):
+
+    def output(self, ous, before, between, after, wrap=None, indent=""):
         if self.name:
-            ous.write(before + self.name + between + self.output_value(wrap, 
indent) + after + "\n")
+            ous.write(
+                before
+                + self.name
+                + between
+                + self.output_value(wrap, indent)
+                + after
+                + "\n"
+            )
 
         for x in self._kids:
             x.output(ous, before, between, after, wrap, indent)
@@ -64,7 +74,8 @@ class Node:
     """
     Return node value as string using the given format.
     """
-    def output_value(self, wrap = None, indent = ""):
+
+    def output_value(self, wrap=None, indent=""):
         if wrap == None:
             return self.value
         else:
@@ -73,6 +84,7 @@ class Node:
     """
     Returns a lists of all the node names.
     """
+
     def node_names(self):
         names = []
 
@@ -92,6 +104,7 @@ class Node:
 
     @return reference to the found node, if any
     """
+
     def find_node(self, nodename):
         if self.name == nodename:
             return self
@@ -116,7 +129,8 @@ class Node:
 
     @return wrapped text
     """
-    def __wrap_outside_quotes(self, text, wrap, indent, pos = None):
+
+    def __wrap_outside_quotes(self, text, wrap, indent, pos=None):
         if pos == None:
             pos = len(text)
 
@@ -128,8 +142,13 @@ class Node:
         num_quotes = text.count('"', next_wrap, pos)
 
         if num_quotes % 2 != 0:
-            return self.__wrap_outside_quotes(text, wrap, indent, 
text.rfind('"', 0, next_wrap + 1))
-
-        return self.__wrap_outside_quotes(text[0:next_wrap] + wrap + "\n" + 
indent + text[next_wrap + 1:], wrap, indent, next_wrap)
-
-# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap:
+            return self.__wrap_outside_quotes(
+                text, wrap, indent, text.rfind('"', 0, next_wrap + 1)
+            )
+
+        return self.__wrap_outside_quotes(
+            text[0:next_wrap] + wrap + "\n" + indent + text[next_wrap + 1 :],
+            wrap,
+            indent,
+            next_wrap,
+        )

diff --git a/src/javatoolkit/scripts/buildparser.py 
b/src/javatoolkit/scripts/buildparser.py
index 6e3097c..b1b869b 100755
--- a/src/javatoolkit/scripts/buildparser.py
+++ b/src/javatoolkit/scripts/buildparser.py
@@ -14,33 +14,58 @@ from ..parser.buildproperties import BuildPropertiesParser
 from ..parser.manifest import ManifestParser
 from ..parser.tree import Node, ParseError
 
-__author__ = ["James Le Cuirot <[email protected]>",
-              "Karl Trygve Kalleberg <[email protected]>"]
+__author__ = [
+    "James Le Cuirot <[email protected]>",
+    "Karl Trygve Kalleberg <[email protected]>",
+]
 __version__ = "0.3.0"
 __productname__ = "buildparser"
 __description__ = "A parser for build.properties and JAR manifest files."
 
 
 def parse_args():
-    usage = 'buildparser [options] [node name] [replacement] <filename>'
-    about = __productname__ + " : " + __description__ + "\n" + \
-        "Version : " + __version__ + "\n" \
+    usage = "buildparser [options] [node name] [replacement] <filename>"
+    about = (
+        __productname__
+        + " : "
+        + __description__
+        + "\n"
+        + "Version : "
+        + __version__
+        + "\n"
         "Authors : " + __author__[0]
+    )
 
     for x in __author__[1:]:
         about += "\n          " + x
 
     parser = OptionParser(usage, version=about)
 
-    parser.add_option('-t', '--type', action='store', type='choice',
-                      dest='type', choices=['manifest', 'buildprops'],
-                      help='Type of file to parse: manifest or buildprops')
-
-    parser.add_option('-i', '--in-place', action='store_true', dest='in_place',
-                      help='Edit file in place when replacing')
-
-    parser.add_option('-w', '--wrap', action='store_true', dest='wrap',
-                      help='Wrap when returning singular values')
+    parser.add_option(
+        "-t",
+        "--type",
+        action="store",
+        type="choice",
+        dest="type",
+        choices=["manifest", "buildprops"],
+        help="Type of file to parse: manifest or buildprops",
+    )
+
+    parser.add_option(
+        "-i",
+        "--in-place",
+        action="store_true",
+        dest="in_place",
+        help="Edit file in place when replacing",
+    )
+
+    parser.add_option(
+        "-w",
+        "--wrap",
+        action="store_true",
+        dest="wrap",
+        help="Wrap when returning singular values",
+    )
 
     opt, args = parser.parse_args()
 
@@ -79,8 +104,9 @@ def main():
 
         else:
             sys.exit(
-                __productname__ +
-                ": error: Unknown file type. Specify using the -t option.")
+                __productname__
+                + ": error: Unknown file type. Specify using the -t option."
+            )
 
         t = p.parse(f)
         f.close()
@@ -118,10 +144,8 @@ def main():
             print(x)
 
 
-if __name__ == '__main__':
+if __name__ == "__main__":
     try:
         main()
     except KeyboardInterrupt:
         print("Interrupted by user, aborting.")
-
-# set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap

diff --git a/src/javatoolkit/scripts/class_version_verify.py 
b/src/javatoolkit/scripts/class_version_verify.py
index 098685c..b5e6060 100755
--- a/src/javatoolkit/scripts/class_version_verify.py
+++ b/src/javatoolkit/scripts/class_version_verify.py
@@ -17,39 +17,44 @@ def main() -> None:
             action="store_true",
             dest="deep",
             default=False,
-            help="go into dirs"),
+            help="go into dirs",
+        ),
         make_option(
             "-t",
             "--target",
             type="string",
             dest="version",
-            help="target version that is valid"),
+            help="target version that is valid",
+        ),
         make_option(
             "-v",
             "--verbose",
             action="store_true",
             dest="verbose",
             default=False,
-            help="Print details about analyzed files"),
+            help="Print details about analyzed files",
+        ),
         make_option(
             "-s",
             "--silent",
             action="store_true",
             dest="silent",
             default=False,
-            help="No output"),
+            help="No output",
+        ),
         make_option(
             "-f",
             "--file-only",
             action="store_true",
             dest="file_only",
             default=False,
-            help="Only output the files"),
+            help="Only output the files",
+        ),
     ]
 
     parser = OptionParser(
-        "%prog -t version [-r] [-v] [-s] <class/jar files or dir>",
-        options_list)
+        "%prog -t version [-r] [-v] [-s] <class/jar files or dir>", 
options_list
+    )
     (options, args) = parser.parse_args()
 
     if not options.version:
@@ -86,7 +91,7 @@ def main() -> None:
             for skipped in cvv_magic.skipped:
                 print(__format_skipped(skipped))
 
-        print(f'CVV: {options.version}')
+        print(f"CVV: {options.version}")
         print(__get_total_line(cvv_magic))
 
     if len(cvv_magic.bad) > 0:
@@ -100,39 +105,39 @@ def __get_total_line(cvv_magic: cvv.CVVMagic) -> str:
     bad = len(cvv_magic.bad)
     skipped = len(cvv_magic.skipped)
     total = good + bad + skipped
-    return f'Checked: {total} Good: {good} Bad: {bad} Skipped: {skipped}'
+    return f"Checked: {total} Good: {good} Bad: {bad} Skipped: {skipped}"
 
 
 def __format_class(cf: cvv.ClassFile) -> str:
-    return f'{__format_loc(cf.loc)} version {cf.encoded_version} (expected 
{cf.expected_version})'
+    return f"{__format_loc(cf.loc)} version {cf.encoded_version} (expected 
{cf.expected_version})"
 
 
 def __format_skipped(f: cvv.SkippedFile) -> str:
-    return f'Skip: {__format_loc(f.loc)} because: {f.reason}'
+    return f"Skip: {__format_loc(f.loc)} because: {f.reason}"
 
 
 def __format_bad(f: cvv.BadFile) -> str:
     msg: str
     match f:
         case cvv.ClassFile():
-            msg = f'{__format_class(f)}'
+            msg = f"{__format_class(f)}"
         case cvv.BadMultireleaseManifest(loc, multiReleaseDirs):
             plain_dirs = [d.member for d in multiReleaseDirs]
             msg = f'{__format_loc(loc)} missing "Multi-Release: true" implied 
by {plain_dirs}'
-    return f'Bad:  {msg}'
+    return f"Bad:  {msg}"
 
 
 def __format_good(f: cvv.GoodFile) -> str:
-    return f'Good: {__format_class(f)}'
+    return f"Good: {__format_class(f)}"
 
 
 def __format_loc(loc: cvv.Loc) -> str:
     match loc:
         case cvv.FileLoc(path):
-            return f'{path}'
+            return f"{path}"
         case cvv.JarLoc(jar, member):
-            return f'{jar.path}({member})'
+            return f"{jar.path}({member})"
 
 
-if __name__ == '__main__':
+if __name__ == "__main__":
     main()

diff --git a/src/javatoolkit/scripts/eclipse_build.py 
b/src/javatoolkit/scripts/eclipse_build.py
index f3ee2fa..75261ba 100755
--- a/src/javatoolkit/scripts/eclipse_build.py
+++ b/src/javatoolkit/scripts/eclipse_build.py
@@ -7,13 +7,11 @@
 # Authors
 #   Alistair Bush <[email protected]>
 
-from __future__ import with_statement
-import os
-import sys
 from optparse import OptionParser, make_option
 from xml.dom.minidom import parse
 from ..java.properties import PropertiesParser
 
+
 def main():
     usage = "Eclipse Ant Build File writer"
     usage += "Copyright 2008 Gentoo Foundation\n"
@@ -23,33 +21,39 @@ def main():
 
     option_list = [
         make_option(
-            '-p',
-            '--project',
-            action='store',
-            dest='project',
-            help='Project Name'),
+            "-p", "--project", action="store", dest="project", help="Project 
Name"
+        ),
+        make_option(
+            "-i",
+            "--include",
+            action="append",
+            dest="includes",
+            help="Files to include in jar",
+        ),
+        make_option(
+            "-s",
+            "--src",
+            action="append",
+            dest="source",
+            help="Directories containing src to build",
+        ),
         make_option(
-            '-i',
-            '--include',
-            action='append',
-            dest='includes',
-            help='Files to include in jar'),
-        make_option('-s', '--src', action='append', dest='source',
-                    help='Directories containing src to build'),
+            "-m", "--manifest", action="store", dest="manifest", 
help="Manifest File"
+        ),
         make_option(
-            '-m',
-            '--manifest',
-            action='store',
-            dest='manifest',
-            help='Manifest File'),
-        make_option('-f', '--file', action='store', dest='file',
-                    help='Eclipse build.properties file to parse.'),
+            "-f",
+            "--file",
+            action="store",
+            dest="file",
+            help="Eclipse build.properties file to parse.",
+        ),
         make_option(
-            '-o',
-            '--output',
-            action='store',
-            dest='output',
-            help='Output build.xml to this file')
+            "-o",
+            "--output",
+            action="store",
+            dest="output",
+            help="Output build.xml to this file",
+        ),
     ]
 
     parser = OptionParser(usage, option_list)
@@ -58,8 +62,8 @@ def main():
 
     if options.file:
         properties = PropertiesParser(options.file)
-        #dom = parse( options.file )
-        #classpathentries = dom.getElementsByTagName('classpathentry')
+        # dom = parse( options.file )
+        # classpathentries = dom.getElementsByTagName('classpathentry')
 
         # for entry in classpathentries:
         #    if entry.attributes['kind'] and 
entry.attributes['kind'].nodeValue == 'src':
@@ -67,12 +71,11 @@ def main():
         #        if entry.attributes['path']:
         #            src_dirs.append( entry.attributes['path'].nodeValue )
 
-        with open(options.output, 'w') as output:
+        with open(options.output, "w") as output:
             output.write('<?xml version="1.0" encoding="UTF-8" ?>\n')
             output.write(
-                '<project basedir="." default="jar" name="' +
-                options.project +
-                '">\n')
+                '<project basedir="." default="jar" name="' + options.project 
+ '">\n'
+            )
             output.write('<property name="target" value="1.4"/>\n')
             output.write('<property name="source" value="1.4"/>\n')
             output.write('<property name="gentoo.classpath" value="" />\n\n')
@@ -80,51 +83,54 @@ def main():
             output.write('<mkdir dir="bin"/>\n')
             output.write('<copy includeemptydirs="false" todir="bin">\n')
             try:
-                if properties.config['source..']:
-                    for dir in properties.config['source..']:
+                if properties.config["source.."]:
+                    for dir in properties.config["source.."]:
                         output.write(
-                            '<fileset dir="' +
-                            dir +
-                            '" excludes="**/*.java, **/*.launch" />\n')
-                if properties.config['bin.includes']:
-                    for item in properties.config['bin.includes']:
-                        if item != '.':
-                            if item.endswith('/'):
-                                item = item.rstrip('/')
+                            '<fileset dir="'
+                            + dir
+                            + '" excludes="**/*.java, **/*.launch" />\n'
+                        )
+                if properties.config["bin.includes"]:
+                    for item in properties.config["bin.includes"]:
+                        if item != ".":
+                            if item.endswith("/"):
+                                item = item.rstrip("/")
                                 output.write(
-                                    '<fileset dir="." includes="' +
-                                    item +
-                                    '/**" excludes="**/*.java, **/*.launch" 
/>\n')
+                                    '<fileset dir="." includes="'
+                                    + item
+                                    + '/**" excludes="**/*.java, **/*.launch" 
/>\n'
+                                )
                             else:
-                                output.write(
-                                    '<fileset file="' + item + '" />\n')
+                                output.write('<fileset file="' + item + '" 
/>\n')
             finally:
-                output.write('</copy>\n')
+                output.write("</copy>\n")
             if options.includes:
                 for file in options.includes:
                     output.write('<copy file="' + file + '" todir="bin"/>')
-            output.write('</target>\n')
+            output.write("</target>\n")
             output.write(
-                '\n<target name="clean">\n\t<delete 
dir="bin"/>\n</target>\n\n')
+                '\n<target name="clean">\n\t<delete dir="bin"/>\n</target>\n\n'
+            )
             output.write('<target depends="init" name="compile">\n')
             output.write(
-                '<javac destdir="bin" source="${source}" target="${target}" 
classpath="${gentoo.classpath}">\n')
+                '<javac destdir="bin" source="${source}" target="${target}" 
classpath="${gentoo.classpath}">\n'
+            )
             try:
-                if properties.config['source..']:
-                    for dir in properties.config['source..']:
+                if properties.config["source.."]:
+                    for dir in properties.config["source.."]:
                         output.write('\t<src path="' + dir + '" />\n')
             finally:
-                output.write('</javac>\n')
-            output.write('</target>\n\n')
+                output.write("</javac>\n")
+            output.write("</target>\n\n")
             output.write('<target depends="compile" name="jar" >\n')
             output.write('<jar file="${ant.project.name}.jar" basedir="bin"')
             if options.manifest:
                 output.write('\nmanifest="' + parser.manifest + '">\n')
             else:
-                output.write('>\n')
-            output.write('</jar>\n')
-            output.write('</target>\n')
-            output.write('</project>\n')
+                output.write(">\n")
+            output.write("</jar>\n")
+            output.write("</target>\n")
+            output.write("</project>\n")
             # output.write('')
             # output.write('')
             # output.write('')
@@ -134,7 +140,5 @@ def main():
             # output.write('')
 
 
-if __name__ == '__main__':
+if __name__ == "__main__":
     main()
-
-# vim:set expandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap :

diff --git a/src/javatoolkit/scripts/findclass.py 
b/src/javatoolkit/scripts/findclass.py
index 98575e6..b66eaef 100755
--- a/src/javatoolkit/scripts/findclass.py
+++ b/src/javatoolkit/scripts/findclass.py
@@ -19,21 +19,35 @@ from subprocess import getstatusoutput
 from java_config.jc_util import find_exec, collect_packages
 
 
-__author__ = "Karl Trygve Kalleberg <[email protected]> and Fabio Lessa 
<[email protected]>"
+__author__ = (
+    "Karl Trygve Kalleberg <[email protected]> and Fabio Lessa 
<[email protected]>"
+)
 __version__ = "0.1.0"
 __productname__ = "findclass"
 __description__ = "Gentoo Java Class Query Tool"
 
 
 def parse_args():
-    usage = 'findclass [options] class.or.package.Name'
-    about = __productname__ + " : " + __description__ + "\n" + \
-        "Authors : " + __author__ + \
-        "Version : " + __version__
+    usage = "findclass [options] class.or.package.Name"
+    about = (
+        __productname__
+        + " : "
+        + __description__
+        + "\n"
+        + "Authors : "
+        + __author__
+        + "Version : "
+        + __version__
+    )
 
     parser = OptionParser(usage, version=about)
-    parser.add_option('-v', '--verbose', action='store_true',
-                      dest='verbose', help='generate verbose output')
+    parser.add_option(
+        "-v",
+        "--verbose",
+        action="store_true",
+        dest="verbose",
+        help="generate verbose output",
+    )
     opt, files = parser.parse_args()
 
     if len(files) < 1:
@@ -45,33 +59,33 @@ def parse_args():
 def main():
     opt, files = parse_args()
 
-    jarcmd = find_exec('jar')
+    jarcmd = find_exec("jar")
 
-    javapaths = [f.replace('.', '/') for f in files]
+    javapaths = [f.replace(".", "/") for f in files]
     matchers = [re.compile(p) for p in javapaths]
 
     for pkg in get_all_packages():
         if opt.verbose:
             print("Searching package %s" % pkg)
-        for jar in collect_packages(pkg).split(':'):
+        for jar in collect_packages(pkg).split(":"):
             if opt.verbose:
                 print("Searching jar %s" % jar)
             status, out = getstatusoutput("%s tvf %s" % (jarcmd, jar))
             for m in matchers:
                 if m.search(out):
                     if opt.verbose:
-                        print("Found in %s" % pkg, end=' ')
+                        print("Found in %s" % pkg, end=" ")
                     print(jar)
 
 
 def get_all_packages():
-    pkg = glob.glob('/usr/share/*/package.env')
+    pkg = glob.glob("/usr/share/*/package.env")
     pkg = [os.path.basename(os.path.dirname(i)) for i in pkg]
 
-    classpath = glob.glob('/usr/share/*/classpath.env')
+    classpath = glob.glob("/usr/share/*/classpath.env")
     classpath = [os.path.basename(os.path.dirname(i)) for i in classpath]
 
-    dir = glob.glob('/usr/share/java/packages/*')
+    dir = glob.glob("/usr/share/java/packages/*")
     dir = [os.path.basename(i) for i in dir]
 
     pkg.extend(classpath)
@@ -79,7 +93,7 @@ def get_all_packages():
     return pkg
 
 
-if __name__ == '__main__':
+if __name__ == "__main__":
     try:
         main()
     except KeyboardInterrupt:

diff --git a/src/javatoolkit/scripts/jarjarclean.py 
b/src/javatoolkit/scripts/jarjarclean.py
index 2b95969..396f9e8 100755
--- a/src/javatoolkit/scripts/jarjarclean.py
+++ b/src/javatoolkit/scripts/jarjarclean.py
@@ -13,7 +13,7 @@ import xml.etree.cElementTree as et
 
 args = sys.argv[1:]
 if len(args) == 0:
-    args = ['build.xml']
+    args = ["build.xml"]
 
 
 def main():
@@ -23,24 +23,30 @@ def main():
 
         for elem in tree.getiterator():
             for child in list(elem):
-                if child.tag == 'taskdef' and child.get(
-                        'classname') == 'com.tonicsystems.jarjar.JarJarTask':
-                    tags.append(child.get('name'))
+                if (
+                    child.tag == "taskdef"
+                    and child.get("classname") == 
"com.tonicsystems.jarjar.JarJarTask"
+                ):
+                    tags.append(child.get("name"))
                     elem.remove(child)
 
         for tag in tags:
             for jarjar in tree.getiterator(tag):
-                if jarjar.get('destfile') or jarjar.get('jarfile'):
-                    jarjar.tag = 'jar'
-                    if jarjar.get('verbose'):
-                        del jarjar.attrib['verbose']
+                if jarjar.get("destfile") or jarjar.get("jarfile"):
+                    jarjar.tag = "jar"
+                    if jarjar.get("verbose"):
+                        del jarjar.attrib["verbose"]
                     for child in list(jarjar):
-                        if child.tag == 'keep' or child.tag == 'rule' or 
child.tag == 'zipfileset':
+                        if (
+                            child.tag == "keep"
+                            or child.tag == "rule"
+                            or child.tag == "zipfileset"
+                        ):
                             jarjar.remove(child)
 
-        with open(file, 'w') as f:
+        with open(file, "w") as f:
             tree.write(f)
 
 
-if __name__ == '__main__':
+if __name__ == "__main__":
     main()

diff --git a/src/javatoolkit/scripts/maven_helper.py 
b/src/javatoolkit/scripts/maven_helper.py
index d486bc7..68428e5 100755
--- a/src/javatoolkit/scripts/maven_helper.py
+++ b/src/javatoolkit/scripts/maven_helper.py
@@ -1,6 +1,5 @@
 #!/usr/bin/env python
 # -*- coding: UTF-8 -*-
-# vim: set ai ts=8 sts=0 sw=8 tw=0 noexpandtab:
 
 # Copyright 2004-2007 Gentoo Foundation
 # Distributed under the terms of the GNU General Public Licence v2
@@ -33,7 +32,10 @@ def main():
     usage += "Usage:\n"
     usage += "  %s [-a] [-v] [-g] [-d] [-f fic.xml]\n" % sys.argv[0]
     usage += "Or:\n"
-    usage += "  %s --rewrite [--classpath some.jar:class.jar:path.jar] 
[--source JVM_VER ] |--target JVM_VER]\n" % sys.argv[0]
+    usage += (
+        "  %s --rewrite [--classpath some.jar:class.jar:path.jar] [--source 
JVM_VER ] |--target JVM_VER]\n"
+        % sys.argv[0]
+    )
     usage += "    JVM_VER ::= 1.4 || 1.5 "
     usage += "\n"
     usage += "If the -f parameter is not utilized, the script will read and\n"
@@ -48,18 +50,25 @@ def main():
         pom = MavenPom(options)
         if options.p_rewrite:
             pom.parse(stream, pom.rewrite)
-        elif options.p_ischild or options.p_group or options.p_dep or 
options.p_artifact or options.p_version:
+        elif (
+            options.p_ischild
+            or options.p_group
+            or options.p_dep
+            or options.p_artifact
+            or options.p_version
+        ):
             pom.parse(stream, pom.getDescription)
         return pom
 
     def run():
         if options.files:
             import os
+
             for file in options.files:
                 # First parse the file into memory
                 cwd = os.getcwd()
                 dirname = os.path.dirname(file)
-                if dirname != '':  # for file  comes out as ''
+                if dirname != "":  # for file  comes out as ''
                     os.chdir(os.path.dirname(file))
 
                 f = open(os.path.basename(file), "r")
@@ -79,76 +88,92 @@ def main():
             pom = doAction(sys.stdin.read(), options)
             print(pom.read())
 
-
-############### MAIN ###############
+    ############### MAIN ###############
     options_list = [
         make_option(
             "-a",
             "--artifact",
             action="store_true",
             dest="p_artifact",
-            help="get artifact name."),
+            help="get artifact name.",
+        ),
         make_option(
             "-c",
             "--classpath",
             action="append",
             dest="classpath",
-            help="set classpath to use with maven."),
+            help="set classpath to use with maven.",
+        ),
         make_option(
             "-s",
             "--source",
             action="append",
             dest="p_source",
-            help="Java source version."),
+            help="Java source version.",
+        ),
         make_option(
             "-t",
             "--target",
             action="append",
             dest="p_target",
-            help="Java target version."),
+            help="Java target version.",
+        ),
         make_option(
             "-d",
             "--depependencies",
             action="store_true",
             dest="p_dep",
-            help="get dependencies infos"),
+            help="get dependencies infos",
+        ),
         make_option(
             "-f",
             "--file",
             action="append",
             dest="files",
-            help="Transform files instead of operating on stdout and stdin"),
+            help="Transform files instead of operating on stdout and stdin",
+        ),
         make_option(
             "-g",
             "--group",
             action="store_true",
             dest="p_group",
-            help="get artifact group."),
+            help="get artifact group.",
+        ),
         make_option(
             "-r",
             "--rewrite",
             action="store_true",
             dest="p_rewrite",
-            help="rewrite poms to use our classpath"),
+            help="rewrite poms to use our classpath",
+        ),
         make_option(
             "-p",
             "--ischild",
             action="store_true",
             dest="p_ischild",
-            help="return true if this is a child pom"),
+            help="return true if this is a child pom",
+        ),
         make_option(
             "-v",
             "--version",
             action="store_true",
             dest="p_version",
-            help="get artifact version."),
+            help="get artifact version.",
+        ),
     ]
 
     parser = OptionParser(usage, options_list)
     (options, args) = parser.parse_args()
 
     # Invalid Arguments Must be smited!
-    if not options.p_ischild and not options.p_rewrite and not options.p_dep 
and not options.p_version and not options.p_artifact and not options.p_group:
+    if (
+        not options.p_ischild
+        and not options.p_rewrite
+        and not options.p_dep
+        and not options.p_version
+        and not options.p_artifact
+        and not options.p_group
+    ):
         print(usage)
         print()
         error("No action was specified.")
@@ -185,5 +210,5 @@ def main():
     run()
 
 
-if __name__ == '__main__':
+if __name__ == "__main__":
     main()

diff --git a/src/test/test_cvv.py b/src/test/test_cvv.py
index 8c0e4e9..d11b8e8 100644
--- a/src/test/test_cvv.py
+++ b/src/test/test_cvv.py
@@ -8,10 +8,10 @@ import os
 
 
 def create_class_header(version: int) -> bytes:
-    magic = b'\xca\xfe\xba\xbe'
+    magic = b"\xca\xfe\xba\xbe"
     minor = 0
     major = version + 44
-    return magic + struct.pack('>2H', minor, major)
+    return magic + struct.pack(">2H", minor, major)
 
 
 def create_class_file(version: int) -> io.BytesIO:
@@ -19,19 +19,20 @@ def create_class_file(version: int) -> io.BytesIO:
 
 
 def create_jar(files: list[tuple[str, int]], multi_release: bool = False) -> 
ZipFile:
-    result = ZipFile(io.BytesIO(), 'w')
-    for (path, version) in files:
+    result = ZipFile(io.BytesIO(), "w")
+    for path, version in files:
         result.writestr(path, create_class_header(version))
-    manifest = f'''Manifest-Version: 1.0
+    manifest = f"""Manifest-Version: 1.0
 Created-By: 21.0.6 (javatoolkit mock)
 Multi-Release: {'true' if multi_release else 'false'}
-'''
-    result.writestr('META-INF/MANIFEST.MF', manifest)
+"""
+    result.writestr("META-INF/MANIFEST.MF", manifest)
     return result
 
 
-AnyFileInfo = T.TypeVar('AnyFileInfo',
-                        bound=cvv.BadFile | cvv.GoodFile | cvv.SkippedFile)
+AnyFileInfo = T.TypeVar(
+    "AnyFileInfo", bound=cvv.BadFile | cvv.GoodFile | cvv.SkippedFile
+)
 
 
 def my_sort(lst: list[AnyFileInfo]) -> list[AnyFileInfo]:
@@ -41,197 +42,267 @@ def my_sort(lst: list[AnyFileInfo]) -> list[AnyFileInfo]:
     def key_extractor(v: AnyFileInfo) -> tuple[str, str]:
         match v.loc:
             case cvv.JarLoc(cvv.FileLoc(path), member):
-                return (path, member)
+                return path, member
             case cvv.FileLoc(path):
-                return (path, '')
+                return path, ""
 
     return sorted(lst, key=key_extractor)
 
 
 class SimpleTest(TestCase):
     def test_class(self) -> None:
-        m = cvv.CVVMagic('8')
-        m.do_class(create_class_file(7), cvv.FileLoc('7.class'))
-        m.do_class(create_class_file(8), cvv.FileLoc('8.class'))
-        m.do_class(create_class_file(9), cvv.FileLoc('9.class'))
+        m = cvv.CVVMagic("8")
+        m.do_class(create_class_file(7), cvv.FileLoc("7.class"))
+        m.do_class(create_class_file(8), cvv.FileLoc("8.class"))
+        m.do_class(create_class_file(9), cvv.FileLoc("9.class"))
 
         def make_class(path: str, encoded_version: str) -> cvv.ClassFile:
             return cvv.ClassFile(
                 encoded_version=encoded_version,
-                expected_version='1.8',
-                loc=cvv.FileLoc(path)
+                expected_version="1.8",
+                loc=cvv.FileLoc(path),
             )
 
-        self.assertListEqual(my_sort(m.good), [
-            make_class('7.class', '1.7'),
-            make_class('8.class', '1.8'),
-        ])
-        self.assertListEqual(my_sort(m.bad), [
-            make_class('9.class', '9')
-        ])
+        self.assertListEqual(
+            my_sort(m.good),
+            [
+                make_class("7.class", "1.7"),
+                make_class("8.class", "1.8"),
+            ],
+        )
+        self.assertListEqual(my_sort(m.bad), [make_class("9.class", "9")])
         self.assertListEqual(m.skipped, [])
 
     def test_jar(self) -> None:
-        m = cvv.CVVMagic('1.8')
-        m.do_jar(jar_path=cvv.FileLoc('a.jar'), jar=create_jar([
-            ('Main.class', 8),
-            ('module-info.class', 9),
-            ('my/deep/module/Foo.class', 10),
-        ]))
+        m = cvv.CVVMagic("1.8")
+        m.do_jar(
+            jar_path=cvv.FileLoc("a.jar"),
+            jar=create_jar(
+                [
+                    ("Main.class", 8),
+                    ("module-info.class", 9),
+                    ("my/deep/module/Foo.class", 10),
+                ]
+            ),
+        )
 
         def jar_loc(path: str) -> cvv.JarLoc:
-            return cvv.JarLoc(cvv.FileLoc('a.jar'), path)
+            return cvv.JarLoc(cvv.FileLoc("a.jar"), path)
 
         def make_class(path: str, encoded_version: str) -> cvv.ClassFile:
             return cvv.ClassFile(
                 encoded_version=encoded_version,
-                expected_version='1.8',
-                loc=jar_loc(path)
+                expected_version="1.8",
+                loc=jar_loc(path),
             )
 
-        self.assertListEqual(my_sort(m.good), [
-            make_class('Main.class', '1.8'),
-        ])
-        self.assertListEqual(my_sort(m.bad), [
-            make_class('my/deep/module/Foo.class', '10'),
-        ])
-        self.assertListEqual(my_sort(m.skipped), [
-            cvv.SkippedModuleInfo(jar_loc('module-info.class')),
-        ])
+        self.assertListEqual(
+            my_sort(m.good),
+            [
+                make_class("Main.class", "1.8"),
+            ],
+        )
+        self.assertListEqual(
+            my_sort(m.bad),
+            [
+                make_class("my/deep/module/Foo.class", "10"),
+            ],
+        )
+        self.assertListEqual(
+            my_sort(m.skipped),
+            [
+                cvv.SkippedModuleInfo(jar_loc("module-info.class")),
+            ],
+        )
 
     def test_multirelease_jar(self) -> None:
-        m = cvv.CVVMagic('9')
-        m.do_jar(jar_path=cvv.FileLoc('a.jar'), 
jar=create_jar(multi_release=True, files=[
-            ('module-info.class', 9),
-            ('File1.class', 9),
-            ('File2.class', 8),
-            ('META-INF/versions/10/module-info.class', 10),
-            ('META-INF/versions/10/File1.class', 11),
-            ('META-INF/versions/10/File2.class', 10),
-            ('META-INF/versions/14/module-info.class', 15),
-            ('META-INF/versions/14/File1.class', 13),
-        ]))
-
-        def make_class(path: str, encoded_version: str, expected_version: 
T.Optional[str] = None) -> cvv.ClassFile:
+        m = cvv.CVVMagic("9")
+        m.do_jar(
+            jar_path=cvv.FileLoc("a.jar"),
+            jar=create_jar(
+                multi_release=True,
+                files=[
+                    ("module-info.class", 9),
+                    ("File1.class", 9),
+                    ("File2.class", 8),
+                    ("META-INF/versions/10/module-info.class", 10),
+                    ("META-INF/versions/10/File1.class", 11),
+                    ("META-INF/versions/10/File2.class", 10),
+                    ("META-INF/versions/14/module-info.class", 15),
+                    ("META-INF/versions/14/File1.class", 13),
+                ],
+            ),
+        )
+
+        def make_class(
+            path: str, encoded_version: str, expected_version: T.Optional[str] 
= None
+        ) -> cvv.ClassFile:
             return cvv.ClassFile(
                 encoded_version=encoded_version,
-                expected_version=expected_version or '9',
-                loc=cvv.JarLoc(cvv.FileLoc('a.jar'), path),
+                expected_version=expected_version or "9",
+                loc=cvv.JarLoc(cvv.FileLoc("a.jar"), path),
             )
 
-        self.assertListEqual(my_sort(m.good), [
-            make_class('File1.class', '9'),
-            make_class('File2.class', '1.8'),
-            make_class('META-INF/versions/10/File2.class', '10', '10'),
-            make_class('META-INF/versions/10/module-info.class', '10', '10'),
-            make_class('META-INF/versions/14/File1.class', '13', '14'),
-            make_class('module-info.class', '9'),
-        ])
-        self.assertListEqual(my_sort(m.bad), [
-            make_class('META-INF/versions/10/File1.class', '11', '10'),
-            make_class('META-INF/versions/14/module-info.class', '15', '14'),
-        ])
+        self.assertListEqual(
+            my_sort(m.good),
+            [
+                make_class("File1.class", "9"),
+                make_class("File2.class", "1.8"),
+                make_class("META-INF/versions/10/File2.class", "10", "10"),
+                make_class("META-INF/versions/10/module-info.class", "10", 
"10"),
+                make_class("META-INF/versions/14/File1.class", "13", "14"),
+                make_class("module-info.class", "9"),
+            ],
+        )
+        self.assertListEqual(
+            my_sort(m.bad),
+            [
+                make_class("META-INF/versions/10/File1.class", "11", "10"),
+                make_class("META-INF/versions/14/module-info.class", "15", 
"14"),
+            ],
+        )
         self.assertListEqual(m.skipped, [])
 
     def test_multirelease_invalid_ver(self) -> None:
-        m = cvv.CVVMagic('10')
-        m.do_jar(jar_path=cvv.FileLoc('b.jar'), 
jar=create_jar(multi_release=True, files=[
-            ('Class.class', 10),
-            ('META-INF/versions/8/Class.class', 8),
-            ('META-INF/versions/hamburger/Class.class', 9874),
-        ]))
+        m = cvv.CVVMagic("10")
+        m.do_jar(
+            jar_path=cvv.FileLoc("b.jar"),
+            jar=create_jar(
+                multi_release=True,
+                files=[
+                    ("Class.class", 10),
+                    ("META-INF/versions/8/Class.class", 8),
+                    ("META-INF/versions/hamburger/Class.class", 9874),
+                ],
+            ),
+        )
 
         def jar_member(path: str) -> cvv.JarLoc:
-            return cvv.JarLoc(cvv.FileLoc('b.jar'), path)
+            return cvv.JarLoc(cvv.FileLoc("b.jar"), path)
 
         def make_class(path: str, ver: str, expected: str) -> cvv.ClassFile:
-            return cvv.ClassFile(jar_member(path), encoded_version=ver, 
expected_version=expected)
+            return cvv.ClassFile(
+                jar_member(path), encoded_version=ver, 
expected_version=expected
+            )
 
-        self.assertListEqual(my_sort(m.good), [
-            make_class('Class.class', '10', '10'),
-        ])
+        self.assertListEqual(
+            my_sort(m.good),
+            [
+                make_class("Class.class", "10", "10"),
+            ],
+        )
         self.assertListEqual(my_sort(m.bad), [])
-        self.assertListEqual(my_sort(m.skipped), [
-            cvv.SkippedVersionDir(
-                jar_member('META-INF/versions/8'),
-                'The version directory "8" is less than 9'),
-            cvv.SkippedVersionDir(
-                jar_member('META-INF/versions/hamburger'),
-                'The version directory "hamburger" is not a number'),
-        ])
+        self.assertListEqual(
+            my_sort(m.skipped),
+            [
+                cvv.SkippedVersionDir(
+                    jar_member("META-INF/versions/8"),
+                    'The version directory "8" is less than 9',
+                ),
+                cvv.SkippedVersionDir(
+                    jar_member("META-INF/versions/hamburger"),
+                    'The version directory "hamburger" is not a number',
+                ),
+            ],
+        )
 
     def test_multirelease_no_manifest(self) -> None:
-        m = cvv.CVVMagic('8')
-        jar = cvv.FileLoc('a.jar')
-        m.do_jar(create_jar(multi_release=False, files=[
-            ('module/App.class', 8),
-            ('module/Class.class', 8),
-            ('META-INF/versions/9/module/App.class', 9),
-            ('META-INF/versions/9/module/Class.class', 9),
-            ('META-INF/versions/10/module/App.class', 10),
-            ('META-INF/versions/10/module/Class.class', 10),
-            # These 2 should be skipped, not reported as errors
-            ('META-INF/versions/7/module/App.class', 7),
-            ('META-INF/versions/7/module/Class.class', 8),
-        ]), jar)
+        m = cvv.CVVMagic("8")
+        jar = cvv.FileLoc("a.jar")
+        m.do_jar(
+            create_jar(
+                multi_release=False,
+                files=[
+                    ("module/App.class", 8),
+                    ("module/Class.class", 8),
+                    ("META-INF/versions/9/module/App.class", 9),
+                    ("META-INF/versions/9/module/Class.class", 9),
+                    ("META-INF/versions/10/module/App.class", 10),
+                    ("META-INF/versions/10/module/Class.class", 10),
+                    # These 2 should be skipped, not reported as errors
+                    ("META-INF/versions/7/module/App.class", 7),
+                    ("META-INF/versions/7/module/Class.class", 8),
+                ],
+            ),
+            jar,
+        )
 
         def jar_member(path: str) -> cvv.JarLoc:
             return cvv.JarLoc(jar, path)
 
         def make_class(path: str) -> cvv.ClassFile:
             return cvv.ClassFile(
-                encoded_version='1.8',
-                expected_version='1.8',
-                loc=jar_member(path))
-
-        self.assertListEqual(my_sort(m.good), [
-            make_class('module/App.class'),
-            make_class('module/Class.class'),
-        ])
-        self.assertListEqual(my_sort(m.bad), [
-            cvv.BadMultireleaseManifest(jar_member('META-INF/MANIFEST.MF'), [
-                jar_member('META-INF/versions/10'),
-                jar_member('META-INF/versions/9'),
-            ]),
-        ])
-        self.assertListEqual(my_sort(m.skipped), [
-            cvv.SkippedVersionDir(jar_member('META-INF/versions/7'),
-                                  'The version directory "7" is less than 9'),
-        ])
+                encoded_version="1.8", expected_version="1.8", 
loc=jar_member(path)
+            )
+
+        self.assertListEqual(
+            my_sort(m.good),
+            [
+                make_class("module/App.class"),
+                make_class("module/Class.class"),
+            ],
+        )
+        self.assertListEqual(
+            my_sort(m.bad),
+            [
+                cvv.BadMultireleaseManifest(
+                    jar_member("META-INF/MANIFEST.MF"),
+                    [
+                        jar_member("META-INF/versions/10"),
+                        jar_member("META-INF/versions/9"),
+                    ],
+                ),
+            ],
+        )
+        self.assertListEqual(
+            my_sort(m.skipped),
+            [
+                cvv.SkippedVersionDir(
+                    jar_member("META-INF/versions/7"),
+                    'The version directory "7" is less than 9',
+                ),
+            ],
+        )
 
     def test_no_manifest(self):
-        m = cvv.CVVMagic('10')
-        jar_path = cvv.FileLoc('/path/to/a.jar')
+        m = cvv.CVVMagic("10")
+        jar_path = cvv.FileLoc("/path/to/a.jar")
 
-        jar = ZipFile(io.BytesIO(), 'w')
-        jar.writestr('module-info.class', create_class_header(10))
+        jar = ZipFile(io.BytesIO(), "w")
+        jar.writestr("module-info.class", create_class_header(10))
 
         m.do_jar(jar, jar_path)
-        self.assertListEqual(m.good, [
-            cvv.ClassFile(cvv.JarLoc(jar_path, 'module-info.class'), '10', 
'10'),
-        ])
+        self.assertListEqual(
+            m.good,
+            [
+                cvv.ClassFile(cvv.JarLoc(jar_path, "module-info.class"), "10", 
"10"),
+            ],
+        )
         self.assertListEqual(m.bad, [])
         self.assertListEqual(m.skipped, [])
 
     def test_maven_generated_manifest(self):
-        m = cvv.CVVMagic('10')
-        jar_path = cvv.FileLoc('a.jar')
+        m = cvv.CVVMagic("10")
+        jar_path = cvv.FileLoc("a.jar")
 
-        jar = ZipFile(io.BytesIO(), 'w')
-        jar.writestr('A.class', create_class_header(10))
-        jar.writestr('META-INF/versions/12/A.class', create_class_header(12))
+        jar = ZipFile(io.BytesIO(), "w")
+        jar.writestr("A.class", create_class_header(10))
+        jar.writestr("META-INF/versions/12/A.class", create_class_header(12))
         this_dir = os.path.dirname(os.path.realpath(__file__))
-        with open(f'{this_dir}/res/maven-generated-manifest.mf', 'rb') as f:
-            jar.writestr('META-INF/MANIFEST.MF', f.read())
+        with open(f"{this_dir}/res/maven-generated-manifest.mf", "rb") as f:
+            jar.writestr("META-INF/MANIFEST.MF", f.read())
 
         m.do_jar(jar, jar_path)
 
         def jar_member(member: str) -> cvv.JarLoc:
             return cvv.JarLoc(jar_path, member)
 
-        self.assertListEqual(m.good, [
-            cvv.GoodFile(jar_member('A.class'), '10', '10'),
-            cvv.GoodFile(jar_member('META-INF/versions/12/A.class'), '12', 
'12'),
-        ])
+        self.assertListEqual(
+            m.good,
+            [
+                cvv.GoodFile(jar_member("A.class"), "10", "10"),
+                cvv.GoodFile(jar_member("META-INF/versions/12/A.class"), "12", 
"12"),
+            ],
+        )
         self.assertListEqual(m.bad, [])
         self.assertListEqual(m.skipped, [])

Reply via email to