<reponame>betrusted-io/prjxray<gh_stars>1-10
#!/bin/python
'''
Extract the frames from the output of the prjxray bitread tool.
'''

import sys
import re


def extract_frames(args):
    """ Extract the frame addresses and the corresponding content """
    frames_dict = dict()
    with open(args[1], 'r') as f:
        parse_frames = False
        for cnt, line in enumerate(f):
            if line.startswith("\n"):
                parse_frames = False
                continue
            line = line.strip()
            if not parse_frames and not line.startswith("Frame"):
                continue
            if line.startswith("Frame"):
                match = re.match("Frame 0x([0-9a-fA-F]+) ", line)
                frame_addr = "0x" + match.group(1).upper()
                parse_frames = True
                frames_dict[frame_addr] = list()
                continue
            for frame in line.split():
                frames_dict[frame_addr].append("0x" + frame.upper())
    for addr, words in frames_dict.items():
        print("{addr} {words}".format(addr=addr, words=",".join(words)))


if __name__ == "__main__":
    extract_frames(sys.argv)

#!/bin/python
'''
Extract the frames from the output of the prjxray bitread tool.
'''

import sys
import re


def extract_frames(args):
    """ Extract the frame addresses and the corresponding content """
    frames_dict = dict()
    with open(args[1], 'r') as f:
        parse_frames = False
        for cnt, line in enumerate(f):
            if line.startswith("\n"):
                parse_frames = False
                continue
            line = line.strip()
            if not parse_frames and not line.startswith("Frame"):
                continue
            if line.startswith("Frame"):
                match = re.match("Frame 0x([0-9a-fA-F]+) ", line)
                frame_addr = "0x" + match.group(1).upper()
                parse_frames = True
                frames_dict[frame_addr] = list()
                continue
            for frame in line.split():
                frames_dict[frame_addr].append("0x" + frame.upper())
    for addr, words in frames_dict.items():
        print("{addr} {words}".format(addr=addr, words=",".join(words)))


if __name__ == "__main__":
    extract_frames(sys.argv)
#!/bin/python Extract the frames from the output of the prjxray bitread tool. Extract the frame addresses and the corresponding content