dev-python/pweave: Report generator, literate programming tool
authorAndrew Ammerlaan <andrewammerlaan@riseup.net>
Wed, 15 Jan 2020 12:59:34 +0000 (13:59 +0100)
committerJoonas Niilola <juippis@gentoo.org>
Fri, 24 Jan 2020 06:54:28 +0000 (08:54 +0200)
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@riseup.net>
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
dev-python/pweave/Manifest [new file with mode: 0644]
dev-python/pweave/files/pweave-0.30.3-docs.patch [new file with mode: 0644]
dev-python/pweave/files/pweave-0.30.3-rm-online-tests.patch [new file with mode: 0644]
dev-python/pweave/metadata.xml [new file with mode: 0644]
dev-python/pweave/pweave-0.30.3.ebuild [new file with mode: 0644]

diff --git a/dev-python/pweave/Manifest b/dev-python/pweave/Manifest
new file mode 100644 (file)
index 0000000..e1cfb95
--- /dev/null
@@ -0,0 +1 @@
+DIST pweave-0.30.3.tar.gz 2173323 BLAKE2B 13aaa70d424026e58648ee949d8046d1f9fdf6e402df018b120dbb235c7b7a29846cb341aba1642c97be5a8ebafeea33a71be177f92498db186e8044624eebb8 SHA512 d2ffc2a6921837eff471041cc13789ac370d9e00c8a66f451ae53859c110c838e360b4bfd820aa33656fdf509cda8dc24a1d2c1bfcb44ae99de751726c33b3ae
diff --git a/dev-python/pweave/files/pweave-0.30.3-docs.patch b/dev-python/pweave/files/pweave-0.30.3-docs.patch
new file mode 100644 (file)
index 0000000..11021bd
--- /dev/null
@@ -0,0 +1,12 @@
+diff --git a/doc/source/conf.py b/doc/source/conf.py
+index 2529bca..1066a51 100644
+--- a/doc/source/conf.py
++++ b/doc/source/conf.py
+@@ -1,6 +1,6 @@
+ import sys, os
+-extensions = ['sphinx.ext.todo', 'sphinx.ext.pngmath', 'sphinx.ext.autodoc', 'sphinx.ext.viewcode']
++extensions = ['sphinx.ext.todo', 'sphinx.ext.autodoc', 'sphinx.ext.viewcode']
+ templates_path = ['_templates']
diff --git a/dev-python/pweave/files/pweave-0.30.3-rm-online-tests.patch b/dev-python/pweave/files/pweave-0.30.3-rm-online-tests.patch
new file mode 100644 (file)
index 0000000..3c5f1a2
--- /dev/null
@@ -0,0 +1,115 @@
+diff --git a/tests/test_formatters.py b/tests/test_formatters.py
+deleted file mode 100644
+index 90cb45b..0000000
+--- a/tests/test_formatters.py
++++ /dev/null
+@@ -1,58 +0,0 @@
+-import unittest
+-import pweave
+-import pickle
+-import os
+-
+-class FormatterTest(unittest.TestCase):
+-    """Test formatters"""
+-
+-
+-    def setUp(self):
+-        self.doc = pweave.Pweb("tests/formats/formatters_test.pmd")
+-        self.doc.run()
+-        #pickle.dump(self.doc.executed, open("tests/formats/formatters_test.pkl", "wb"))
+-        with open("tests/formats/formatters_test.pkl", "rb") as f:
+-            e = pickle.load(f)
+-        self.doc.executed = e
+-        self.out_base = "tests/formats/formatters_test.%s"
+-        self.ref_base = "tests/formats/formatters_test_REF.%s"
+-
+-    def testFormatters(self):
+-        formats = sorted(list(pweave.formatters.PwebFormats.formats.keys()))
+-        for format in formats:
+-            if "pandoc2latex" in format or "2html" in format: #No pandoc on travis
+-                continue
+-            self.doc.setformat(format)
+-            self.doc.format()
+-            self.out_file = self.out_base % format
+-            self.ref_file = self.ref_base % format
+-            self.doc.output = self.out_file
+-            self.doc.write()
+-            if "2html" in format:
+-                pass
+-                #Need to ignore same amount from beginning
+-                #End is variable lenght, anyway tested with test_publish
+-                #self.assertSameAsReference(1000) #Ignore changing footer
+-            else:
+-                self.assertSameAsReference()
+-            try:
+-                os.remove(self.out_file)
+-            except FileNotFoundError:
+-                pass
+-
+-    def contentOf(self, filename, end_ignore):
+-        fh = open(filename)
+-        content = fh.read()
+-        fh.close()
+-        if end_ignore > 0:
+-            return(content[:-end_ignore])
+-        return content
+-
+-    def assertSameAsReference(self, end_ignore = -1):
+-        self.assertEqual(self.contentOf(self.out_file, end_ignore),
+-               self.contentOf(self.ref_file, end_ignore))
+-
+-
+-
+-if __name__ == '__main__':
+-    unittest.main()
+diff --git a/tests/test_publish.py b/tests/test_publish.py
+deleted file mode 100644
+index 0c5e587..0000000
+--- a/tests/test_publish.py
++++ /dev/null
+@@ -1,23 +0,0 @@
+-import pweave
+-import os, io
+-
+-def test_publish():
+-    """Test pypublish"""
+-    pweave.publish("tests/publish/publish_test.txt", doc_format="html")
+-    test = io.open("tests/publish/publish_test.html", "r").read().encode("utf-8")
+-    ref = io.open("tests/publish/publish_test_ref.html", "r").read().encode("utf-8")
+-    #Leave out the changing footer
+-    assert (test[:len(test) - 400] == ref[:len(test) - 400])
+-
+-def test_publish_cell():
+-    """Test pypublish cell format"""
+-    pweave.publish("tests/publish/publish_test_cell.txt", doc_format="html")
+-    test = io.open("tests/publish/publish_test_cell.html", "r").read().encode("utf-8")
+-    ref = io.open("tests/publish/publish_test_ref.html", "r").read().encode("utf-8")
+-    #Leave out the changing footer
+-    assert (test[:len(test) - 400] == ref[:len(test) - 400])
+-
+-
+-if __name__ == '__main__':
+-    test_publish()
+-    test_publish_cell()
+diff --git a/tests/test_readers.py b/tests/test_readers.py
+index 69a0303..69cd500 100644
+--- a/tests/test_readers.py
++++ b/tests/test_readers.py
+@@ -13,12 +13,6 @@ def test_script():
+                       "tests/publish/publish_test_REF.py")
+-def test_url():
+-    pweave.weave("http://files.mpastell.com/formatters_test.pmd", doctype = "pandoc", output = "tests/formats/formatters_url.md")
+-    assertSameContent("tests/formats/formatters_url.md", "tests/formats/formatters_test_REF.markdown")
+-
+-
+-
+ def assertSameContent(REF, outfile):
+     out = open(outfile)
+     ref = open(REF)
+@@ -27,4 +21,3 @@ def assertSameContent(REF, outfile):
+ if __name__ == '__main__':
+     test_markdown()
+     test_script()
+-    test_url()
diff --git a/dev-python/pweave/metadata.xml b/dev-python/pweave/metadata.xml
new file mode 100644 (file)
index 0000000..8fc1118
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>andrewammerlaan@riseup.net</email>
+               <name>Andrew Ammerlaan</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+</pkgmetadata>
diff --git a/dev-python/pweave/pweave-0.30.3.ebuild b/dev-python/pweave/pweave-0.30.3.ebuild
new file mode 100644 (file)
index 0000000..3cc22bc
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+MY_PN="Pweave"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Scientific report generator and literate programming tool"
+HOMEPAGE="http://mpastell.com/pweave
+               https://github.com/mpastell/Pweave"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+IUSE="examples"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=(
+       "${FILESDIR}/${P}-docs.patch"
+       "${FILESDIR}/${P}-rm-online-tests.patch" )
+
+RDEPEND="dev-python/ipython[${PYTHON_USEDEP}]
+       dev-python/ipykernel[${PYTHON_USEDEP}]
+       dev-python/jupyter_client[${PYTHON_USEDEP}]
+       dev-python/markdown[${PYTHON_USEDEP}]
+       dev-python/nbconvert[${PYTHON_USEDEP}]
+       dev-python/nbformat[${PYTHON_USEDEP}]
+       dev-python/pygments[${PYTHON_USEDEP}]"
+
+DEPEND="test? (
+       dev-python/coverage[${PYTHON_USEDEP}]
+       dev-python/matplotlib[${PYTHON_USEDEP}]
+       dev-python/nose[${PYTHON_USEDEP}]
+       dev-python/notebook[${PYTHON_USEDEP}]
+       sci-libs/scipy[${PYTHON_USEDEP}] )"
+
+S="${WORKDIR}/${MY_P}"
+
+distutils_enable_sphinx doc/source dev-python/sphinx_rtd_theme
+distutils_enable_tests pytest
+
+python_install_all() {
+       if use examples; then
+               insinto /usr/share/${PN}
+               doins -r doc/examples
+       fi
+
+       distutils-r1_python_install_all
+}