forked from mirrors/gecko-dev
Backed out changeset d03f75986f62 (bug 1454640) Backed out changeset 47fc3e223867 (bug 1454640) Backed out changeset 22f2dc60e6d8 (bug 1454640) Backed out changeset 30b4083534b5 (bug 1454640) Backed out changeset 8309212d820b (bug 1454640) Backed out changeset 9942d2df3719 (bug 1454640)
30 lines
1 KiB
Python
30 lines
1 KiB
Python
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, # You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
from __future__ import absolute_import, unicode_literals
|
|
|
|
import os
|
|
|
|
from mozpack.archive import create_tar_gz_from_files
|
|
from mozpack.files import FileFinder
|
|
|
|
|
|
def distribution_files(root):
|
|
"""Find all files suitable for distributing.
|
|
|
|
Given the path to generated Sphinx documentation, returns an iterable
|
|
of (path, BaseFile) for files that should be archived, uploaded, etc.
|
|
Paths are relative to given root directory.
|
|
"""
|
|
finder = FileFinder(root, ignore=('_staging', '_venv'))
|
|
return finder.find('**')
|
|
|
|
|
|
def create_tarball(filename, root):
|
|
"""Create a tar.gz archive of docs in a directory."""
|
|
files = dict(distribution_files(root))
|
|
|
|
with open(filename, 'wb') as fh:
|
|
create_tar_gz_from_files(fh, files, filename=os.path.basename(filename),
|
|
compresslevel=6)
|