File: pack_examples.py

package info (click to toggle)
dipy 1.3.0-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 14,828 kB
  • sloc: python: 63,790; makefile: 258; pascal: 167; sh: 131; ansic: 106
file content (54 lines) | stat: -rwxr-xr-x 1,153 bytes parent folder | download | duplicates (2)
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
46
47
48
49
50
51
52
53
54
#!/usr/bin/env python
""" Script to pack built examples into suitably named archive

Usage %s output_dir [doc_dir]
"""

import os
from os.path import join as pjoin
import sys
import shutil
import tarfile

import dipy

__doc__ = __doc__ % sys.argv[0]

EG_BUILT_SDIR = 'examples_built'
dpv = 'dipy-' + dipy.__version__
archive_name = dpv + '-doc-examples.tar.gz'

try:
    out_root = sys.argv[1]
except IndexError:
    print(__doc__)
    sys.exit(1)
try:
    os.mkdir(out_root)
except OSError:
    pass
try:
    doc_dir = sys.argv[2]
except IndexError:
    doc_dir = os.getcwd()

archive_fname = os.path.join(out_root, archive_name)

eg_built_dir = pjoin(doc_dir, EG_BUILT_SDIR)
eg_out_base = pjoin(out_root, dpv, 'doc')
eg_out_dir = pjoin(eg_out_base, EG_BUILT_SDIR)
if os.path.isdir(eg_out_dir):
    shutil.rmtree(eg_out_dir)


def ignorandi(src, names):
    return [name for name in names if name == 'README' or name == '.gitignore']


shutil.copytree(eg_built_dir, eg_out_dir, ignore=ignorandi)
os.chdir(out_root)
tar = tarfile.open(archive_fname, 'w|gz')
tar.add(dpv)
tar.close()
shutil.rmtree(pjoin(out_root, dpv))
print("Written " + archive_fname)