40 lines
1.2 KiB
Python
Executable File
40 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
# Copyright 2016 The Chromium Authors
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
"""Takes a timestamp and writes it in as readable text to a .h file."""
|
|
|
|
import argparse
|
|
import datetime
|
|
import os
|
|
import sys
|
|
|
|
|
|
def main():
|
|
argument_parser = argparse.ArgumentParser()
|
|
argument_parser.add_argument('output_file', help='The file to write to')
|
|
argument_parser.add_argument('timestamp')
|
|
args = argument_parser.parse_args()
|
|
|
|
date_val = int(args.timestamp)
|
|
date = datetime.datetime.utcfromtimestamp(date_val)
|
|
output = ('// Generated by //base/write_build_date_header.py\n'
|
|
'#ifndef BASE_GENERATED_BUILD_DATE_TIMESTAMP \n'
|
|
f'#define BASE_GENERATED_BUILD_DATE_TIMESTAMP {date_val}'
|
|
f' // {date:%b %d %Y %H:%M:%S}\n'
|
|
'#endif // BASE_GENERATED_BUILD_DATE_TIMESTAMP \n')
|
|
|
|
current_contents = ''
|
|
if os.path.isfile(args.output_file):
|
|
with open(args.output_file, 'r') as current_file:
|
|
current_contents = current_file.read()
|
|
|
|
if current_contents != output:
|
|
with open(args.output_file, 'w') as output_file:
|
|
output_file.write(output)
|
|
return 0
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|