Parcourir la source

ccoop_resplit.py works with abspaths.

pitchum il y a 8 ans
Parent
commit
6aad390942
1 fichiers modifiés avec 5 ajouts et 5 suppressions
  1. 5 5
      ccoop_resplit.py

+ 5 - 5
ccoop_resplit.py

@@ -47,7 +47,7 @@ class CsvStatementParser(object):
     
     
     
     
     def _parse_file(self, filename, reader):
     def _parse_file(self, filename, reader):
-        print("Lecture du fichier %s" % filename)
+        print("Lecture du fichier %s" % os.path.basename(filename))
         for row in reader:
         for row in reader:
             opdate = datetime.strptime(row[self.date_fieldname], '%d/%m/%Y')
             opdate = datetime.strptime(row[self.date_fieldname], '%d/%m/%Y')
             ophash = datetime.strftime(opdate, '%Y-%m-%d') + hashlib.md5(json.dumps(row).encode()).hexdigest()
             ophash = datetime.strftime(opdate, '%Y-%m-%d') + hashlib.md5(json.dumps(row).encode()).hexdigest()
@@ -125,7 +125,7 @@ class CsvStatementParser(object):
                         if self.first_ops[candidate] == first_op:
                         if self.first_ops[candidate] == first_op:
                             otherfiles.remove(candidate)
                             otherfiles.remove(candidate)
                 if len(otherfiles) == 0:
                 if len(otherfiles) == 0:
-                    print("Attention. Il y a peut-être des écritures manquantes après le %s (fichier %s)." % (first_op[0:10], filename))
+                    print("Attention. Il y a peut-être des écritures manquantes après le %s (fichier %s)." % (first_op[0:10], os.path.basename(filename)))
         
         
         for filename, last_op in self.last_ops.items():
         for filename, last_op in self.last_ops.items():
             if last_op in self.overlap_detector:
             if last_op in self.overlap_detector:
@@ -137,7 +137,7 @@ class CsvStatementParser(object):
                         if self.last_ops[candidate] == last_op:
                         if self.last_ops[candidate] == last_op:
                             otherfiles.remove(candidate)
                             otherfiles.remove(candidate)
                 if len(otherfiles) == 0:
                 if len(otherfiles) == 0:
-                    print("Attention. Il y a peut-être des écritures manquantes avant le %s (fichier %s)." % (last_op[0:10], filename))
+                    print("Attention. Il y a peut-être des écritures manquantes avant le %s (fichier %s)." % (last_op[0:10], os.path.basename(filename)))
         print("")
         print("")
 
 
 def start_cli(dirpath):
 def start_cli(dirpath):
@@ -145,14 +145,14 @@ def start_cli(dirpath):
     p = CsvStatementParser()
     p = CsvStatementParser()
     for f in sorted(os.listdir(dirpath)):
     for f in sorted(os.listdir(dirpath)):
         if f.endswith('.csv') or f.endswith('.CSV'):
         if f.endswith('.csv') or f.endswith('.CSV'):
-            p.parse(f)
+            p.parse(os.path.join(dirpath, f))
     print("Les écritures lues s'étalent entre le {0:%d %B %Y} et le {1:%d %B %Y}.".format(p.daterange[0], p.daterange[1]))
     print("Les écritures lues s'étalent entre le {0:%d %B %Y} et le {1:%d %B %Y}.".format(p.daterange[0], p.daterange[1]))
     
     
     # Recherche de chevauchements
     # Recherche de chevauchements
     p.check_overlaps()
     p.check_overlaps()
     
     
     # Création d'un dossier pour stocker les fichiers générés
     # Création d'un dossier pour stocker les fichiers générés
-    outputdir = "output"
+    outputdir = os.path.join(dirpath, "output")
     if not os.path.isdir(outputdir):
     if not os.path.isdir(outputdir):
         os.makedirs(outputdir)
         os.makedirs(outputdir)