From 120b2049887842624013d6086152b7a96ce0faac Mon Sep 17 00:00:00 2001
From: jvoisin <julien.voisin@dustri.org>
Date: Thu, 6 Sep 2018 11:13:11 +0200
Subject: [PATCH] Change a bit the previous commit

---
 libmat2/__init__.py |  5 +++--
 mat2                | 15 ++++++++-------
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/libmat2/__init__.py b/libmat2/__init__.py
index 8a5b064..101c7f1 100644
--- a/libmat2/__init__.py
+++ b/libmat2/__init__.py
@@ -2,7 +2,7 @@
 
 import os
 import collections
-from enum import Enum
+import enum
 import importlib
 from typing import Dict, Optional
 
@@ -64,7 +64,8 @@ def check_dependencies() -> dict:
 
     return ret
 
-class UnknownMemberPolicy(Enum):
+@enum.unique
+class UnknownMemberPolicy(enum.Enum):
     ABORT = 'abort'
     OMIT = 'omit'
     KEEP = 'keep'
diff --git a/mat2 b/mat2
index 0aba8d1..23a09d3 100755
--- a/mat2
+++ b/mat2
@@ -10,8 +10,8 @@ import multiprocessing
 import logging
 
 try:
-    from libmat2 import (parser_factory, UNSUPPORTED_EXTENSIONS, check_dependencies,
-                         UnknownMemberPolicy)
+    from libmat2 import parser_factory, UNSUPPORTED_EXTENSIONS
+    from libmat2 import check_dependencies, UnknownMemberPolicy
 except ValueError as e:
     print(e)
     sys.exit(1)
@@ -44,7 +44,7 @@ def create_arg_parser():
                         help='show more verbose status information')
     parser.add_argument('--unknown-members', metavar='policy', default='abort',
                         help='how to handle unknown members of archive-style files (policy should' +
-                        ' be one of: ' + ', '.join([x.value for x in UnknownMemberPolicy]) + ')')
+                        ' be one of: %s)' % ', '.join(p.value for p in UnknownMemberPolicy))
 
 
     info = parser.add_mutually_exclusive_group()
@@ -141,11 +141,12 @@ def main():
         unknown_member_policy = UnknownMemberPolicy(args.unknown_members)
         if unknown_member_policy == UnknownMemberPolicy.KEEP:
             logging.warning('Keeping unknown member files may leak metadata in the resulting file!')
-        p = multiprocessing.Pool()
-        mode = (args.lightweight is True)
-        l = zip(__get_files_recursively(args.files), itertools.repeat(mode),
-                itertools.repeat(unknown_member_policy))
 
+        rep_mode = itertools.repeat(args.lightweight is True)
+        rep_policy = itertools.repeat(unknown_member_policy)
+        l = zip(__get_files_recursively(args.files), rep_mode, rep_policy)
+
+        p = multiprocessing.Pool()
         ret = list(p.imap_unordered(clean_meta, list(l)))
         return 0 if all(ret) else -1
 
-- 
GitLab