Browse Source

CLI now allows to specify outputdir

pitchum 8 years ago
parent
commit
3c7f2bcb58
1 changed files with 11 additions and 7 deletions
  1. 11 7
      ccoop_resplit.py

+ 11 - 7
ccoop_resplit.py

@@ -149,7 +149,8 @@ class CsvStatementParser(object):
                         print("Attention. Il y a peut-être des écritures manquantes après le %s (fichier %s)." % (last_op[0:10], os.path.basename(filename)))
         print("")
 
-def start_cli(dirpath):
+
+def start_cli(dirpath, outputdir):
     # Lecture des fichiers CSV présents dans le dossier
     p = CsvStatementParser()
     for f in sorted(os.listdir(dirpath)):
@@ -160,21 +161,24 @@ def start_cli(dirpath):
     # Recherche de chevauchements
     p.check_overlaps()
     
-    # Création d'un dossier pour stocker les fichiers générés
-    outputdir = os.path.join(dirpath, "output")
-    if not os.path.isdir(outputdir):
-        os.makedirs(outputdir)
-    
     # Générer un relevé intégral et des relevés mensuels
     suffix = "_{0:%Y-%m-%d}__{1:%Y-%m-%d}".format(p.daterange[0], p.daterange[1])
     if len(p.badmonths): suffix += "_avec_des_trous"
     p.dump_full(os.path.join(outputdir, "integral%s.csv" % suffix))
     p.dump_monthly_reports(outputdir)
 
+
 if __name__ == '__main__':
     if len(sys.argv) < 2:
         print("Erreur. Merci de préciser le chemin du dossier où se trouvent les fichiers CSV à analyser.")
         sys.exit(1)
     inputdir = sys.argv[1]
-    start_cli(inputdir)
+    if len(sys.argv) > 2:
+        outputdir = sys.argv[2]
+    else:
+        outputdir = os.path.join(inputdir, "outputdir")
+    # Création d'un dossier output si besoin
+    if not os.path.isdir(outputdir):
+        os.makedirs(outputdir)
+    start_cli(inputdir, outputdir)