1{ beautifulsoup4
2, buildPythonPackage
3, fetchFromGitHub
4, html5lib
5, lib
6, lxml
7, python
8}:
9
10buildPythonPackage rec {
11 pname = "draftjs-exporter";
12 version = "5.0.0";
13
14 src = fetchFromGitHub {
15 repo = "draftjs_exporter";
16 owner = "springload";
17 rev = "refs/tags/v${version}";
18 sha256 = "sha256-4MmCVRx350p6N9XqTZSo8ROI/OJ0s4aKSYH9+Oxgvf4=";
19 };
20
21 passthru.optional-dependencies = {
22 lxml = [ lxml ];
23 html5lib = [ beautifulsoup4 html5lib ];
24 };
25
26 checkInputs = passthru.optional-dependencies.lxml ++ passthru.optional-dependencies.html5lib;
27
28 checkPhase = ''
29 # 2 tests in this file randomly fail because they depend on the order of
30 # HTML attributes
31 rm tests/test_exports.py
32
33 ${python.interpreter} -m unittest discover
34 '';
35
36 pythonImportsCheck = [ "draftjs_exporter" ];
37
38 meta = with lib; {
39 description = "Library to convert Draft.js ContentState to HTML";
40 homepage = "https://github.com/springload/draftjs_exporter";
41 changelog = "https://github.com/springload/draftjs_exporter/blob/v${version}/CHANGELOG.md";
42 license = licenses.mit;
43 maintainers = with maintainers; [ sephi ];
44 };
45}