commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 01/07: base: Added argparse equivalent for


From: git
Subject: [Commit-gnuradio] [gnuradio] 01/07: base: Added argparse equivalent for eng_option
Date: Mon, 6 Jul 2015 23:37:00 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch master
in repository gnuradio.

commit b3ac0d53c7ce1bd0763704aa20a36f446aeb2e10
Author: Martin Braun <address@hidden>
Date:   Sat Jun 27 11:46:07 2015 -0700

    base: Added argparse equivalent for eng_option
---
 gnuradio-runtime/python/gnuradio/CMakeLists.txt |  1 +
 gnuradio-runtime/python/gnuradio/eng_arg.py     | 53 +++++++++++++++++++++++++
 2 files changed, 54 insertions(+)

diff --git a/gnuradio-runtime/python/gnuradio/CMakeLists.txt 
b/gnuradio-runtime/python/gnuradio/CMakeLists.txt
index bd566ed..d29e6aa 100644
--- a/gnuradio-runtime/python/gnuradio/CMakeLists.txt
+++ b/gnuradio-runtime/python/gnuradio/CMakeLists.txt
@@ -31,6 +31,7 @@ GR_PYTHON_INSTALL(FILES
     __init__.py
     eng_notation.py
     eng_option.py
+    eng_arg.py
     gr_unittest.py
     gr_xmlrunner.py
     DESTINATION ${GR_PYTHON_DIR}/gnuradio
diff --git a/gnuradio-runtime/python/gnuradio/eng_arg.py 
b/gnuradio-runtime/python/gnuradio/eng_arg.py
new file mode 100644
index 0000000..05cd8a1
--- /dev/null
+++ b/gnuradio-runtime/python/gnuradio/eng_arg.py
@@ -0,0 +1,53 @@
+#
+# Copyright 2015 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
+'''
+Add support for engineering notation to argparse.ArgumentParser
+'''
+
+import argparse
+from gnuradio import eng_notation
+
+def intx(string):
+    """
+    Generic integer type, will interpret string as string literal.
+    Does the right thing for 0x1F, 0b10101, 010.
+    """
+    try:
+        return int(string, 0)
+    except:
+        raise argparse.ArgumentTypeError(
+            "Invalid integer value: {}".format(string)
+        )
+
+def eng_float(string):
+    """
+    Takes a string, returns a float. Accepts engineering notation.
+    Designed for use with argparse.ArgumentParser.
+    Will raise an ArgumentTypeError if not possible.
+    """
+    try:
+        return eng_notation.str_to_num(string)
+    except:
+        raise argparse.ArgumentTypeError(
+            "Invalid engineering notation value: {}".format(string)
+        )
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]