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