From eaef9bc7d6f35d0b9464a29676b4fef2dee99af7 Mon Sep 17 00:00:00 2001 From: Patrick Hilhorst Date: Tue, 13 Nov 2018 14:12:09 +0100 Subject: pythonPackages.arelle: 2017-08-24 -> 18.3 --- pkgs/development/python-modules/arelle/default.nix | 35 ++++++++++++++-------- pkgs/development/python-modules/arelle/tests.patch | 20 +------------ 2 files changed, 23 insertions(+), 32 deletions(-) (limited to 'pkgs/development/python-modules') diff --git a/pkgs/development/python-modules/arelle/default.nix b/pkgs/development/python-modules/arelle/default.nix index 862564dbcd156..78cd2fca83765 100644 --- a/pkgs/development/python-modules/arelle/default.nix +++ b/pkgs/development/python-modules/arelle/default.nix @@ -1,13 +1,12 @@ { gui ? true, buildPythonPackage, fetchFromGitHub, lib, - sphinx_1_2, lxml, isodate, numpy, pytest, - tkinter ? null, py3to2, isPy3k, + sphinx, lxml, isodate, numpy, pytest, openpyxl, + tkinter ? null, py3to2, isPy3k, python, ... }: buildPythonPackage rec { - pname = "arelle-${version}${lib.optionalString (!gui) "-headless"}"; - version = "2017-08-24"; - name = pname + "-" + version; + pname = "arelle${lib.optionalString (!gui) "-headless"}"; + version = "18.3"; disabled = !isPy3k; @@ -16,8 +15,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "Arelle"; repo = "Arelle"; - rev = "cb24e35d57b562a864ae3dd4542c4d9fcf3865fe"; - sha256 = "1sbvhb3xlfnyvf1xj9dxwpcrfiaf7ikkdwvvap7aaxfxgiz85ip2"; + rev = "edgr${version}"; + sha256 = "12a94ipdp6xalqyds7rcp6cjwps6fbj3byigzfy403hlqc9n1g33"; }; outputs = ["out" "doc"]; patches = [ @@ -25,7 +24,7 @@ buildPythonPackage rec { ]; postPatch = "rm testParser2.py"; buildInputs = [ - sphinx_1_2 + sphinx pytest py3to2 ]; @@ -33,6 +32,7 @@ buildPythonPackage rec { lxml isodate numpy + openpyxl ] ++ lib.optional gui [ tkinter ]; @@ -40,6 +40,12 @@ buildPythonPackage rec { # arelle-gui is useless without gui dependencies, so delete it when !gui. postInstall = lib.optionalString (!gui) '' find $out/bin -name "*arelle-gui*" -delete + '' + + # By default, not the entirety of the src dir is copied. This means we don't + # copy the `images` dir, which is needed for the gui version. + lib.optionalString (gui) '' + targetDir=$out/${python.sitePackages} + cp -vr $src/arelle $targetDir ''; # Documentation @@ -49,11 +55,14 @@ buildPythonPackage rec { doCheck = if gui then true else false; - meta = { - description = "An open source facility for XBRL, the eXtensible Business Reporting Language supporting various standards, exposed through a python or REST API" + lib.optionalString gui " and a graphical user interface"; + meta = with lib; { + description = '' + An open source facility for XBRL, the eXtensible Business Reporting + Language supporting various standards, exposed through a Python or + REST API'' + lib.optionalString gui " and a graphical user interface"; homepage = http://arelle.org/; - license = lib.licenses.asl20; - platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ roberth ]; + license = licenses.asl20; + platforms = platforms.all; + maintainers = with maintainers; [ roberth ]; }; } diff --git a/pkgs/development/python-modules/arelle/tests.patch b/pkgs/development/python-modules/arelle/tests.patch index 3e4aa0cd94a76..e34cda99b2517 100644 --- a/pkgs/development/python-modules/arelle/tests.patch +++ b/pkgs/development/python-modules/arelle/tests.patch @@ -3,7 +3,7 @@ index a64bb1b..dc0299d 100644 --- c/arelle/CntlrProfiler.py +++ i/arelle/CntlrProfiler.py @@ -1,5 +1,6 @@ - + -import Cntlr, ModelManager, FileSource, time +from arelle import Cntlr, ModelManager, FileSource +import time @@ -12,21 +12,3 @@ index a64bb1b..dc0299d 100644 import gettext diff --git c/arelle/ValidateFilingText.py i/arelle/ValidateFilingText.py index 12dbbbb..c0e98c3 100644 ---- c/arelle/ValidateFilingText.py -+++ i/arelle/ValidateFilingText.py -@@ -16,7 +16,7 @@ XMLdeclaration = re.compile(r"<\?xml.*\?>", re.DOTALL) - XMLpattern = re.compile(r".*(<|<|<|<)[A-Za-z_]+[A-Za-z0-9_:]*[^>]*(/>|>|>|/>).*", re.DOTALL) - CDATApattern = re.compile(r",_?/=\t\n\r\m\f]") # won't match &#nnn; -+docCheckPattern = re.compile(r"&\w+;|[^0-9A-Za-z`~!@#$%&\*\(\)\.\-+ \[\]\{\}\|\\:;\"'<>,_?/=\t\n\r\f]") # won't match &#nnn; - namedEntityPattern = re.compile("&[_A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\xFF\u0100-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]" - r"[_\-\.:" - "\xB7A-Za-z0-9\xC0-\xD6\xD8-\xF6\xF8-\xFF\u0100-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u0300-\u036F\u203F-\u2040]*;") -@@ -904,4 +904,4 @@ def referencedFiles(modelXbrl, localFilesOnly=True): - # footnote or other elements - for elt in modelXbrl.modelDocument.xmlRootElement.iter("{http://www.w3.org/1999/xhtml}a", "{http://www.w3.org/1999/xhtml}img"): - addReferencedFile(elt, elt) -- return referencedFiles -\ No newline at end of file -+ return referencedFiles -- cgit 1.4.1