Sometimes we need to append the content to an existing file. Here is the way using python.
From the code below, you'll find we have to open the file twice. that's because in the first time, after we get the content, the pointer is pointing to the end of the file. So we need to reopen the file with write mode.
in python ''' means you can put a text block here like the way using in skype / slack etc.
def dump_result_to_file(self, result_items):
# if the result file not existing, create it and dump the test result to the file
if not os.path.isfile("tmp/result.json"):
result_dict = dict()
result_dict["all_tests"] = "{server}{all_tests}".format(server=self.env_setup['wpt']['wpt_server'],
all_tests=self.env_setup['wpt']['all_tests'])
result_dict[self.config.label] = result_items
with open("tmp/result.json", "w") as result_file:
try:
json.dump(result_dict, result_file, sort_keys=True, indent=4)
except ValueError:
print("No result!")
# else, append the test result to existed file
else:
with open("tmp/result.json") as f:
feeds = json.load(f)
feeds[self.config.label] = result_items
with open("tmp/result.json", "w") as result_file:
json.dump(feeds, result_file, sort_keys=True, indent=4)
print('''
Please check your test in {}
'''.format(result_dict["all_tests"]))