Robot Framework
output.py
Go to the documentation of this file.
1 # Copyright 2008-2015 Nokia Networks
2 # Copyright 2016- Robot Framework Foundation
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 
16 import datetime
17 import os
18 import time
19 
20 from robot.utils import file_writer
21 
22 
24 
25  def __init__(self, output_path, format):
26  self._output_path_output_path = output_path
27  self._format_format = format.upper()
28  self._output_file_output_file = None
29 
30  def __enter__(self):
31  if self._format_format == 'HTML':
32  self._output_file_output_file = file_writer(self._output_path_output_path,
33  usage='Libdoc output')
34  return self._output_file_output_file
35  return self._output_path_output_path
36 
37  def __exit__(self, *exc_info):
38  if self._output_file_output_file:
39  self._output_file_output_file.close()
40  if any(exc_info):
41  try:
42  os.remove(self._output_path_output_path)
43  except OSError:
44  pass
45 
46 
47 
53  ts = float(os.getenv('SOURCE_DATE_EPOCH', time.time()))
54  dt = datetime.datetime.fromtimestamp(round(ts), datetime.timezone.utc)
55  return dt.isoformat()
def __exit__(self, *exc_info)
Definition: output.py:37
def __init__(self, output_path, format)
Definition: output.py:25
def get_generation_time()
Return a timestamp that honors SOURCE_DATE_EPOCH.
Definition: output.py:52
def file_writer(path=None, encoding='UTF-8', newline=None, usage=None)
Definition: robotio.py:25