Beispiel #1
0
def seven_zip(archive, items, self_extracting=False):
    """Create a 7z archive"""
    if not isinstance(items, (list, tuple)):
        items = [items]
    if self_extracting:
        return er(_get_sz(), 'a', '-ssw', '-sfx', archive, *items)
    else:
        return er(_get_sz(), 'a', '-ssw', archive, *items)
Beispiel #2
0
def seven_zip(archive, items, self_extracting=False):
    """Create a 7z archive"""
    if not isinstance(items, (list, tuple)):
        items = [items]
    if self_extracting:
        return er(_get_sz(), 'a', '-ssw', '-sfx', archive, *items)
    else:
        return er(_get_sz(), 'a', '-ssw', archive, *items)
Beispiel #3
0
def setup(module, target='zip', output_path=None, data_dir=None):
    dist = os.path.abspath('dist')
    try:
        if target == 'zip':
            assert er(
                'setup.py', 'install', '--no-compile', '--install-lib',
                os.path.join(dist, 'lib'), '--install-scripts',
                os.path.join(dist),
                *(['--install-data',
                   os.path.join(dist, data_dir)]
                  if data_dir is not None else []))
            with shell.goto(dist) as ok:
                assert ok
                assert compress.mkzip('%s.zip' % module,
                                      glob.glob(os.path.join('lib', '*')))
                assert shell.remove('lib')
        elif target == 'exe':
            assert er(
                'setup.py', 'install', '--no-compile', '--install-lib',
                os.path.join(dist, 'lib', 'python'), '--install-scripts',
                os.path.join(dist, 'scripts'),
                *(['--install-data',
                   os.path.join(dist, data_dir)]
                  if data_dir is not None else []))
            with shell.goto(dist) as ok:
                assert ok

                modules = list(
                    filter(os.path.exists, ['lib', 'scripts'] +
                           ([data_dir] if data_dir is not None else [])))
                assert compress.seven_zip('%s.exe' % module,
                                          modules,
                                          self_extracting=True)
                # Cleanup
                for module in modules:
                    assert shell.remove(module)
        if output_path is not None:
            output_path = os.path.abspath(output_path)
            if output_path != dist:
                if not os.path.isdir(output_path):
                    assert shell.mkdir(output_path)
                for filename in shell.search(dist, '*'):
                    output = os.path.join(
                        output_path,
                        filename.replace(dist, '', 1).strip('\\/'))
                    assert shell.move(filename, output)
        return 0
    except AssertionError as e:
        print(e)
        return 1
    finally:
        # Cleanup
        if output_path != dist:
            shell.remove(dist)
        if os.path.isdir('build'):
            shell.remove('build')
Beispiel #4
0
def setup(module, target='zip', output_path=None, data_dir=None):
    dist = os.path.abspath('dist')
    try:
        if target == 'zip':
            assert er('setup.py', 'install', '--no-compile',
                      '--install-lib',     os.path.join(dist, 'lib'),
                      '--install-scripts', os.path.join(dist),
                      *(['--install-data',    os.path.join(dist, data_dir)]
                        if data_dir is not None else []))
            with shutil.goto(dist) as ok:
                assert ok
                assert compress.mkzip('%s.zip' % module,
                                      glob.glob(os.path.join('lib', '*')))
                assert shutil.remove('lib')
        elif target == 'exe':
            assert er('setup.py', 'install', '--no-compile',
                      '--install-lib',     os.path.join(dist, 'lib', 'python'),
                      '--install-scripts', os.path.join(dist, 'scripts'),
                      *(['--install-data',    os.path.join(dist, data_dir)]
                        if data_dir is not None else []))
            with shutil.goto(dist) as ok:
                assert ok

                modules = list(filter(os.path.exists,
                                      ['lib', 'scripts'] + (
                                          [data_dir] if data_dir is not None
                                          else [])))
                assert compress.seven_zip('%s.exe' % module, modules,
                                          self_extracting=True)
                # Cleanup
                for module in modules:
                    assert shutil.remove(module)
        if output_path is not None:
            output_path = os.path.abspath(output_path)
            if output_path != dist:
                if not os.path.isdir(output_path):
                    assert shutil.mkdir(output_path)
                for filename in shutil.search(dist, '*'):
                    output = os.path.join(output_path,
                                          filename.replace(dist, '', 1)
                                                  .strip('\\/'))
                    assert shutil.move(filename, output)
        return 0
    except AssertionError as e:
        print(e)
        return 1
    finally:
        # Cleanup
        if output_path != dist:
            shutil.remove(dist)
        if os.path.isdir('build'):
            shutil.remove('build')
Beispiel #5
0
def test_execute_and_report():
    assert er(sys.executable, "-c", "import sys; sys.exit(0)")
    assert not er(sys.executable, "-c", "import sys; sys.exit(1)")
    assert not er(sys.executable, "-c", "import sys; sys.exit(-1)")
    assert not er(sys.executable, "-c", "import sys; sys.exit(2)")
Beispiel #6
0
def test_execute_and_report():
    assert er(sys.executable, '-c', 'import sys; sys.exit(0)')
    assert not er(sys.executable, '-c', 'import sys; sys.exit(1)')
    assert not er(sys.executable, '-c', 'import sys; sys.exit(-1)')
    assert not er(sys.executable, '-c', 'import sys; sys.exit(2)')
Beispiel #7
0
def setup(module, target="zip", output_path=None, data_dir=None):
    dist = os.path.abspath("dist")
    try:
        if target == "zip":
            assert er(
                "setup.py",
                "install",
                "--no-compile",
                "--install-lib",
                os.path.join(dist, "lib"),
                "--install-scripts",
                os.path.join(dist),
                *(
                    ["--install-data", os.path.join(dist, data_dir)]
                    if data_dir is not None
                    else []
                ),
            )
            with shell.goto(dist) as ok:
                assert ok
                assert compress.mkzip(
                    "%s.zip" % module, glob.glob(os.path.join("lib", "*"))
                )
                assert shell.remove("lib")
        elif target == "exe":
            assert er(
                "setup.py",
                "install",
                "--no-compile",
                "--install-lib",
                os.path.join(dist, "lib", "python"),
                "--install-scripts",
                os.path.join(dist, "scripts"),
                *(
                    ["--install-data", os.path.join(dist, data_dir)]
                    if data_dir is not None
                    else []
                ),
            )
            with shell.goto(dist) as ok:
                assert ok

                modules = list(
                    filter(
                        os.path.exists,
                        ["lib", "scripts"]
                        + ([data_dir] if data_dir is not None else []),
                    )
                )
                assert compress.seven_zip(
                    "%s.exe" % module, modules, self_extracting=True
                )
                # Cleanup
                for module in modules:
                    assert shell.remove(module)
        if output_path is not None:
            output_path = os.path.abspath(output_path)
            if output_path != dist:
                if not os.path.isdir(output_path):
                    assert shell.mkdir(output_path)
                for filename in shell.search(dist, "*"):
                    output = os.path.join(
                        output_path, filename.replace(dist, "", 1).strip("\\/")
                    )
                    assert shell.move(filename, output)
        return 0
    except AssertionError as e:
        print(e)
        return 1
    finally:
        # Cleanup
        if output_path != dist:
            shell.remove(dist)
        if os.path.isdir("build"):
            shell.remove("build")
Beispiel #8
0
def seven_unzip(archive, output):
    """Extract a 7z archive"""
    return er(_get_sz(), 'x', archive, '-o%s' % output, '-aoa')
Beispiel #9
0
def seven_unzip(archive, output):
    """Extract a 7z archive"""
    return er(_get_sz(), 'x', archive, '-o%s' % output, '-aoa')
Beispiel #10
0
def seven_unzip(archive, output):
    """Extract a 7z archive."""
    return er(_get_sz(), "x", archive, "-o%s" % output, "-aoa")