diff --git a/t42split b/t42split new file mode 100644 index 0000000..f3f5ba6 --- /dev/null +++ b/t42split @@ -0,0 +1,26 @@ +#!/usr/bin/env python + +import sys +import os + +from teletext.t42.pipeline import reader, make_service +from teletext.t42.packet import Packet + +if sys.platform == "win32": + import os, msvcrt + msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) + +service = make_service(reader(open(sys.argv[1], 'rb'))) + +for magazineno,magazine in service.magazines.iteritems(): + for pageno,page in magazine.pages.iteritems(): + for subpageno,subpage in page.subpages.iteritems(): + if magazineno == 0: + mag = 8 + else: + mag = magazineno + outfile = open(os.path.join(sys.argv[2], 'P%d%02X-%04X.t42' % (mag, pageno, subpageno)), 'wb') + subpagepackets = subpage.to_packets(magazineno, pageno, subpageno, magazine.header(magazineno, subpage)) + for i in subpagepackets: + outfile.write(i.to_bytes()) + outfile.close() \ No newline at end of file