summaryrefslogtreecommitdiff
path: root/tools/trace/tcreator/writer.py
blob: 8e6d70b3c7660a0981ecd3c81a1062df51a3afd6 (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import sys
import time
import os

from lib.traceclass import *

templatedir = os.path.split (__file__)[0]

class Writer:

    """Template writer"""
    def __init__ (self, name, enum_name):
        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 (templatedir + '/template.h', 'r')
        template = f.read()
        f.close()

        if self.__name != None:
            define = self.__name.replace('.', '_')
        else:
            define = "trace.h"
        template = template.replace('%%template%%', define)

        if self.__enum_name == None:
            template = template.replace('%%enum_name%%', "trace_id_t")
        else:
            template = template.replace('%%enum_name%%', self.__enum_name)

        template = template.replace('%%data%%', string)
        template = template.replace('%%year%%', time.strftime ('%Y'))
        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