aboutsummaryrefslogtreecommitdiffstats
path: root/pySim/utils.py
diff options
context:
space:
mode:
authorSylvain Munaut <tnt@246tNt.com>2010-12-07 00:24:32 +0100
committerSylvain Munaut <tnt@246tNt.com>2010-12-07 00:24:32 +0100
commit76504e0a6e7689d374b557e054299281bdb9c951 (patch)
tree575bdfd043be2ee57d4744ac8a8e7aa77ee43e1c /pySim/utils.py
parentbe17997e55cb5544d3cc74c981b4d605b9e0a7dc (diff)
Split all things into a more "library-like" package
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Diffstat (limited to 'pySim/utils.py')
-rw-r--r--pySim/utils.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/pySim/utils.py b/pySim/utils.py
new file mode 100644
index 0000000..d8b9518
--- /dev/null
+++ b/pySim/utils.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+""" pySim: various utilities
+"""
+
+#
+# Copyright (C) 2009-2010 Sylvain Munaut <tnt@246tNt.com>
+#
+# 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, see <http://www.gnu.org/licenses/>.
+#
+
+
+def h2b(s):
+ return ''.join([chr((int(x,16)<<4)+int(y,16)) for x,y in zip(s[0::2], s[1::2])])
+
+def b2h(s):
+ return ''.join(['%02x'%ord(x) for x in s])
+
+def h2i(s):
+ return [(int(x,16)<<4)+int(y,16) for x,y in zip(s[0::2], s[1::2])]
+
+def i2h(s):
+ return ''.join(['%02x'%(x) for x in s])
+
+def swap_nibbles(s):
+ return ''.join([x+y for x,y in zip(s[1::2], s[0::2])])
+
+def rpad(s, l, c='f'):
+ return s + c * (l - len(s))
+
+def lpad(s, l, c='f'):
+ return c * (l - len(s)) + s