8784: Fix test for latest firefox.
[arvados.git] / sdk / python / arvados / crunch.py
1 from builtins import object
2 import json
3 import os
4
5 class TaskOutputDir(object):
6     """Keep-backed directory for staging outputs of Crunch tasks.
7
8     Example, in a crunch task whose output is a file called "out.txt"
9     containing "42":
10
11         import arvados
12         import arvados.crunch
13         import os
14
15         out = arvados.crunch.TaskOutputDir()
16         with open(os.path.join(out.path, 'out.txt'), 'w') as f:
17             f.write('42')
18         arvados.current_task().set_output(out.manifest_text())
19     """
20     def __init__(self):
21         self.path = os.environ['TASK_KEEPMOUNT_TMP']
22
23     def __str__(self):
24         return self.path
25
26     def manifest_text(self):
27         snapshot = os.path.join(self.path, '.arvados#collection')
28         return json.load(open(snapshot))['manifest_text']