summaryrefslogtreecommitdiff
path: root/interface/__main__.py
diff options
context:
space:
mode:
authorBen Connors <benconnors@outlook.com>2019-12-03 10:24:42 -0500
committerBen Connors <benconnors@outlook.com>2019-12-03 10:24:42 -0500
commit1ea9b37468b2cffc6c6c62dd767ab4d3956e54c7 (patch)
tree6d758d241de75229cbb1696ea1f38821fa856cef /interface/__main__.py
parent7b8505af6c74abd98462662acda0b2dbb46c328d (diff)
Interface fixes
- Don't use italics if unavailable - Add more command-line options - Fix channels indexing from 1 in interface (now 0)
Diffstat (limited to 'interface/__main__.py')
-rw-r--r--interface/__main__.py46
1 files changed, 41 insertions, 5 deletions
diff --git a/interface/__main__.py b/interface/__main__.py
index 878b263..b1267c8 100644
--- a/interface/__main__.py
+++ b/interface/__main__.py
@@ -1,12 +1,48 @@
+#!/usr/bin/env python3
+
+import argparse as ap
import datetime as dt
import os
import sys
from .interface import Interface
-from .ola import OLAOutput
-#from .dummy import DummyOutput
-if len(sys.argv) > 2:
- raise ValueError("Usage: %s [workspace file]" % sys.argv[0])
+parser = ap.ArgumentParser(description="Curses interface for BLC2")
+parser.add_argument("-o", "--output", default="ola", action="store", help="Select the output")
+parser.add_argument("workspace", nargs='?', default=None, help="Workspace file to use")
+
+args = parser.parse_args()
+
+output = args.output.lower()
+if output == "none":
+ class NoOutput:
+ name = "None"
+
+ def set_values(self, values):
+ pass
+
+ @property
+ def ok(self):
+ return True
+
+ @property
+ def status(self):
+ return "Nothing's good"
+
+ def __init__(self):
+ pass
+
+ output = NoOutput()
+
+elif output == "dummy":
+ from .dummy import DummyOutput
+
+ output = DummyOutput()
+elif output == "ola":
+ from .ola import OLAOutput
+
+ output = OLAOutput()
+else:
+ raise ValueError("Unknown output \"%s\"" % output)
-Interface(sys.argv[1] if len(sys.argv) == 2 else None, OLAOutput()).main()
+Interface(args.workspace, output).main()