summaryrefslogtreecommitdiff
path: root/tools/trace/tcreator/writer.py
blob: 8bfaf0fbeadb732f3340d43af4d0cf2582c84c1b (plain)
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
import sys

from lib.traceclass import *

class Writer:

    """Template writer"""
    def __init__ (self, name, enum_name = "trace_id"):
        self.__name = name
        self.__enum_name = enum_name

    def parse_list (self, event_list = None):
        if event_list != None:
            string = ""
            for i in range (0, len (event_list)):
                string += "    TRACE_" + event_list[i].name() + ",\n"
            string += "    TRACE_NB"
            return string.upper()

    def __read_template__ (self, string):
        f = open ('tcreator/template.h', 'r')
        template = f.read()
        f.close()
        define = self.__name.replace('.', '_')
        template = template.replace('%%template%%', define)
        template = template.replace('%%enum_name%%', self.__enum_name)
        template = template.replace('%%data%%', string)
        return template


    def write_file (self, string):
        template = self.__read_template__(string)
        f = open (self.__name, 'w')
        f.write (template)
        f.close()

    def print_file (self, string):
        template = self.__read_template__(string)
        print template