| # 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()) |