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