From ced83335a5a338cb9c24956b96da526465d94df8 Mon Sep 17 00:00:00 2001 From: ficus Date: Sat, 15 Sep 2012 22:50:14 +0200 Subject: refactor to distributable format --- torouterui/util.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 torouterui/util.py (limited to 'torouterui/util.py') diff --git a/torouterui/util.py b/torouterui/util.py new file mode 100644 index 0000000..dc3b6c0 --- /dev/null +++ b/torouterui/util.py @@ -0,0 +1,28 @@ +""" +Utility functions used by helper code to crudely grab the output of simple UNIX +command line programs, plus a couple misc other functions. +""" + +import os + +def cli_read(cmd): + p = os.popen(cmd) + return ''.join(p.readlines()) + +def cli_read_lines(cmd): + p = os.popen(cmd) + return p.readlines() + +def fs_read(path): + with open(path, 'r') as f: + return ''.join(f.readlines()) + +def prefix_to_ipv4_mask(prefixlen): + assert(prefixlen >= 0) + assert(prefixlen <= 32) + mask = (0xFFFFFFFF & (0xFFFFFFFF << (32 - prefixlen))) + a = (0xFF000000 & mask) >> 24 + b = (0x00FF0000 & mask) >> 16 + c = (0x0000FF00 & mask) >> 8 + d = (0x000000FF & mask) + return '%d.%d.%d.%d' % (a, b, c, d) -- cgit v1.2.3