Robot Framework Integrated Development Environment (RIDE)
jartemplate.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 os
17 from posixpath import normpath, join
18 from contextlib import contextmanager
19 from java.io import BufferedReader, InputStreamReader
20 
21 # Works only when running from jar
22 from org.robotframework.RobotRunner import getResourceAsStream
23 
24 
25 class HtmlTemplate():
26 
29  _base_dir = '/Lib/robot/htmldata/'
30 
31  def __init__(self, filename):
32  self._path_path = normpath(join(self._base_dir_base_dir, filename.replace(os.sep, '/')))
33 
34  def __iter__(self):
35  with self._reader_reader_reader as reader:
36  line = reader.readLine()
37  while line is not None:
38  yield line.rstrip()
39  line = reader.readLine()
40 
41  @property
42  @contextmanager
43  _reader = property
44 
45  def _reader(self):
46  stream = getResourceAsStream(self._path_path)
47  reader = BufferedReader(InputStreamReader(stream, 'UTF-8'))
48  try:
49  yield reader
50  finally:
51  reader.close()
def normpath(path, case_normalize=False)
Replacement for os.path.normpath with some enhancements.
Definition: robotpath.py:68