# Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import gzip import os import time import zipfile def ArchiveFiles(host_files, output): with zipfile.ZipFile(output, 'w', zipfile.ZIP_DEFLATED) as z: for host_file in host_files: z.write(host_file) os.unlink(host_file) def CompressFile(host_file, output): with gzip.open(output, 'wb') as out, open(host_file, 'rb') as input_file: out.write(input_file.read()) os.unlink(host_file) def ArchiveData(trace_results, output): with zipfile.ZipFile(output, 'w', zipfile.ZIP_DEFLATED) as z: for result in trace_results: trace_file = result.source_name + GetTraceTimestamp() WriteDataToCompressedFile(result.raw_data, trace_file) z.write(trace_file) os.unlink(trace_file) def WriteDataToCompressedFile(data, output): with gzip.open(output, 'wb') as out: out.write(data) def GetTraceTimestamp(): return time.strftime('%Y-%m-%d-%H%M%S', time.localtime())