Beispiel #1
0
 def test_frompath(self, initproj, devpi, name_version, out_devpi, path, runproc):
     from devpi_common.archive import zip_dir
     if isinstance(name_version, tuple):
         name_version_str = "%s-%s" % name_version
     else:
         name_version_str = name_version
     initproj(name_version, {"doc": {
         "conf.py": "",
         "index.html": "<html/>"}})
     tmpdir = py.path.local()
     runproc(tmpdir, "python setup.py sdist --format=zip".split())
     bpath = tmpdir.join('build')
     out = runproc(
         tmpdir,
         "python setup.py build_sphinx -E --build-dir".split() + [bpath.strpath])
     dist = tmpdir.join("dist")
     zip_dir(bpath.join('html'), dist.join("%s.doc.zip" % name_version_str))
     assert len(dist.listdir()) == 2
     (p, dp) = sorted(dist.listdir(), key=lambda x: '.doc.zip' in x.basename)
     hub = devpi("upload", p, dp)
     url = hub.current.get_index_url().url + path
     out = out_devpi("getjson", url)
     data = json.loads(out.stdout.str())
     vv = ViewLinkStore(url, data["result"])
     assert len(vv.get_links()) == 2
     links = dict((x.rel, x.basename.lower()) for x in vv.get_links())
     assert links["releasefile"] == "%s.zip" % name_version_str
     assert links["doczip"] == "%s.doc.zip" % name_version_str
Beispiel #2
0
 def setup_build_docs(self):
     name, version = self.setup_name_and_version()
     cwd = self.rootpath
     build = cwd.join("build")
     self.hub.popen_output([
         self.python, "setup.py", "build_sphinx", "-E", "--build-dir", build
     ])
     p = self.target_distdir.join("%s-%s.doc.zip" % (name, version))
     html = build.join("html")
     zip_dir(html, p)
     self.log_build(p, "[sphinx docs]")
     return p
Beispiel #3
0
 def setup_build_docs(self):
     name, version = self.setup_name_and_version()
     cwd = self.rootpath
     build = cwd.join("build")
     self.hub.popen_output(
         [self.python, "setup.py", "build_sphinx", "-E",
          "--build-dir", build])
     p = self.target_distdir.join("%s-%s.doc.zip" %(name, version))
     html = build.join("html")
     zip_dir(html, p)
     self.log_build(p, "[sphinx docs]")
     return p
Beispiel #4
0
def test_zip_dir(tmpdir):
    source = tmpdir.join("source")
    newdest = tmpdir.join("newdest")
    dest = tmpdir.join("dest.zip")
    source.ensure("file")
    source.ensure("sub", "subfile")
    zip_dir(source, dest)
    with Archive(dest) as archive:
        archive.extract(newdest)
    assert newdest.join("file").isfile()
    assert newdest.join("sub", "subfile").isfile()

    newdest.remove()
    with Archive(py.io.BytesIO(zip_dir(source))) as archive:
        archive.extract(newdest)
    assert newdest.join("file").isfile()
    assert newdest.join("sub", "subfile").isfile()