]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/commitdiff
Add config file option to the command line
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 14 Jul 2016 11:25:41 +0000 (13:25 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 14 Jul 2016 11:25:41 +0000 (13:25 +0200)
helpers/__init__.py
helpers/mapping.py

index f3e59674ecfddb151ef730552187e0e858b37135..2131c2a41a31bc8c628e60068e9f45ea298d44f4 100644 (file)
@@ -2,6 +2,13 @@
 import sys
 import os
 
+class Config:
+    def __init__(self, **kwargs):
+        for arg in kwargs:
+            setattr(self, arg, kwargs[arg])
+
+config = Config(yml_file="config.yml")
+
 def path():
     if getattr(sys, 'frozen', False):
         return sys._MEIPASS + "/"
@@ -11,6 +18,10 @@ def path():
 
 def parse_args():
     for arg in sys.argv:
+        if arg[0:2] == "-c":
+            sys.argv.remove(arg)
+            config.yml_file = arg[2:]
+
         if arg == "-v":
             sys.argv.remove(arg)
 
@@ -22,6 +33,9 @@ def parse_args():
                 print("option '-v' can only be used in bundled package")
             sys.exit()
 
+def yml_file():
+    return config.yml_file
+
 def duration_to_min_sec(duration):
     minutes = int(duration / 60)
     seconds = int(duration) % 60
index e800778f9ad0f5d9fee7b3a5a0fe85cdd992808f..dd512466cd8c7d81379659ce2c62c68ffc392ba1 100644 (file)
@@ -10,6 +10,7 @@ import sys
 
 from .lock import *
 from .music_file import *
+from . import yml_file
 
 class Mapping(RelativeLayout):
     expected_keys = NumericProperty(0)
@@ -83,7 +84,7 @@ class Mapping(RelativeLayout):
             self.running.remove((key, start_time))
 
     def parse_config(self):
-        stream = open("config.yml", "r")
+        stream = open(yml_file(), "r")
         config = yaml.load(stream)
         stream.close()