diff options
author | Ben Reynwar <ben@reynwar.net> | 2013-03-08 20:40:42 -0700 |
---|---|---|
committer | Ben Reynwar <ben@reynwar.net> | 2013-03-08 20:40:42 -0700 |
commit | b840ea9a09f1048cac2d7d0ea8fe199294c6242e (patch) | |
tree | f5a74a4b874cc5b72936b1b54130a92482992c3e /gr-pager/python/pager/pager_utils.py | |
parent | 5455eb54fea3aadc3ebb7569b5ed8b46837bd47e (diff) |
pager: Enabling uninstalled python imports.
Diffstat (limited to 'gr-pager/python/pager/pager_utils.py')
-rw-r--r-- | gr-pager/python/pager/pager_utils.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/gr-pager/python/pager/pager_utils.py b/gr-pager/python/pager/pager_utils.py new file mode 100644 index 0000000000..e935c86d4b --- /dev/null +++ b/gr-pager/python/pager/pager_utils.py @@ -0,0 +1,60 @@ +# +# Copyright 2008,2009 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 this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# + +from gnuradio import gr +import gnuradio.gr.gr_threading as _threading +from string import split, join, printable +import time + +def make_trans_table(): + table = 256 * ['.'] + for i in range(256): + if (i < 32): + table[i] = '.' + else: + table[i] = chr(i) + return ''.join(table) + +_trans_table = make_trans_table() + +def make_printable(s): + return s.translate(_trans_table) + + +class queue_runner(_threading.Thread): + def __init__(self, msgq): + _threading.Thread.__init__(self) + self.msgq = msgq + self.done = False + self.start() + + def run(self): + while 1: + msg = self.msgq.delete_head() # Blocking read + if msg.type() != 0: + break + + page = join(split(msg.to_string(), chr(128)), '|') + s = make_printable(page) + print msg.type(), s + + def end(self): + self.msgq.insert_tail(gr.message(1)) + self.done = True |