Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

executable file 45 lines (35 sloc) 1.34 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
#!/usr/bin/env python

# * Copyright 2011 Alistair Buxton <a.j.buxton@gmail.com>
# *
# * License: 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 3 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.

# Demultiplex a magazine from a teletext packet stream.
# Usage: cat <data> | ./demux.py <magazines> | ./print.py

import sys
import numpy as np

from util import mrag

if __name__=='__main__':

    showmags = []
    onlyheaders = False
    for x in sys.argv[1:]:
      try:
        showmags.append(int(x, 10))
      except ValueError:
        if x == 'h':
          onlyheaders = True

    if showmags == []:
      showmags = [0, 1, 2, 3, 4, 5, 6, 7]

    while(True):
        tt = sys.stdin.read(42)
        if len(tt) < 42:
            exit(0)
        ((m,r),e) = mrag(np.fromstring(tt[:2], dtype=np.uint8))
        if m in showmags:
          if (not onlyheaders) or r == 0:
            sys.stdout.write(tt)
            sys.stdout.flush()

Something went wrong with that request. Please try again.