File size: 2,447 Bytes
a103028
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

import importlib.util

from .Common import *
from .Git import *
from .Log import *

from datetime import date

def printHeader(file_path):
    global StartTime
    StartTime = datetime.datetime.now()

    parent_dir = GetParentDir(file_path)    
    message = ""

    version_lib = importlib.util.find_spec("version")

    if IsInsideGitRepository():
        current_dir = GetCurrentDir()
        ChangeDir(parent_dir, True)
        
        today = date.today()
        datetag = today.strftime("%m%d")
        
        # Note: we need escape character because these double quotes will go inside another string in version.py
        message = message + "{"
        message = message + "\\\"path\\\":\\\"" + file_path + "\\\""
        message = message + ","
        message = message + "\\\"build_tag\\\":\\\"" + datetag + "-" + git_revision_hash() + "\\\""
        message = message + ","
        message = message + "\\\"branch\\\":\\\"" + git_revision_branch() + "\\\""
        message = message + ","
        message = message + "\\\"version\\\":\\\"" + git_version() + "\\\""
        if git_diff_word_count() > 0:
            message = message + ","
            message = message + "\\\"local_changes\\\":\\\"true\\\""
        message = message + "}"

        ChangeDir(current_dir, True)
        log.info("Begin " + message)

    elif version_lib is not None:
        import version
        version_text = version.Get()
        start_tag = "INFO Begin"
        if version_text.startswith(start_tag):
            version_text = version_text[len(start_tag):]
        else:
            log.error("invalid version_text" + version_text)

        log.info("Begin " + version_text)

def printFooter(file_path, ret_code = 0, extra_flags = {}):
    EndTime = datetime.datetime.now()

    __secs  = round( (EndTime - StartTime).total_seconds(), 2 )
    __mins  = round( __secs / 60, 2 )

    footer = "Ended {\"path\":\"" + file_path + "\",\"code\":\"" + str(ret_code) + "\""

    if ret_code == 0:
        footer = footer + ",\"status\":\"success\""
    else:
        footer = footer + ",\"status\":\"failure\""

    footer = footer + ",\"runtime_mins\":" + str(__mins)

    for key, value in extra_flags.items():
        if isinstance(value,str):
            footer = footer + ",\"" + key + "\":" + "\"" + str(value) + "\""
        else:
            footer = footer + ",\"" + key + "\":" + str(value)

    log.info(footer + "}")

    return __secs