/usr/lib/python2.7/dist-packages/pbcommand/pb_io/common.py is in python-pbcommand 0.2.17-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | import logging
import json
import sys
from pbcommand.models import PipelineChunk
log = logging.getLogger(__name__)
def write_pipeline_chunks(chunks, output_json_file, comment):
_d = dict(nchunks=len(chunks), _version="0.1.0",
chunks=[c.to_dict() for c in chunks])
if comment is not None:
_d['_comment'] = comment
with open(output_json_file, 'w') as f:
f.write(json.dumps(_d, indent=4))
log.debug("Write {n} chunks to {o}".format(n=len(chunks), o=output_json_file))
def load_pipeline_chunks_from_json(path):
"""Returns a list of Pipeline Chunks
:rtype: list[PipelineChunk]
"""
try:
with open(path, 'r') as f:
d = json.loads(f.read())
chunks = []
for cs in d['chunks']:
chunk_id = cs['chunk_id']
chunk_datum = cs['chunk']
c = PipelineChunk(chunk_id, **chunk_datum)
chunks.append(c)
return chunks
except Exception:
msg = "Unable to load pipeline chunks from {f}".format(f=path)
sys.stderr.write(msg + "\n")
raise
|