aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-01-22 22:41:04 +0100
committerHarald Welte <laforge@gnumonks.org>2017-01-24 17:09:26 +0100
commit78ced2084d7732bc2a37a9eb9bb37c9392372066 (patch)
tree1c2b5bd798b62096e369f644b053db2ec06a087a
parentdb5831c1c95debf40daef459c873f4d743bb06f2 (diff)
qxdm_db.py: Move value_string code generator to separate file
-rw-r--r--tools/qxdm_db.py11
-rw-r--r--tools/value_string.py29
2 files changed, 30 insertions, 10 deletions
diff --git a/tools/qxdm_db.py b/tools/qxdm_db.py
index 126cfbc..81b19a3 100644
--- a/tools/qxdm_db.py
+++ b/tools/qxdm_db.py
@@ -18,16 +18,7 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import csv
-
-def export_value_str(name, vals, flavor='osmocom'):
- if flavor == 'osmocom':
- print("const struct value_string %s[] = {" % name);
- elif flavor == 'wireshark':
- print("const value_string %s[] = {" % name);
- for v in sorted(vals.iterkeys(), key=int):
- print("\t{ %d, \"%s\" }," % (int(v), vals[v]));
- print("\t{ 0, NULL }")
- print("};");
+from value_string import export_value_str
class QxdmDb(object):
file_fields = {
diff --git a/tools/value_string.py b/tools/value_string.py
new file mode 100644
index 0000000..2bdc499
--- /dev/null
+++ b/tools/value_string.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+#
+# Helpers for 'struct value_string' as found in libosmocore and wireshark
+# (C) 2017 by Harald Welte <laforge@gnumonks.org>
+#
+# This program 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 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+def export_value_str(name, vals, flavor='osmocom', sort_key=int):
+ if flavor == 'osmocom':
+ print("const struct value_string %s[] = {" % name);
+ elif flavor == 'wireshark':
+ print("const value_string %s[] = {" % name);
+ for v in sorted(vals.iterkeys(), key=sort_key):
+ print("\t{ %s, \"%s\" }," % (v, vals[v]));
+ print("\t{ 0, NULL }")
+ print("};");