]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blobdiff - helpers/__init__.py
Add config file option to the command line
[perso/Immae/Projets/Python/MusicSampler.git] / helpers / __init__.py
index 40a96afc6ff09d58a702b76e3f7dd412fe975e26..2131c2a41a31bc8c628e60068e9f45ea298d44f4 100644 (file)
@@ -1 +1,45 @@
 # -*- coding: utf-8 -*-
+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 + "/"
+    else:
+        path = os.path.dirname(os.path.realpath(__file__))
+        return 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)
+
+            if getattr(sys, 'frozen', False):
+                f = open(path() + ".pyinstaller_commit", "r")
+                print(f.read(), end="")
+                f.close()
+            else:
+                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
+    if minutes < 100:
+        return "{:2}:{:0>2}".format(minutes, seconds)
+    else:
+        return "{}:{:0>2}".format(minutes, seconds)