##// END OF EJS Templates
release: merge back stable branch into default
marcink -
r3843:957c2342 merge default
parent child Browse files
Show More

The requested changes are too big and content was truncated. Show full diff

@@ -0,0 +1,41 b''
1 |RCE| 4.17.1 |RNS|
2 ------------------
3
4 Release Date
5 ^^^^^^^^^^^^
6
7 - 2019-07-04
8
9
10 New Features
11 ^^^^^^^^^^^^
12
13
14
15 General
16 ^^^^^^^
17
18
19
20 Security
21 ^^^^^^^^
22
23
24
25 Performance
26 ^^^^^^^^^^^
27
28
29
30 Fixes
31 ^^^^^
32
33 - Database: fixed mysql migration issues.
34 - Artifacts: fixed problem with non-ascii file uploads.
35 - Artifacts: increase timeout, and allow setting custom time via ?timeout=N GET flag
36
37
38 Upgrade notes
39 ^^^^^^^^^^^^^
40
41 - Un-scheduled release addressing problems in 4.17.X releases.
@@ -0,0 +1,40 b''
1 |RCE| 4.17.2 |RNS|
2 ------------------
3
4 Release Date
5 ^^^^^^^^^^^^
6
7 - 2019-07-05
8
9
10 New Features
11 ^^^^^^^^^^^^
12
13
14
15 General
16 ^^^^^^^
17
18
19
20 Security
21 ^^^^^^^^
22
23
24
25 Performance
26 ^^^^^^^^^^^
27
28
29
30 Fixes
31 ^^^^^
32
33 - UI: fixed missing icons on some cases.
34 - Commits: hide links icon of message that don't expand.
35
36
37 Upgrade notes
38 ^^^^^^^^^^^^^
39
40 - Un-scheduled release addressing problems in 4.17.X releases.
1 NO CONTENT: new file 100644
NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
@@ -1,66 +1,67 b''
1 syntax: glob
1 syntax: glob
2 *.egg
2 *.egg
3 *.egg-info
3 *.egg-info
4 *.idea
4 *.idea
5 *.orig
5 *.orig
6 *.pyc
6 *.pyc
7 *.sqlite-journal
7 *.sqlite-journal
8 *.swp
8 *.swp
9 *.tox
9 *.tox
10 *.DS_Store*
10 *.DS_Store*
11 rhodecode/public/js/src/components/**/*.css
11 rhodecode/public/js/src/components/**/*.css
12
12
13 syntax: regexp
13 syntax: regexp
14
14
15 #.filename
15 #.filename
16 ^\.settings$
16 ^\.settings$
17 ^\.project$
17 ^\.project$
18 ^\.pydevproject$
18 ^\.pydevproject$
19 ^\.coverage$
19 ^\.coverage$
20 ^\.cache.*$
20 ^\.cache.*$
21 ^\.rhodecode$
21 ^\.rhodecode$
22
22
23 ^rcextensions
23 ^rcextensions
24 ^.dev
24 ^.dev
25 ^._dev
25 ^._dev
26 ^build/
26 ^build/
27 ^coverage\.xml$
27 ^coverage\.xml$
28 ^data$
28 ^data$
29 ^\.eggs/
29 ^\.eggs/
30 ^configs/data$
30 ^configs/data$
31 ^dev.ini$
31 ^dev.ini$
32 ^acceptance_tests/dev.*\.ini$
32 ^acceptance_tests/dev.*\.ini$
33 ^dist/
33 ^dist/
34 ^fabfile.py
34 ^fabfile.py
35 ^htmlcov
35 ^htmlcov
36 ^junit\.xml$
36 ^junit\.xml$
37 ^node_modules/
37 ^node_modules/
38 ^node_binaries/
38 ^node_binaries/
39 ^pylint.log$
39 ^pylint.log$
40 ^rcextensions/
40 ^rcextensions/
41 ^result$
41 ^result$
42 ^rhodecode/public/css/style.css$
42 ^rhodecode/public/css/style.css$
43 ^rhodecode/public/css/style-polymer.css$
43 ^rhodecode/public/css/style-polymer.css$
44 ^rhodecode/public/css/style-ipython.css$
44 ^rhodecode/public/js/rhodecode-components.html$
45 ^rhodecode/public/js/rhodecode-components.html$
45 ^rhodecode/public/js/rhodecode-components.js$
46 ^rhodecode/public/js/rhodecode-components.js$
46 ^rhodecode/public/js/scripts.js$
47 ^rhodecode/public/js/scripts.js$
47 ^rhodecode/public/js/src/components/root-styles.gen.html$
48 ^rhodecode/public/js/src/components/root-styles.gen.html$
48 ^rhodecode/public/js/vendors/webcomponentsjs/
49 ^rhodecode/public/js/vendors/webcomponentsjs/
49 ^rhodecode\.db$
50 ^rhodecode\.db$
50 ^rhodecode\.log$
51 ^rhodecode\.log$
51 ^rhodecode_dev\.log$
52 ^rhodecode_dev\.log$
52 ^test\.db$
53 ^test\.db$
53
54
54 # ac-tests
55 # ac-tests
55 ^acceptance_tests/\.cache.*$
56 ^acceptance_tests/\.cache.*$
56 ^acceptance_tests/externals
57 ^acceptance_tests/externals
57 ^acceptance_tests/ghostdriver.log$
58 ^acceptance_tests/ghostdriver.log$
58 ^acceptance_tests/local(_.+)?\.ini$
59 ^acceptance_tests/local(_.+)?\.ini$
59
60
60 # docs
61 # docs
61 ^docs/_build$
62 ^docs/_build$
62 ^docs/result$
63 ^docs/result$
63 ^docs-internal/_build$
64 ^docs-internal/_build$
64
65
65 # Cythonized things
66 # Cythonized things
66 ^rhodecode/.*\.(c|so)$
67 ^rhodecode/.*\.(c|so)$
@@ -1,54 +1,57 b''
1 1bd3e92b7e2e2d2024152b34bb88dff1db544a71 v4.0.0
1 1bd3e92b7e2e2d2024152b34bb88dff1db544a71 v4.0.0
2 170c5398320ea6cddd50955e88d408794c21d43a v4.0.1
2 170c5398320ea6cddd50955e88d408794c21d43a v4.0.1
3 c3fe200198f5aa34cf2e4066df2881a9cefe3704 v4.1.0
3 c3fe200198f5aa34cf2e4066df2881a9cefe3704 v4.1.0
4 7fd5c850745e2ea821fb4406af5f4bff9b0a7526 v4.1.1
4 7fd5c850745e2ea821fb4406af5f4bff9b0a7526 v4.1.1
5 41c87da28a179953df86061d817bc35533c66dd2 v4.1.2
5 41c87da28a179953df86061d817bc35533c66dd2 v4.1.2
6 baaf9f5bcea3bae0ef12ae20c8b270482e62abb6 v4.2.0
6 baaf9f5bcea3bae0ef12ae20c8b270482e62abb6 v4.2.0
7 32a70c7e56844a825f61df496ee5eaf8c3c4e189 v4.2.1
7 32a70c7e56844a825f61df496ee5eaf8c3c4e189 v4.2.1
8 fa695cdb411d294679ac081d595ac654e5613b03 v4.3.0
8 fa695cdb411d294679ac081d595ac654e5613b03 v4.3.0
9 0e4dc11b58cad833c513fe17bac39e6850edf959 v4.3.1
9 0e4dc11b58cad833c513fe17bac39e6850edf959 v4.3.1
10 8a876f48f5cb1d018b837db28ff928500cb32cfb v4.4.0
10 8a876f48f5cb1d018b837db28ff928500cb32cfb v4.4.0
11 8dd86b410b1aac086ffdfc524ef300f896af5047 v4.4.1
11 8dd86b410b1aac086ffdfc524ef300f896af5047 v4.4.1
12 d2514226abc8d3b4f6fb57765f47d1b6fb360a05 v4.4.2
12 d2514226abc8d3b4f6fb57765f47d1b6fb360a05 v4.4.2
13 27d783325930af6dad2741476c0d0b1b7c8415c2 v4.5.0
13 27d783325930af6dad2741476c0d0b1b7c8415c2 v4.5.0
14 7f2016f352abcbdba4a19d4039c386e9629449da v4.5.1
14 7f2016f352abcbdba4a19d4039c386e9629449da v4.5.1
15 416fec799314c70a5c780fb28b3357b08869333a v4.5.2
15 416fec799314c70a5c780fb28b3357b08869333a v4.5.2
16 27c3b85fafc83143e6678fbc3da69e1615bcac55 v4.6.0
16 27c3b85fafc83143e6678fbc3da69e1615bcac55 v4.6.0
17 5ad13deb9118c2a5243d4032d4d9cc174e5872db v4.6.1
17 5ad13deb9118c2a5243d4032d4d9cc174e5872db v4.6.1
18 2be921e01fa24bb102696ada596f87464c3666f6 v4.7.0
18 2be921e01fa24bb102696ada596f87464c3666f6 v4.7.0
19 7198bdec29c2872c974431d55200d0398354cdb1 v4.7.1
19 7198bdec29c2872c974431d55200d0398354cdb1 v4.7.1
20 bd1c8d230fe741c2dfd7100a0ef39fd0774fd581 v4.7.2
20 bd1c8d230fe741c2dfd7100a0ef39fd0774fd581 v4.7.2
21 9731914f89765d9628dc4dddc84bc9402aa124c8 v4.8.0
21 9731914f89765d9628dc4dddc84bc9402aa124c8 v4.8.0
22 c5a2b7d0e4bbdebc4a62d7b624befe375207b659 v4.9.0
22 c5a2b7d0e4bbdebc4a62d7b624befe375207b659 v4.9.0
23 d9aa3b27ac9f7e78359775c75fedf7bfece232f1 v4.9.1
23 d9aa3b27ac9f7e78359775c75fedf7bfece232f1 v4.9.1
24 4ba4d74981cec5d6b28b158f875a2540952c2f74 v4.10.0
24 4ba4d74981cec5d6b28b158f875a2540952c2f74 v4.10.0
25 0a6821cbd6b0b3c21503002f88800679fa35ab63 v4.10.1
25 0a6821cbd6b0b3c21503002f88800679fa35ab63 v4.10.1
26 434ad90ec8d621f4416074b84f6e9ce03964defb v4.10.2
26 434ad90ec8d621f4416074b84f6e9ce03964defb v4.10.2
27 68baee10e698da2724c6e0f698c03a6abb993bf2 v4.10.3
27 68baee10e698da2724c6e0f698c03a6abb993bf2 v4.10.3
28 00821d3afd1dce3f4767cc353f84a17f7d5218a1 v4.10.4
28 00821d3afd1dce3f4767cc353f84a17f7d5218a1 v4.10.4
29 22f6744ad8cc274311825f63f953e4dee2ea5cb9 v4.10.5
29 22f6744ad8cc274311825f63f953e4dee2ea5cb9 v4.10.5
30 96eb24bea2f5f9258775245e3f09f6fa0a4dda01 v4.10.6
30 96eb24bea2f5f9258775245e3f09f6fa0a4dda01 v4.10.6
31 3121217a812c956d7dd5a5875821bd73e8002a32 v4.11.0
31 3121217a812c956d7dd5a5875821bd73e8002a32 v4.11.0
32 fa98b454715ac5b912f39e84af54345909a2a805 v4.11.1
32 fa98b454715ac5b912f39e84af54345909a2a805 v4.11.1
33 3982abcfdcc229a723cebe52d3a9bcff10bba08e v4.11.2
33 3982abcfdcc229a723cebe52d3a9bcff10bba08e v4.11.2
34 33195f145db9172f0a8f1487e09207178a6ab065 v4.11.3
34 33195f145db9172f0a8f1487e09207178a6ab065 v4.11.3
35 194c74f33e32bbae6fc4d71ec5a999cff3c13605 v4.11.4
35 194c74f33e32bbae6fc4d71ec5a999cff3c13605 v4.11.4
36 8fbd8b0c3ddc2fa4ac9e4ca16942a03eb593df2d v4.11.5
36 8fbd8b0c3ddc2fa4ac9e4ca16942a03eb593df2d v4.11.5
37 f0609aa5d5d05a1ca2f97c3995542236131c9d8a v4.11.6
37 f0609aa5d5d05a1ca2f97c3995542236131c9d8a v4.11.6
38 b5b30547d90d2e088472a70c84878f429ffbf40d v4.12.0
38 b5b30547d90d2e088472a70c84878f429ffbf40d v4.12.0
39 9072253aa8894d20c00b4a43dc61c2168c1eff94 v4.12.1
39 9072253aa8894d20c00b4a43dc61c2168c1eff94 v4.12.1
40 6a517543ea9ef9987d74371bd2a315eb0b232dc9 v4.12.2
40 6a517543ea9ef9987d74371bd2a315eb0b232dc9 v4.12.2
41 7fc0731b024c3114be87865eda7ab621cc957e32 v4.12.3
41 7fc0731b024c3114be87865eda7ab621cc957e32 v4.12.3
42 6d531c0b068c6eda62dddceedc9f845ecb6feb6f v4.12.4
42 6d531c0b068c6eda62dddceedc9f845ecb6feb6f v4.12.4
43 3d6bf2d81b1564830eb5e83396110d2a9a93eb1e v4.13.0
43 3d6bf2d81b1564830eb5e83396110d2a9a93eb1e v4.13.0
44 5468fc89e708bd90e413cd0d54350017abbdbc0e v4.13.1
44 5468fc89e708bd90e413cd0d54350017abbdbc0e v4.13.1
45 610d621550521c314ee97b3d43473ac0bcf06fb8 v4.13.2
45 610d621550521c314ee97b3d43473ac0bcf06fb8 v4.13.2
46 7dc62c090881fb5d03268141e71e0940d7c3295d v4.13.3
46 7dc62c090881fb5d03268141e71e0940d7c3295d v4.13.3
47 9151328c1c46b72ba6f00d7640d9141e75aa1ca2 v4.14.0
47 9151328c1c46b72ba6f00d7640d9141e75aa1ca2 v4.14.0
48 a47eeac5dfa41fa6779d90452affba4091c3ade8 v4.14.1
48 a47eeac5dfa41fa6779d90452affba4091c3ade8 v4.14.1
49 4b34ce0d2c3c10510626b3b65044939bb7a2cddf v4.15.0
49 4b34ce0d2c3c10510626b3b65044939bb7a2cddf v4.15.0
50 14502561d22e6b70613674cd675ae9a604b7989f v4.15.1
50 14502561d22e6b70613674cd675ae9a604b7989f v4.15.1
51 4aaa40b605b01af78a9f6882eca561c54b525ef0 v4.15.2
51 4aaa40b605b01af78a9f6882eca561c54b525ef0 v4.15.2
52 797744642eca86640ed20bef2cd77445780abaec v4.16.0
52 797744642eca86640ed20bef2cd77445780abaec v4.16.0
53 6c3452c7c25ed35ff269690929e11960ed6ad7d3 v4.16.1
53 6c3452c7c25ed35ff269690929e11960ed6ad7d3 v4.16.1
54 5d8057df561c4b6b81b6401aed7d2f911e6e77f7 v4.16.2
54 5d8057df561c4b6b81b6401aed7d2f911e6e77f7 v4.16.2
55 13acfc008896ef4c62546bab5074e8f6f89b4fa7 v4.17.0
56 45b9b610976f483877142fe75321808ce9ebac59 v4.17.1
57 ad5bd0c4bd322fdbd04bb825a3d027e08f7a3901 v4.17.2
@@ -1,132 +1,134 b''
1 .. _rhodecode-release-notes-ref:
1 .. _rhodecode-release-notes-ref:
2
2
3 Release Notes
3 Release Notes
4 =============
4 =============
5
5
6 |RCE| 4.x Versions
6 |RCE| 4.x Versions
7 ------------------
7 ------------------
8
8
9 .. toctree::
9 .. toctree::
10 :maxdepth: 1
10 :maxdepth: 1
11
11
12 release-notes-4.17.2.rst
13 release-notes-4.17.1.rst
12 release-notes-4.17.0.rst
14 release-notes-4.17.0.rst
13 release-notes-4.16.2.rst
15 release-notes-4.16.2.rst
14 release-notes-4.16.1.rst
16 release-notes-4.16.1.rst
15 release-notes-4.16.0.rst
17 release-notes-4.16.0.rst
16 release-notes-4.15.2.rst
18 release-notes-4.15.2.rst
17 release-notes-4.15.1.rst
19 release-notes-4.15.1.rst
18 release-notes-4.15.0.rst
20 release-notes-4.15.0.rst
19 release-notes-4.14.1.rst
21 release-notes-4.14.1.rst
20 release-notes-4.14.0.rst
22 release-notes-4.14.0.rst
21 release-notes-4.13.3.rst
23 release-notes-4.13.3.rst
22 release-notes-4.13.2.rst
24 release-notes-4.13.2.rst
23 release-notes-4.13.1.rst
25 release-notes-4.13.1.rst
24 release-notes-4.13.0.rst
26 release-notes-4.13.0.rst
25 release-notes-4.12.4.rst
27 release-notes-4.12.4.rst
26 release-notes-4.12.3.rst
28 release-notes-4.12.3.rst
27 release-notes-4.12.2.rst
29 release-notes-4.12.2.rst
28 release-notes-4.12.1.rst
30 release-notes-4.12.1.rst
29 release-notes-4.12.0.rst
31 release-notes-4.12.0.rst
30 release-notes-4.11.6.rst
32 release-notes-4.11.6.rst
31 release-notes-4.11.5.rst
33 release-notes-4.11.5.rst
32 release-notes-4.11.4.rst
34 release-notes-4.11.4.rst
33 release-notes-4.11.3.rst
35 release-notes-4.11.3.rst
34 release-notes-4.11.2.rst
36 release-notes-4.11.2.rst
35 release-notes-4.11.1.rst
37 release-notes-4.11.1.rst
36 release-notes-4.11.0.rst
38 release-notes-4.11.0.rst
37 release-notes-4.10.6.rst
39 release-notes-4.10.6.rst
38 release-notes-4.10.5.rst
40 release-notes-4.10.5.rst
39 release-notes-4.10.4.rst
41 release-notes-4.10.4.rst
40 release-notes-4.10.3.rst
42 release-notes-4.10.3.rst
41 release-notes-4.10.2.rst
43 release-notes-4.10.2.rst
42 release-notes-4.10.1.rst
44 release-notes-4.10.1.rst
43 release-notes-4.10.0.rst
45 release-notes-4.10.0.rst
44 release-notes-4.9.1.rst
46 release-notes-4.9.1.rst
45 release-notes-4.9.0.rst
47 release-notes-4.9.0.rst
46 release-notes-4.8.0.rst
48 release-notes-4.8.0.rst
47 release-notes-4.7.2.rst
49 release-notes-4.7.2.rst
48 release-notes-4.7.1.rst
50 release-notes-4.7.1.rst
49 release-notes-4.7.0.rst
51 release-notes-4.7.0.rst
50 release-notes-4.6.1.rst
52 release-notes-4.6.1.rst
51 release-notes-4.6.0.rst
53 release-notes-4.6.0.rst
52 release-notes-4.5.2.rst
54 release-notes-4.5.2.rst
53 release-notes-4.5.1.rst
55 release-notes-4.5.1.rst
54 release-notes-4.5.0.rst
56 release-notes-4.5.0.rst
55 release-notes-4.4.2.rst
57 release-notes-4.4.2.rst
56 release-notes-4.4.1.rst
58 release-notes-4.4.1.rst
57 release-notes-4.4.0.rst
59 release-notes-4.4.0.rst
58 release-notes-4.3.1.rst
60 release-notes-4.3.1.rst
59 release-notes-4.3.0.rst
61 release-notes-4.3.0.rst
60 release-notes-4.2.1.rst
62 release-notes-4.2.1.rst
61 release-notes-4.2.0.rst
63 release-notes-4.2.0.rst
62 release-notes-4.1.2.rst
64 release-notes-4.1.2.rst
63 release-notes-4.1.1.rst
65 release-notes-4.1.1.rst
64 release-notes-4.1.0.rst
66 release-notes-4.1.0.rst
65 release-notes-4.0.1.rst
67 release-notes-4.0.1.rst
66 release-notes-4.0.0.rst
68 release-notes-4.0.0.rst
67
69
68 |RCE| 3.x Versions
70 |RCE| 3.x Versions
69 ------------------
71 ------------------
70
72
71 .. toctree::
73 .. toctree::
72 :maxdepth: 1
74 :maxdepth: 1
73
75
74 release-notes-3.8.4.rst
76 release-notes-3.8.4.rst
75 release-notes-3.8.3.rst
77 release-notes-3.8.3.rst
76 release-notes-3.8.2.rst
78 release-notes-3.8.2.rst
77 release-notes-3.8.1.rst
79 release-notes-3.8.1.rst
78 release-notes-3.8.0.rst
80 release-notes-3.8.0.rst
79 release-notes-3.7.1.rst
81 release-notes-3.7.1.rst
80 release-notes-3.7.0.rst
82 release-notes-3.7.0.rst
81 release-notes-3.6.1.rst
83 release-notes-3.6.1.rst
82 release-notes-3.6.0.rst
84 release-notes-3.6.0.rst
83 release-notes-3.5.2.rst
85 release-notes-3.5.2.rst
84 release-notes-3.5.1.rst
86 release-notes-3.5.1.rst
85 release-notes-3.5.0.rst
87 release-notes-3.5.0.rst
86 release-notes-3.4.1.rst
88 release-notes-3.4.1.rst
87 release-notes-3.4.0.rst
89 release-notes-3.4.0.rst
88 release-notes-3.3.4.rst
90 release-notes-3.3.4.rst
89 release-notes-3.3.3.rst
91 release-notes-3.3.3.rst
90 release-notes-3.3.2.rst
92 release-notes-3.3.2.rst
91 release-notes-3.3.1.rst
93 release-notes-3.3.1.rst
92 release-notes-3.3.0.rst
94 release-notes-3.3.0.rst
93 release-notes-3.2.3.rst
95 release-notes-3.2.3.rst
94 release-notes-3.2.2.rst
96 release-notes-3.2.2.rst
95 release-notes-3.2.1.rst
97 release-notes-3.2.1.rst
96 release-notes-3.2.0.rst
98 release-notes-3.2.0.rst
97 release-notes-3.1.1.rst
99 release-notes-3.1.1.rst
98 release-notes-3.1.0.rst
100 release-notes-3.1.0.rst
99 release-notes-3.0.2.rst
101 release-notes-3.0.2.rst
100 release-notes-3.0.1.rst
102 release-notes-3.0.1.rst
101 release-notes-3.0.0.rst
103 release-notes-3.0.0.rst
102
104
103 |RCE| 2.x Versions
105 |RCE| 2.x Versions
104 ------------------
106 ------------------
105
107
106 .. toctree::
108 .. toctree::
107 :maxdepth: 1
109 :maxdepth: 1
108
110
109 release-notes-2.2.8.rst
111 release-notes-2.2.8.rst
110 release-notes-2.2.7.rst
112 release-notes-2.2.7.rst
111 release-notes-2.2.6.rst
113 release-notes-2.2.6.rst
112 release-notes-2.2.5.rst
114 release-notes-2.2.5.rst
113 release-notes-2.2.4.rst
115 release-notes-2.2.4.rst
114 release-notes-2.2.3.rst
116 release-notes-2.2.3.rst
115 release-notes-2.2.2.rst
117 release-notes-2.2.2.rst
116 release-notes-2.2.1.rst
118 release-notes-2.2.1.rst
117 release-notes-2.2.0.rst
119 release-notes-2.2.0.rst
118 release-notes-2.1.0.rst
120 release-notes-2.1.0.rst
119 release-notes-2.0.2.rst
121 release-notes-2.0.2.rst
120 release-notes-2.0.1.rst
122 release-notes-2.0.1.rst
121 release-notes-2.0.0.rst
123 release-notes-2.0.0.rst
122
124
123 |RCE| 1.x Versions
125 |RCE| 1.x Versions
124 ------------------
126 ------------------
125
127
126 .. toctree::
128 .. toctree::
127 :maxdepth: 1
129 :maxdepth: 1
128
130
129 release-notes-1.7.2.rst
131 release-notes-1.7.2.rst
130 release-notes-1.7.1.rst
132 release-notes-1.7.1.rst
131 release-notes-1.7.0.rst
133 release-notes-1.7.0.rst
132 release-notes-1.6.0.rst
134 release-notes-1.6.0.rst
@@ -1,2346 +1,2346 b''
1 # Generated by pip2nix 0.8.0.dev1
1 # Generated by pip2nix 0.8.0.dev1
2 # See https://github.com/johbo/pip2nix
2 # See https://github.com/johbo/pip2nix
3
3
4 { pkgs, fetchurl, fetchgit, fetchhg }:
4 { pkgs, fetchurl, fetchgit, fetchhg }:
5
5
6 self: super: {
6 self: super: {
7 "alembic" = super.buildPythonPackage {
7 "alembic" = super.buildPythonPackage {
8 name = "alembic-1.0.10";
8 name = "alembic-1.0.10";
9 doCheck = false;
9 doCheck = false;
10 propagatedBuildInputs = [
10 propagatedBuildInputs = [
11 self."sqlalchemy"
11 self."sqlalchemy"
12 self."mako"
12 self."mako"
13 self."python-editor"
13 self."python-editor"
14 self."python-dateutil"
14 self."python-dateutil"
15 ];
15 ];
16 src = fetchurl {
16 src = fetchurl {
17 url = "https://files.pythonhosted.org/packages/6e/8b/fa3bd058cccd5e9177fea4efa26bfb769228fdd3178436ad5e05830ef6ef/alembic-1.0.10.tar.gz";
17 url = "https://files.pythonhosted.org/packages/6e/8b/fa3bd058cccd5e9177fea4efa26bfb769228fdd3178436ad5e05830ef6ef/alembic-1.0.10.tar.gz";
18 sha256 = "1dwl0264r6ri2jyrjr68am04x538ab26xwy4crqjnnhm4alwm3c2";
18 sha256 = "1dwl0264r6ri2jyrjr68am04x538ab26xwy4crqjnnhm4alwm3c2";
19 };
19 };
20 meta = {
20 meta = {
21 license = [ pkgs.lib.licenses.mit ];
21 license = [ pkgs.lib.licenses.mit ];
22 };
22 };
23 };
23 };
24 "amqp" = super.buildPythonPackage {
24 "amqp" = super.buildPythonPackage {
25 name = "amqp-2.3.1";
25 name = "amqp-2.3.1";
26 doCheck = false;
26 doCheck = false;
27 propagatedBuildInputs = [
27 propagatedBuildInputs = [
28 self."vine"
28 self."vine"
29 ];
29 ];
30 src = fetchurl {
30 src = fetchurl {
31 url = "https://files.pythonhosted.org/packages/1b/32/242ff76cd802766f11c89c72f3389b5c8de4bdfbab406137b90c5fae8b05/amqp-2.3.1.tar.gz";
31 url = "https://files.pythonhosted.org/packages/1b/32/242ff76cd802766f11c89c72f3389b5c8de4bdfbab406137b90c5fae8b05/amqp-2.3.1.tar.gz";
32 sha256 = "0wlfnvhmfrn7c8qif2jyvsm63ibdxp02ss564qwrvqfhz0di72s0";
32 sha256 = "0wlfnvhmfrn7c8qif2jyvsm63ibdxp02ss564qwrvqfhz0di72s0";
33 };
33 };
34 meta = {
34 meta = {
35 license = [ pkgs.lib.licenses.bsdOriginal ];
35 license = [ pkgs.lib.licenses.bsdOriginal ];
36 };
36 };
37 };
37 };
38 "appenlight-client" = super.buildPythonPackage {
38 "appenlight-client" = super.buildPythonPackage {
39 name = "appenlight-client-0.6.26";
39 name = "appenlight-client-0.6.26";
40 doCheck = false;
40 doCheck = false;
41 propagatedBuildInputs = [
41 propagatedBuildInputs = [
42 self."webob"
42 self."webob"
43 self."requests"
43 self."requests"
44 self."six"
44 self."six"
45 ];
45 ];
46 src = fetchurl {
46 src = fetchurl {
47 url = "https://files.pythonhosted.org/packages/2e/56/418fc10379b96e795ee39a15e69a730c222818af04c3821fa354eaa859ec/appenlight_client-0.6.26.tar.gz";
47 url = "https://files.pythonhosted.org/packages/2e/56/418fc10379b96e795ee39a15e69a730c222818af04c3821fa354eaa859ec/appenlight_client-0.6.26.tar.gz";
48 sha256 = "0s9xw3sb8s3pk73k78nnq4jil3q4mk6bczfa1fmgfx61kdxl2712";
48 sha256 = "0s9xw3sb8s3pk73k78nnq4jil3q4mk6bczfa1fmgfx61kdxl2712";
49 };
49 };
50 meta = {
50 meta = {
51 license = [ pkgs.lib.licenses.bsdOriginal ];
51 license = [ pkgs.lib.licenses.bsdOriginal ];
52 };
52 };
53 };
53 };
54 "asn1crypto" = super.buildPythonPackage {
54 "asn1crypto" = super.buildPythonPackage {
55 name = "asn1crypto-0.24.0";
55 name = "asn1crypto-0.24.0";
56 doCheck = false;
56 doCheck = false;
57 src = fetchurl {
57 src = fetchurl {
58 url = "https://files.pythonhosted.org/packages/fc/f1/8db7daa71f414ddabfa056c4ef792e1461ff655c2ae2928a2b675bfed6b4/asn1crypto-0.24.0.tar.gz";
58 url = "https://files.pythonhosted.org/packages/fc/f1/8db7daa71f414ddabfa056c4ef792e1461ff655c2ae2928a2b675bfed6b4/asn1crypto-0.24.0.tar.gz";
59 sha256 = "0jaf8rf9dx1lf23xfv2cdd5h52f1qr3w8k63985bc35g3d220p4x";
59 sha256 = "0jaf8rf9dx1lf23xfv2cdd5h52f1qr3w8k63985bc35g3d220p4x";
60 };
60 };
61 meta = {
61 meta = {
62 license = [ pkgs.lib.licenses.mit ];
62 license = [ pkgs.lib.licenses.mit ];
63 };
63 };
64 };
64 };
65 "atomicwrites" = super.buildPythonPackage {
65 "atomicwrites" = super.buildPythonPackage {
66 name = "atomicwrites-1.2.1";
66 name = "atomicwrites-1.2.1";
67 doCheck = false;
67 doCheck = false;
68 src = fetchurl {
68 src = fetchurl {
69 url = "https://files.pythonhosted.org/packages/ac/ed/a311712ef6b4355035489f665e63e1a73f9eb371929e3c98e5efd451069e/atomicwrites-1.2.1.tar.gz";
69 url = "https://files.pythonhosted.org/packages/ac/ed/a311712ef6b4355035489f665e63e1a73f9eb371929e3c98e5efd451069e/atomicwrites-1.2.1.tar.gz";
70 sha256 = "1vmkbw9j0qammwxbxycrs39gvdg4lc2d4lk98kwf8ag2manyi6pc";
70 sha256 = "1vmkbw9j0qammwxbxycrs39gvdg4lc2d4lk98kwf8ag2manyi6pc";
71 };
71 };
72 meta = {
72 meta = {
73 license = [ pkgs.lib.licenses.mit ];
73 license = [ pkgs.lib.licenses.mit ];
74 };
74 };
75 };
75 };
76 "attrs" = super.buildPythonPackage {
76 "attrs" = super.buildPythonPackage {
77 name = "attrs-18.2.0";
77 name = "attrs-18.2.0";
78 doCheck = false;
78 doCheck = false;
79 src = fetchurl {
79 src = fetchurl {
80 url = "https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf/attrs-18.2.0.tar.gz";
80 url = "https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf/attrs-18.2.0.tar.gz";
81 sha256 = "0s9ydh058wmmf5v391pym877x4ahxg45dw6a0w4c7s5wgpigdjqh";
81 sha256 = "0s9ydh058wmmf5v391pym877x4ahxg45dw6a0w4c7s5wgpigdjqh";
82 };
82 };
83 meta = {
83 meta = {
84 license = [ pkgs.lib.licenses.mit ];
84 license = [ pkgs.lib.licenses.mit ];
85 };
85 };
86 };
86 };
87 "authomatic" = super.buildPythonPackage {
87 "authomatic" = super.buildPythonPackage {
88 name = "authomatic-0.1.0.post1";
88 name = "authomatic-0.1.0.post1";
89 doCheck = false;
89 doCheck = false;
90 src = fetchurl {
90 src = fetchurl {
91 url = "https://code.rhodecode.com/upstream/authomatic/artifacts/download/0-4fe9c041-a567-4f84-be4c-7efa2a606d3c.tar.gz?md5=f6bdc3c769688212db68233e8d2b0383";
91 url = "https://code.rhodecode.com/upstream/authomatic/artifacts/download/0-4fe9c041-a567-4f84-be4c-7efa2a606d3c.tar.gz?md5=f6bdc3c769688212db68233e8d2b0383";
92 sha256 = "0pc716mva0ym6xd8jwzjbjp8dqxy9069wwwv2aqwb8lyhl4757ab";
92 sha256 = "0pc716mva0ym6xd8jwzjbjp8dqxy9069wwwv2aqwb8lyhl4757ab";
93 };
93 };
94 meta = {
94 meta = {
95 license = [ pkgs.lib.licenses.mit ];
95 license = [ pkgs.lib.licenses.mit ];
96 };
96 };
97 };
97 };
98 "babel" = super.buildPythonPackage {
98 "babel" = super.buildPythonPackage {
99 name = "babel-1.3";
99 name = "babel-1.3";
100 doCheck = false;
100 doCheck = false;
101 propagatedBuildInputs = [
101 propagatedBuildInputs = [
102 self."pytz"
102 self."pytz"
103 ];
103 ];
104 src = fetchurl {
104 src = fetchurl {
105 url = "https://files.pythonhosted.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz";
105 url = "https://files.pythonhosted.org/packages/33/27/e3978243a03a76398c384c83f7ca879bc6e8f1511233a621fcada135606e/Babel-1.3.tar.gz";
106 sha256 = "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz";
106 sha256 = "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz";
107 };
107 };
108 meta = {
108 meta = {
109 license = [ pkgs.lib.licenses.bsdOriginal ];
109 license = [ pkgs.lib.licenses.bsdOriginal ];
110 };
110 };
111 };
111 };
112 "backports.shutil-get-terminal-size" = super.buildPythonPackage {
112 "backports.shutil-get-terminal-size" = super.buildPythonPackage {
113 name = "backports.shutil-get-terminal-size-1.0.0";
113 name = "backports.shutil-get-terminal-size-1.0.0";
114 doCheck = false;
114 doCheck = false;
115 src = fetchurl {
115 src = fetchurl {
116 url = "https://files.pythonhosted.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz";
116 url = "https://files.pythonhosted.org/packages/ec/9c/368086faa9c016efce5da3e0e13ba392c9db79e3ab740b763fe28620b18b/backports.shutil_get_terminal_size-1.0.0.tar.gz";
117 sha256 = "107cmn7g3jnbkp826zlj8rrj19fam301qvaqf0f3905f5217lgki";
117 sha256 = "107cmn7g3jnbkp826zlj8rrj19fam301qvaqf0f3905f5217lgki";
118 };
118 };
119 meta = {
119 meta = {
120 license = [ pkgs.lib.licenses.mit ];
120 license = [ pkgs.lib.licenses.mit ];
121 };
121 };
122 };
122 };
123 "beaker" = super.buildPythonPackage {
123 "beaker" = super.buildPythonPackage {
124 name = "beaker-1.9.1";
124 name = "beaker-1.9.1";
125 doCheck = false;
125 doCheck = false;
126 propagatedBuildInputs = [
126 propagatedBuildInputs = [
127 self."funcsigs"
127 self."funcsigs"
128 ];
128 ];
129 src = fetchurl {
129 src = fetchurl {
130 url = "https://files.pythonhosted.org/packages/ca/14/a626188d0d0c7b55dd7cf1902046c2743bd392a7078bb53073e13280eb1e/Beaker-1.9.1.tar.gz";
130 url = "https://files.pythonhosted.org/packages/ca/14/a626188d0d0c7b55dd7cf1902046c2743bd392a7078bb53073e13280eb1e/Beaker-1.9.1.tar.gz";
131 sha256 = "08arsn61r255lhz6hcpn2lsiqpg30clla805ysx06wmbhvb6w9rj";
131 sha256 = "08arsn61r255lhz6hcpn2lsiqpg30clla805ysx06wmbhvb6w9rj";
132 };
132 };
133 meta = {
133 meta = {
134 license = [ pkgs.lib.licenses.bsdOriginal ];
134 license = [ pkgs.lib.licenses.bsdOriginal ];
135 };
135 };
136 };
136 };
137 "beautifulsoup4" = super.buildPythonPackage {
137 "beautifulsoup4" = super.buildPythonPackage {
138 name = "beautifulsoup4-4.6.3";
138 name = "beautifulsoup4-4.6.3";
139 doCheck = false;
139 doCheck = false;
140 src = fetchurl {
140 src = fetchurl {
141 url = "https://files.pythonhosted.org/packages/88/df/86bffad6309f74f3ff85ea69344a078fc30003270c8df6894fca7a3c72ff/beautifulsoup4-4.6.3.tar.gz";
141 url = "https://files.pythonhosted.org/packages/88/df/86bffad6309f74f3ff85ea69344a078fc30003270c8df6894fca7a3c72ff/beautifulsoup4-4.6.3.tar.gz";
142 sha256 = "041dhalzjciw6qyzzq7a2k4h1yvyk76xigp35hv5ibnn448ydy4h";
142 sha256 = "041dhalzjciw6qyzzq7a2k4h1yvyk76xigp35hv5ibnn448ydy4h";
143 };
143 };
144 meta = {
144 meta = {
145 license = [ pkgs.lib.licenses.mit ];
145 license = [ pkgs.lib.licenses.mit ];
146 };
146 };
147 };
147 };
148 "billiard" = super.buildPythonPackage {
148 "billiard" = super.buildPythonPackage {
149 name = "billiard-3.5.0.3";
149 name = "billiard-3.5.0.3";
150 doCheck = false;
150 doCheck = false;
151 src = fetchurl {
151 src = fetchurl {
152 url = "https://files.pythonhosted.org/packages/39/ac/f5571210cca2e4f4532e38aaff242f26c8654c5e2436bee966c230647ccc/billiard-3.5.0.3.tar.gz";
152 url = "https://files.pythonhosted.org/packages/39/ac/f5571210cca2e4f4532e38aaff242f26c8654c5e2436bee966c230647ccc/billiard-3.5.0.3.tar.gz";
153 sha256 = "1riwiiwgb141151md4ykx49qrz749akj5k8g290ji9bsqjyj4yqx";
153 sha256 = "1riwiiwgb141151md4ykx49qrz749akj5k8g290ji9bsqjyj4yqx";
154 };
154 };
155 meta = {
155 meta = {
156 license = [ pkgs.lib.licenses.bsdOriginal ];
156 license = [ pkgs.lib.licenses.bsdOriginal ];
157 };
157 };
158 };
158 };
159 "bleach" = super.buildPythonPackage {
159 "bleach" = super.buildPythonPackage {
160 name = "bleach-3.1.0";
160 name = "bleach-3.1.0";
161 doCheck = false;
161 doCheck = false;
162 propagatedBuildInputs = [
162 propagatedBuildInputs = [
163 self."six"
163 self."six"
164 self."webencodings"
164 self."webencodings"
165 ];
165 ];
166 src = fetchurl {
166 src = fetchurl {
167 url = "https://files.pythonhosted.org/packages/78/5a/0df03e8735cd9c75167528299c738702437589b9c71a849489d00ffa82e8/bleach-3.1.0.tar.gz";
167 url = "https://files.pythonhosted.org/packages/78/5a/0df03e8735cd9c75167528299c738702437589b9c71a849489d00ffa82e8/bleach-3.1.0.tar.gz";
168 sha256 = "1yhrgrhkln8bd6gn3imj69g1h4xqah9gaz9q26crqr6gmmvpzprz";
168 sha256 = "1yhrgrhkln8bd6gn3imj69g1h4xqah9gaz9q26crqr6gmmvpzprz";
169 };
169 };
170 meta = {
170 meta = {
171 license = [ pkgs.lib.licenses.asl20 ];
171 license = [ pkgs.lib.licenses.asl20 ];
172 };
172 };
173 };
173 };
174 "bumpversion" = super.buildPythonPackage {
174 "bumpversion" = super.buildPythonPackage {
175 name = "bumpversion-0.5.3";
175 name = "bumpversion-0.5.3";
176 doCheck = false;
176 doCheck = false;
177 src = fetchurl {
177 src = fetchurl {
178 url = "https://files.pythonhosted.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz";
178 url = "https://files.pythonhosted.org/packages/14/41/8c9da3549f8e00c84f0432c3a8cf8ed6898374714676aab91501d48760db/bumpversion-0.5.3.tar.gz";
179 sha256 = "0zn7694yfipxg35ikkfh7kvgl2fissha3dnqad2c5bvsvmrwhi37";
179 sha256 = "0zn7694yfipxg35ikkfh7kvgl2fissha3dnqad2c5bvsvmrwhi37";
180 };
180 };
181 meta = {
181 meta = {
182 license = [ pkgs.lib.licenses.mit ];
182 license = [ pkgs.lib.licenses.mit ];
183 };
183 };
184 };
184 };
185 "celery" = super.buildPythonPackage {
185 "celery" = super.buildPythonPackage {
186 name = "celery-4.1.1";
186 name = "celery-4.1.1";
187 doCheck = false;
187 doCheck = false;
188 propagatedBuildInputs = [
188 propagatedBuildInputs = [
189 self."pytz"
189 self."pytz"
190 self."billiard"
190 self."billiard"
191 self."kombu"
191 self."kombu"
192 ];
192 ];
193 src = fetchurl {
193 src = fetchurl {
194 url = "https://files.pythonhosted.org/packages/e9/cf/a4c0597effca20c57eb586324e41d1180bc8f13a933da41e0646cff69f02/celery-4.1.1.tar.gz";
194 url = "https://files.pythonhosted.org/packages/e9/cf/a4c0597effca20c57eb586324e41d1180bc8f13a933da41e0646cff69f02/celery-4.1.1.tar.gz";
195 sha256 = "1xbir4vw42n2ir9lanhwl7w69zpmj7lbi66fxm2b7pyvkcss7wni";
195 sha256 = "1xbir4vw42n2ir9lanhwl7w69zpmj7lbi66fxm2b7pyvkcss7wni";
196 };
196 };
197 meta = {
197 meta = {
198 license = [ pkgs.lib.licenses.bsdOriginal ];
198 license = [ pkgs.lib.licenses.bsdOriginal ];
199 };
199 };
200 };
200 };
201 "cffi" = super.buildPythonPackage {
201 "cffi" = super.buildPythonPackage {
202 name = "cffi-1.12.2";
202 name = "cffi-1.12.2";
203 doCheck = false;
203 doCheck = false;
204 propagatedBuildInputs = [
204 propagatedBuildInputs = [
205 self."pycparser"
205 self."pycparser"
206 ];
206 ];
207 src = fetchurl {
207 src = fetchurl {
208 url = "https://files.pythonhosted.org/packages/64/7c/27367b38e6cc3e1f49f193deb761fe75cda9f95da37b67b422e62281fcac/cffi-1.12.2.tar.gz";
208 url = "https://files.pythonhosted.org/packages/64/7c/27367b38e6cc3e1f49f193deb761fe75cda9f95da37b67b422e62281fcac/cffi-1.12.2.tar.gz";
209 sha256 = "19qfks2djya8vix95bmg3xzipjb8w9b8mbj4j5k2hqkc8j58f4z1";
209 sha256 = "19qfks2djya8vix95bmg3xzipjb8w9b8mbj4j5k2hqkc8j58f4z1";
210 };
210 };
211 meta = {
211 meta = {
212 license = [ pkgs.lib.licenses.mit ];
212 license = [ pkgs.lib.licenses.mit ];
213 };
213 };
214 };
214 };
215 "chameleon" = super.buildPythonPackage {
215 "chameleon" = super.buildPythonPackage {
216 name = "chameleon-2.24";
216 name = "chameleon-2.24";
217 doCheck = false;
217 doCheck = false;
218 src = fetchurl {
218 src = fetchurl {
219 url = "https://files.pythonhosted.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz";
219 url = "https://files.pythonhosted.org/packages/5a/9e/637379ffa13c5172b5c0e704833ffea6bf51cec7567f93fd6e903d53ed74/Chameleon-2.24.tar.gz";
220 sha256 = "0ykqr7syxfa6h9adjfnsv1gdsca2xzm22vmic8859n0f0j09abj5";
220 sha256 = "0ykqr7syxfa6h9adjfnsv1gdsca2xzm22vmic8859n0f0j09abj5";
221 };
221 };
222 meta = {
222 meta = {
223 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
223 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
224 };
224 };
225 };
225 };
226 "channelstream" = super.buildPythonPackage {
226 "channelstream" = super.buildPythonPackage {
227 name = "channelstream-0.5.2";
227 name = "channelstream-0.5.2";
228 doCheck = false;
228 doCheck = false;
229 propagatedBuildInputs = [
229 propagatedBuildInputs = [
230 self."gevent"
230 self."gevent"
231 self."ws4py"
231 self."ws4py"
232 self."pyramid"
232 self."pyramid"
233 self."pyramid-jinja2"
233 self."pyramid-jinja2"
234 self."itsdangerous"
234 self."itsdangerous"
235 self."requests"
235 self."requests"
236 self."six"
236 self."six"
237 ];
237 ];
238 src = fetchurl {
238 src = fetchurl {
239 url = "https://files.pythonhosted.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz";
239 url = "https://files.pythonhosted.org/packages/2b/31/29a8e085cf5bf97fa88e7b947adabfc581a18a3463adf77fb6dada34a65f/channelstream-0.5.2.tar.gz";
240 sha256 = "1qbm4xdl5hfkja683x546bncg3rqq8qv79w1m1a1wd48cqqzb6rm";
240 sha256 = "1qbm4xdl5hfkja683x546bncg3rqq8qv79w1m1a1wd48cqqzb6rm";
241 };
241 };
242 meta = {
242 meta = {
243 license = [ pkgs.lib.licenses.bsdOriginal ];
243 license = [ pkgs.lib.licenses.bsdOriginal ];
244 };
244 };
245 };
245 };
246 "click" = super.buildPythonPackage {
246 "click" = super.buildPythonPackage {
247 name = "click-7.0";
247 name = "click-7.0";
248 doCheck = false;
248 doCheck = false;
249 src = fetchurl {
249 src = fetchurl {
250 url = "https://files.pythonhosted.org/packages/f8/5c/f60e9d8a1e77005f664b76ff8aeaee5bc05d0a91798afd7f53fc998dbc47/Click-7.0.tar.gz";
250 url = "https://files.pythonhosted.org/packages/f8/5c/f60e9d8a1e77005f664b76ff8aeaee5bc05d0a91798afd7f53fc998dbc47/Click-7.0.tar.gz";
251 sha256 = "1mzjixd4vjbjvzb6vylki9w1556a9qmdh35kzmq6cign46av952v";
251 sha256 = "1mzjixd4vjbjvzb6vylki9w1556a9qmdh35kzmq6cign46av952v";
252 };
252 };
253 meta = {
253 meta = {
254 license = [ pkgs.lib.licenses.bsdOriginal ];
254 license = [ pkgs.lib.licenses.bsdOriginal ];
255 };
255 };
256 };
256 };
257 "colander" = super.buildPythonPackage {
257 "colander" = super.buildPythonPackage {
258 name = "colander-1.7.0";
258 name = "colander-1.7.0";
259 doCheck = false;
259 doCheck = false;
260 propagatedBuildInputs = [
260 propagatedBuildInputs = [
261 self."translationstring"
261 self."translationstring"
262 self."iso8601"
262 self."iso8601"
263 self."enum34"
263 self."enum34"
264 ];
264 ];
265 src = fetchurl {
265 src = fetchurl {
266 url = "https://files.pythonhosted.org/packages/db/e4/74ab06f54211917b41865cafc987ce511e35503de48da9bfe9358a1bdc3e/colander-1.7.0.tar.gz";
266 url = "https://files.pythonhosted.org/packages/db/e4/74ab06f54211917b41865cafc987ce511e35503de48da9bfe9358a1bdc3e/colander-1.7.0.tar.gz";
267 sha256 = "1wl1bqab307lbbcjx81i28s3yl6dlm4rf15fxawkjb6j48x1cn6p";
267 sha256 = "1wl1bqab307lbbcjx81i28s3yl6dlm4rf15fxawkjb6j48x1cn6p";
268 };
268 };
269 meta = {
269 meta = {
270 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
270 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
271 };
271 };
272 };
272 };
273 "configobj" = super.buildPythonPackage {
273 "configobj" = super.buildPythonPackage {
274 name = "configobj-5.0.6";
274 name = "configobj-5.0.6";
275 doCheck = false;
275 doCheck = false;
276 propagatedBuildInputs = [
276 propagatedBuildInputs = [
277 self."six"
277 self."six"
278 ];
278 ];
279 src = fetchurl {
279 src = fetchurl {
280 url = "https://code.rhodecode.com/upstream/configobj/artifacts/download/0-012de99a-b1e1-4f64-a5c0-07a98a41b324.tar.gz?md5=6a513f51fe04b2c18cf84c1395a7c626";
280 url = "https://code.rhodecode.com/upstream/configobj/artifacts/download/0-012de99a-b1e1-4f64-a5c0-07a98a41b324.tar.gz?md5=6a513f51fe04b2c18cf84c1395a7c626";
281 sha256 = "0kqfrdfr14mw8yd8qwq14dv2xghpkjmd3yjsy8dfcbvpcc17xnxp";
281 sha256 = "0kqfrdfr14mw8yd8qwq14dv2xghpkjmd3yjsy8dfcbvpcc17xnxp";
282 };
282 };
283 meta = {
283 meta = {
284 license = [ pkgs.lib.licenses.bsdOriginal ];
284 license = [ pkgs.lib.licenses.bsdOriginal ];
285 };
285 };
286 };
286 };
287 "configparser" = super.buildPythonPackage {
287 "configparser" = super.buildPythonPackage {
288 name = "configparser-3.7.4";
288 name = "configparser-3.7.4";
289 doCheck = false;
289 doCheck = false;
290 src = fetchurl {
290 src = fetchurl {
291 url = "https://files.pythonhosted.org/packages/e2/1c/83fd53748d8245cb9a3399f705c251d3fc0ce7df04450aac1cfc49dd6a0f/configparser-3.7.4.tar.gz";
291 url = "https://files.pythonhosted.org/packages/e2/1c/83fd53748d8245cb9a3399f705c251d3fc0ce7df04450aac1cfc49dd6a0f/configparser-3.7.4.tar.gz";
292 sha256 = "0xac32886ihs2xg7w1gppcq2sgin5qsm8lqwijs5xifq9w0x0q6s";
292 sha256 = "0xac32886ihs2xg7w1gppcq2sgin5qsm8lqwijs5xifq9w0x0q6s";
293 };
293 };
294 meta = {
294 meta = {
295 license = [ pkgs.lib.licenses.mit ];
295 license = [ pkgs.lib.licenses.mit ];
296 };
296 };
297 };
297 };
298 "cov-core" = super.buildPythonPackage {
298 "cov-core" = super.buildPythonPackage {
299 name = "cov-core-1.15.0";
299 name = "cov-core-1.15.0";
300 doCheck = false;
300 doCheck = false;
301 propagatedBuildInputs = [
301 propagatedBuildInputs = [
302 self."coverage"
302 self."coverage"
303 ];
303 ];
304 src = fetchurl {
304 src = fetchurl {
305 url = "https://files.pythonhosted.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
305 url = "https://files.pythonhosted.org/packages/4b/87/13e75a47b4ba1be06f29f6d807ca99638bedc6b57fa491cd3de891ca2923/cov-core-1.15.0.tar.gz";
306 sha256 = "0k3np9ymh06yv1ib96sb6wfsxjkqhmik8qfsn119vnhga9ywc52a";
306 sha256 = "0k3np9ymh06yv1ib96sb6wfsxjkqhmik8qfsn119vnhga9ywc52a";
307 };
307 };
308 meta = {
308 meta = {
309 license = [ pkgs.lib.licenses.mit ];
309 license = [ pkgs.lib.licenses.mit ];
310 };
310 };
311 };
311 };
312 "coverage" = super.buildPythonPackage {
312 "coverage" = super.buildPythonPackage {
313 name = "coverage-4.5.3";
313 name = "coverage-4.5.3";
314 doCheck = false;
314 doCheck = false;
315 src = fetchurl {
315 src = fetchurl {
316 url = "https://files.pythonhosted.org/packages/82/70/2280b5b29a0352519bb95ab0ef1ea942d40466ca71c53a2085bdeff7b0eb/coverage-4.5.3.tar.gz";
316 url = "https://files.pythonhosted.org/packages/82/70/2280b5b29a0352519bb95ab0ef1ea942d40466ca71c53a2085bdeff7b0eb/coverage-4.5.3.tar.gz";
317 sha256 = "02f6m073qdispn96rc616hg0rnmw1pgqzw3bgxwiwza4zf9hirlx";
317 sha256 = "02f6m073qdispn96rc616hg0rnmw1pgqzw3bgxwiwza4zf9hirlx";
318 };
318 };
319 meta = {
319 meta = {
320 license = [ pkgs.lib.licenses.asl20 ];
320 license = [ pkgs.lib.licenses.asl20 ];
321 };
321 };
322 };
322 };
323 "cryptography" = super.buildPythonPackage {
323 "cryptography" = super.buildPythonPackage {
324 name = "cryptography-2.6.1";
324 name = "cryptography-2.6.1";
325 doCheck = false;
325 doCheck = false;
326 propagatedBuildInputs = [
326 propagatedBuildInputs = [
327 self."asn1crypto"
327 self."asn1crypto"
328 self."six"
328 self."six"
329 self."cffi"
329 self."cffi"
330 self."enum34"
330 self."enum34"
331 self."ipaddress"
331 self."ipaddress"
332 ];
332 ];
333 src = fetchurl {
333 src = fetchurl {
334 url = "https://files.pythonhosted.org/packages/07/ca/bc827c5e55918ad223d59d299fff92f3563476c3b00d0a9157d9c0217449/cryptography-2.6.1.tar.gz";
334 url = "https://files.pythonhosted.org/packages/07/ca/bc827c5e55918ad223d59d299fff92f3563476c3b00d0a9157d9c0217449/cryptography-2.6.1.tar.gz";
335 sha256 = "19iwz5avym5zl6jrrrkym1rdaa9h61j20ph4cswsqgv8xg5j3j16";
335 sha256 = "19iwz5avym5zl6jrrrkym1rdaa9h61j20ph4cswsqgv8xg5j3j16";
336 };
336 };
337 meta = {
337 meta = {
338 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "BSD or Apache License, Version 2.0"; } pkgs.lib.licenses.asl20 ];
338 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "BSD or Apache License, Version 2.0"; } pkgs.lib.licenses.asl20 ];
339 };
339 };
340 };
340 };
341 "cssselect" = super.buildPythonPackage {
341 "cssselect" = super.buildPythonPackage {
342 name = "cssselect-1.0.3";
342 name = "cssselect-1.0.3";
343 doCheck = false;
343 doCheck = false;
344 src = fetchurl {
344 src = fetchurl {
345 url = "https://files.pythonhosted.org/packages/52/ea/f31e1d2e9eb130fda2a631e22eac369dc644e8807345fbed5113f2d6f92b/cssselect-1.0.3.tar.gz";
345 url = "https://files.pythonhosted.org/packages/52/ea/f31e1d2e9eb130fda2a631e22eac369dc644e8807345fbed5113f2d6f92b/cssselect-1.0.3.tar.gz";
346 sha256 = "011jqa2jhmydhi0iz4v1w3cr540z5zas8g2bw8brdw4s4b2qnv86";
346 sha256 = "011jqa2jhmydhi0iz4v1w3cr540z5zas8g2bw8brdw4s4b2qnv86";
347 };
347 };
348 meta = {
348 meta = {
349 license = [ pkgs.lib.licenses.bsdOriginal ];
349 license = [ pkgs.lib.licenses.bsdOriginal ];
350 };
350 };
351 };
351 };
352 "decorator" = super.buildPythonPackage {
352 "decorator" = super.buildPythonPackage {
353 name = "decorator-4.1.2";
353 name = "decorator-4.1.2";
354 doCheck = false;
354 doCheck = false;
355 src = fetchurl {
355 src = fetchurl {
356 url = "https://files.pythonhosted.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz";
356 url = "https://files.pythonhosted.org/packages/bb/e0/f6e41e9091e130bf16d4437dabbac3993908e4d6485ecbc985ef1352db94/decorator-4.1.2.tar.gz";
357 sha256 = "1d8npb11kxyi36mrvjdpcjij76l5zfyrz2f820brf0l0rcw4vdkw";
357 sha256 = "1d8npb11kxyi36mrvjdpcjij76l5zfyrz2f820brf0l0rcw4vdkw";
358 };
358 };
359 meta = {
359 meta = {
360 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ];
360 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "new BSD License"; } ];
361 };
361 };
362 };
362 };
363 "deform" = super.buildPythonPackage {
363 "deform" = super.buildPythonPackage {
364 name = "deform-2.0.7";
364 name = "deform-2.0.7";
365 doCheck = false;
365 doCheck = false;
366 propagatedBuildInputs = [
366 propagatedBuildInputs = [
367 self."chameleon"
367 self."chameleon"
368 self."colander"
368 self."colander"
369 self."iso8601"
369 self."iso8601"
370 self."peppercorn"
370 self."peppercorn"
371 self."translationstring"
371 self."translationstring"
372 self."zope.deprecation"
372 self."zope.deprecation"
373 ];
373 ];
374 src = fetchurl {
374 src = fetchurl {
375 url = "https://files.pythonhosted.org/packages/cf/a1/bc234527b8f181de9acd80e796483c00007658d1e32b7de78f1c2e004d9a/deform-2.0.7.tar.gz";
375 url = "https://files.pythonhosted.org/packages/cf/a1/bc234527b8f181de9acd80e796483c00007658d1e32b7de78f1c2e004d9a/deform-2.0.7.tar.gz";
376 sha256 = "0jnpi0zr2hjvbmiz6nm33yqv976dn9lf51vhlzqc0i75xcr9rwig";
376 sha256 = "0jnpi0zr2hjvbmiz6nm33yqv976dn9lf51vhlzqc0i75xcr9rwig";
377 };
377 };
378 meta = {
378 meta = {
379 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
379 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
380 };
380 };
381 };
381 };
382 "defusedxml" = super.buildPythonPackage {
382 "defusedxml" = super.buildPythonPackage {
383 name = "defusedxml-0.6.0";
383 name = "defusedxml-0.6.0";
384 doCheck = false;
384 doCheck = false;
385 src = fetchurl {
385 src = fetchurl {
386 url = "https://files.pythonhosted.org/packages/a4/5f/f8aa58ca0cf01cbcee728abc9d88bfeb74e95e6cb4334cfd5bed5673ea77/defusedxml-0.6.0.tar.gz";
386 url = "https://files.pythonhosted.org/packages/a4/5f/f8aa58ca0cf01cbcee728abc9d88bfeb74e95e6cb4334cfd5bed5673ea77/defusedxml-0.6.0.tar.gz";
387 sha256 = "1xbp8fivl3wlbyg2jrvs4lalaqv1xp9a9f29p75wdx2s2d6h717n";
387 sha256 = "1xbp8fivl3wlbyg2jrvs4lalaqv1xp9a9f29p75wdx2s2d6h717n";
388 };
388 };
389 meta = {
389 meta = {
390 license = [ pkgs.lib.licenses.psfl ];
390 license = [ pkgs.lib.licenses.psfl ];
391 };
391 };
392 };
392 };
393 "dm.xmlsec.binding" = super.buildPythonPackage {
393 "dm.xmlsec.binding" = super.buildPythonPackage {
394 name = "dm.xmlsec.binding-1.3.7";
394 name = "dm.xmlsec.binding-1.3.7";
395 doCheck = false;
395 doCheck = false;
396 propagatedBuildInputs = [
396 propagatedBuildInputs = [
397 self."setuptools"
397 self."setuptools"
398 self."lxml"
398 self."lxml"
399 ];
399 ];
400 src = fetchurl {
400 src = fetchurl {
401 url = "https://files.pythonhosted.org/packages/2c/9e/7651982d50252692991acdae614af821fd6c79bc8dcd598ad71d55be8fc7/dm.xmlsec.binding-1.3.7.tar.gz";
401 url = "https://files.pythonhosted.org/packages/2c/9e/7651982d50252692991acdae614af821fd6c79bc8dcd598ad71d55be8fc7/dm.xmlsec.binding-1.3.7.tar.gz";
402 sha256 = "03jjjscx1pz2nc0dwiw9nia02qbz1c6f0f9zkyr8fmvys2n5jkb3";
402 sha256 = "03jjjscx1pz2nc0dwiw9nia02qbz1c6f0f9zkyr8fmvys2n5jkb3";
403 };
403 };
404 meta = {
404 meta = {
405 license = [ pkgs.lib.licenses.bsdOriginal ];
405 license = [ pkgs.lib.licenses.bsdOriginal ];
406 };
406 };
407 };
407 };
408 "docutils" = super.buildPythonPackage {
408 "docutils" = super.buildPythonPackage {
409 name = "docutils-0.14";
409 name = "docutils-0.14";
410 doCheck = false;
410 doCheck = false;
411 src = fetchurl {
411 src = fetchurl {
412 url = "https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz";
412 url = "https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz";
413 sha256 = "0x22fs3pdmr42kvz6c654756wja305qv6cx1zbhwlagvxgr4xrji";
413 sha256 = "0x22fs3pdmr42kvz6c654756wja305qv6cx1zbhwlagvxgr4xrji";
414 };
414 };
415 meta = {
415 meta = {
416 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.publicDomain pkgs.lib.licenses.gpl1 { fullName = "public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)"; } pkgs.lib.licenses.psfl ];
416 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.publicDomain pkgs.lib.licenses.gpl1 { fullName = "public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)"; } pkgs.lib.licenses.psfl ];
417 };
417 };
418 };
418 };
419 "dogpile.cache" = super.buildPythonPackage {
419 "dogpile.cache" = super.buildPythonPackage {
420 name = "dogpile.cache-0.7.1";
420 name = "dogpile.cache-0.7.1";
421 doCheck = false;
421 doCheck = false;
422 propagatedBuildInputs = [
422 propagatedBuildInputs = [
423 self."decorator"
423 self."decorator"
424 ];
424 ];
425 src = fetchurl {
425 src = fetchurl {
426 url = "https://files.pythonhosted.org/packages/84/3e/dbf1cfc5228f1d3dca80ef714db2c5aaec5cd9efaf54d7e3daef6bc48b19/dogpile.cache-0.7.1.tar.gz";
426 url = "https://files.pythonhosted.org/packages/84/3e/dbf1cfc5228f1d3dca80ef714db2c5aaec5cd9efaf54d7e3daef6bc48b19/dogpile.cache-0.7.1.tar.gz";
427 sha256 = "0caazmrzhnfqb5yrp8myhw61ny637jj69wcngrpbvi31jlcpy6v9";
427 sha256 = "0caazmrzhnfqb5yrp8myhw61ny637jj69wcngrpbvi31jlcpy6v9";
428 };
428 };
429 meta = {
429 meta = {
430 license = [ pkgs.lib.licenses.bsdOriginal ];
430 license = [ pkgs.lib.licenses.bsdOriginal ];
431 };
431 };
432 };
432 };
433 "dogpile.core" = super.buildPythonPackage {
433 "dogpile.core" = super.buildPythonPackage {
434 name = "dogpile.core-0.4.1";
434 name = "dogpile.core-0.4.1";
435 doCheck = false;
435 doCheck = false;
436 src = fetchurl {
436 src = fetchurl {
437 url = "https://files.pythonhosted.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
437 url = "https://files.pythonhosted.org/packages/0e/77/e72abc04c22aedf874301861e5c1e761231c288b5de369c18be8f4b5c9bb/dogpile.core-0.4.1.tar.gz";
438 sha256 = "0xpdvg4kr1isfkrh1rfsh7za4q5a5s6l2kf9wpvndbwf3aqjyrdy";
438 sha256 = "0xpdvg4kr1isfkrh1rfsh7za4q5a5s6l2kf9wpvndbwf3aqjyrdy";
439 };
439 };
440 meta = {
440 meta = {
441 license = [ pkgs.lib.licenses.bsdOriginal ];
441 license = [ pkgs.lib.licenses.bsdOriginal ];
442 };
442 };
443 };
443 };
444 "ecdsa" = super.buildPythonPackage {
444 "ecdsa" = super.buildPythonPackage {
445 name = "ecdsa-0.13.2";
445 name = "ecdsa-0.13.2";
446 doCheck = false;
446 doCheck = false;
447 src = fetchurl {
447 src = fetchurl {
448 url = "https://files.pythonhosted.org/packages/51/76/139bf6e9b7b6684d5891212cdbd9e0739f2bfc03f380a1a6ffa700f392ac/ecdsa-0.13.2.tar.gz";
448 url = "https://files.pythonhosted.org/packages/51/76/139bf6e9b7b6684d5891212cdbd9e0739f2bfc03f380a1a6ffa700f392ac/ecdsa-0.13.2.tar.gz";
449 sha256 = "116qaq7bh4lcynzi613960jhsnn19v0kmsqwahiwjfj14gx4y0sw";
449 sha256 = "116qaq7bh4lcynzi613960jhsnn19v0kmsqwahiwjfj14gx4y0sw";
450 };
450 };
451 meta = {
451 meta = {
452 license = [ pkgs.lib.licenses.mit ];
452 license = [ pkgs.lib.licenses.mit ];
453 };
453 };
454 };
454 };
455 "elasticsearch" = super.buildPythonPackage {
455 "elasticsearch" = super.buildPythonPackage {
456 name = "elasticsearch-6.3.1";
456 name = "elasticsearch-6.3.1";
457 doCheck = false;
457 doCheck = false;
458 propagatedBuildInputs = [
458 propagatedBuildInputs = [
459 self."urllib3"
459 self."urllib3"
460 ];
460 ];
461 src = fetchurl {
461 src = fetchurl {
462 url = "https://files.pythonhosted.org/packages/9d/ce/c4664e8380e379a9402ecfbaf158e56396da90d520daba21cfa840e0eb71/elasticsearch-6.3.1.tar.gz";
462 url = "https://files.pythonhosted.org/packages/9d/ce/c4664e8380e379a9402ecfbaf158e56396da90d520daba21cfa840e0eb71/elasticsearch-6.3.1.tar.gz";
463 sha256 = "12y93v0yn7a4xmf969239g8gb3l4cdkclfpbk1qc8hx5qkymrnma";
463 sha256 = "12y93v0yn7a4xmf969239g8gb3l4cdkclfpbk1qc8hx5qkymrnma";
464 };
464 };
465 meta = {
465 meta = {
466 license = [ pkgs.lib.licenses.asl20 ];
466 license = [ pkgs.lib.licenses.asl20 ];
467 };
467 };
468 };
468 };
469 "elasticsearch-dsl" = super.buildPythonPackage {
469 "elasticsearch-dsl" = super.buildPythonPackage {
470 name = "elasticsearch-dsl-6.3.1";
470 name = "elasticsearch-dsl-6.3.1";
471 doCheck = false;
471 doCheck = false;
472 propagatedBuildInputs = [
472 propagatedBuildInputs = [
473 self."six"
473 self."six"
474 self."python-dateutil"
474 self."python-dateutil"
475 self."elasticsearch"
475 self."elasticsearch"
476 self."ipaddress"
476 self."ipaddress"
477 ];
477 ];
478 src = fetchurl {
478 src = fetchurl {
479 url = "https://files.pythonhosted.org/packages/4c/0d/1549f50c591db6bb4e66cbcc8d34a6e537c3d89aa426b167c244fd46420a/elasticsearch-dsl-6.3.1.tar.gz";
479 url = "https://files.pythonhosted.org/packages/4c/0d/1549f50c591db6bb4e66cbcc8d34a6e537c3d89aa426b167c244fd46420a/elasticsearch-dsl-6.3.1.tar.gz";
480 sha256 = "1gh8a0shqi105k325hgwb9avrpdjh0mc6mxwfg9ba7g6lssb702z";
480 sha256 = "1gh8a0shqi105k325hgwb9avrpdjh0mc6mxwfg9ba7g6lssb702z";
481 };
481 };
482 meta = {
482 meta = {
483 license = [ pkgs.lib.licenses.asl20 ];
483 license = [ pkgs.lib.licenses.asl20 ];
484 };
484 };
485 };
485 };
486 "elasticsearch1" = super.buildPythonPackage {
486 "elasticsearch1" = super.buildPythonPackage {
487 name = "elasticsearch1-1.10.0";
487 name = "elasticsearch1-1.10.0";
488 doCheck = false;
488 doCheck = false;
489 propagatedBuildInputs = [
489 propagatedBuildInputs = [
490 self."urllib3"
490 self."urllib3"
491 ];
491 ];
492 src = fetchurl {
492 src = fetchurl {
493 url = "https://files.pythonhosted.org/packages/a6/eb/73e75f9681fa71e3157b8ee878534235d57f24ee64f0e77f8d995fb57076/elasticsearch1-1.10.0.tar.gz";
493 url = "https://files.pythonhosted.org/packages/a6/eb/73e75f9681fa71e3157b8ee878534235d57f24ee64f0e77f8d995fb57076/elasticsearch1-1.10.0.tar.gz";
494 sha256 = "0g89444kd5zwql4vbvyrmi2m6l6dcj6ga98j4hqxyyyz6z20aki2";
494 sha256 = "0g89444kd5zwql4vbvyrmi2m6l6dcj6ga98j4hqxyyyz6z20aki2";
495 };
495 };
496 meta = {
496 meta = {
497 license = [ pkgs.lib.licenses.asl20 ];
497 license = [ pkgs.lib.licenses.asl20 ];
498 };
498 };
499 };
499 };
500 "elasticsearch1-dsl" = super.buildPythonPackage {
500 "elasticsearch1-dsl" = super.buildPythonPackage {
501 name = "elasticsearch1-dsl-0.0.12";
501 name = "elasticsearch1-dsl-0.0.12";
502 doCheck = false;
502 doCheck = false;
503 propagatedBuildInputs = [
503 propagatedBuildInputs = [
504 self."six"
504 self."six"
505 self."python-dateutil"
505 self."python-dateutil"
506 self."elasticsearch1"
506 self."elasticsearch1"
507 ];
507 ];
508 src = fetchurl {
508 src = fetchurl {
509 url = "https://files.pythonhosted.org/packages/eb/9d/785342775cb10eddc9b8d7457d618a423b4f0b89d8b2b2d1bc27190d71db/elasticsearch1-dsl-0.0.12.tar.gz";
509 url = "https://files.pythonhosted.org/packages/eb/9d/785342775cb10eddc9b8d7457d618a423b4f0b89d8b2b2d1bc27190d71db/elasticsearch1-dsl-0.0.12.tar.gz";
510 sha256 = "0ig1ly39v93hba0z975wnhbmzwj28w6w1sqlr2g7cn5spp732bhk";
510 sha256 = "0ig1ly39v93hba0z975wnhbmzwj28w6w1sqlr2g7cn5spp732bhk";
511 };
511 };
512 meta = {
512 meta = {
513 license = [ pkgs.lib.licenses.asl20 ];
513 license = [ pkgs.lib.licenses.asl20 ];
514 };
514 };
515 };
515 };
516 "elasticsearch2" = super.buildPythonPackage {
516 "elasticsearch2" = super.buildPythonPackage {
517 name = "elasticsearch2-2.5.0";
517 name = "elasticsearch2-2.5.0";
518 doCheck = false;
518 doCheck = false;
519 propagatedBuildInputs = [
519 propagatedBuildInputs = [
520 self."urllib3"
520 self."urllib3"
521 ];
521 ];
522 src = fetchurl {
522 src = fetchurl {
523 url = "https://files.pythonhosted.org/packages/84/77/63cf63d4ba11d913b5278406f2a37b0712bec6fc85edfb6151a33eaeba25/elasticsearch2-2.5.0.tar.gz";
523 url = "https://files.pythonhosted.org/packages/84/77/63cf63d4ba11d913b5278406f2a37b0712bec6fc85edfb6151a33eaeba25/elasticsearch2-2.5.0.tar.gz";
524 sha256 = "0ky0q16lbvz022yv6q3pix7aamf026p1y994537ccjf0p0dxnbxr";
524 sha256 = "0ky0q16lbvz022yv6q3pix7aamf026p1y994537ccjf0p0dxnbxr";
525 };
525 };
526 meta = {
526 meta = {
527 license = [ pkgs.lib.licenses.asl20 ];
527 license = [ pkgs.lib.licenses.asl20 ];
528 };
528 };
529 };
529 };
530 "entrypoints" = super.buildPythonPackage {
530 "entrypoints" = super.buildPythonPackage {
531 name = "entrypoints-0.2.2";
531 name = "entrypoints-0.2.2";
532 doCheck = false;
532 doCheck = false;
533 propagatedBuildInputs = [
533 propagatedBuildInputs = [
534 self."configparser"
534 self."configparser"
535 ];
535 ];
536 src = fetchurl {
536 src = fetchurl {
537 url = "https://code.rhodecode.com/upstream/entrypoints/artifacts/download/0-8e9ee9e4-c4db-409c-b07e-81568fd1832d.tar.gz?md5=3a027b8ff1d257b91fe257de6c43357d";
537 url = "https://code.rhodecode.com/upstream/entrypoints/artifacts/download/0-8e9ee9e4-c4db-409c-b07e-81568fd1832d.tar.gz?md5=3a027b8ff1d257b91fe257de6c43357d";
538 sha256 = "0qih72n2myclanplqipqxpgpj9d2yhff1pz5d02zq1cfqyd173w5";
538 sha256 = "0qih72n2myclanplqipqxpgpj9d2yhff1pz5d02zq1cfqyd173w5";
539 };
539 };
540 meta = {
540 meta = {
541 license = [ pkgs.lib.licenses.mit ];
541 license = [ pkgs.lib.licenses.mit ];
542 };
542 };
543 };
543 };
544 "enum34" = super.buildPythonPackage {
544 "enum34" = super.buildPythonPackage {
545 name = "enum34-1.1.6";
545 name = "enum34-1.1.6";
546 doCheck = false;
546 doCheck = false;
547 src = fetchurl {
547 src = fetchurl {
548 url = "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz";
548 url = "https://files.pythonhosted.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz";
549 sha256 = "1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a";
549 sha256 = "1cgm5ng2gcfrkrm3hc22brl6chdmv67b9zvva9sfs7gn7dwc9n4a";
550 };
550 };
551 meta = {
551 meta = {
552 license = [ pkgs.lib.licenses.bsdOriginal ];
552 license = [ pkgs.lib.licenses.bsdOriginal ];
553 };
553 };
554 };
554 };
555 "formencode" = super.buildPythonPackage {
555 "formencode" = super.buildPythonPackage {
556 name = "formencode-1.2.4";
556 name = "formencode-1.2.4";
557 doCheck = false;
557 doCheck = false;
558 src = fetchurl {
558 src = fetchurl {
559 url = "https://files.pythonhosted.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz";
559 url = "https://files.pythonhosted.org/packages/8e/59/0174271a6f004512e0201188593e6d319db139d14cb7490e488bbb078015/FormEncode-1.2.4.tar.gz";
560 sha256 = "1fgy04sdy4yry5xcjls3x3xy30dqwj58ycnkndim819jx0788w42";
560 sha256 = "1fgy04sdy4yry5xcjls3x3xy30dqwj58ycnkndim819jx0788w42";
561 };
561 };
562 meta = {
562 meta = {
563 license = [ pkgs.lib.licenses.psfl ];
563 license = [ pkgs.lib.licenses.psfl ];
564 };
564 };
565 };
565 };
566 "funcsigs" = super.buildPythonPackage {
566 "funcsigs" = super.buildPythonPackage {
567 name = "funcsigs-1.0.2";
567 name = "funcsigs-1.0.2";
568 doCheck = false;
568 doCheck = false;
569 src = fetchurl {
569 src = fetchurl {
570 url = "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz";
570 url = "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz";
571 sha256 = "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7";
571 sha256 = "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7";
572 };
572 };
573 meta = {
573 meta = {
574 license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ];
574 license = [ { fullName = "ASL"; } pkgs.lib.licenses.asl20 ];
575 };
575 };
576 };
576 };
577 "functools32" = super.buildPythonPackage {
577 "functools32" = super.buildPythonPackage {
578 name = "functools32-3.2.3.post2";
578 name = "functools32-3.2.3.post2";
579 doCheck = false;
579 doCheck = false;
580 src = fetchurl {
580 src = fetchurl {
581 url = "https://files.pythonhosted.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz";
581 url = "https://files.pythonhosted.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz";
582 sha256 = "0v8ya0b58x47wp216n1zamimv4iw57cxz3xxhzix52jkw3xks9gn";
582 sha256 = "0v8ya0b58x47wp216n1zamimv4iw57cxz3xxhzix52jkw3xks9gn";
583 };
583 };
584 meta = {
584 meta = {
585 license = [ pkgs.lib.licenses.psfl ];
585 license = [ pkgs.lib.licenses.psfl ];
586 };
586 };
587 };
587 };
588 "future" = super.buildPythonPackage {
588 "future" = super.buildPythonPackage {
589 name = "future-0.14.3";
589 name = "future-0.14.3";
590 doCheck = false;
590 doCheck = false;
591 src = fetchurl {
591 src = fetchurl {
592 url = "https://files.pythonhosted.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz";
592 url = "https://files.pythonhosted.org/packages/83/80/8ef3a11a15f8eaafafa0937b20c1b3f73527e69ab6b3fa1cf94a5a96aabb/future-0.14.3.tar.gz";
593 sha256 = "1savk7jx7hal032f522c5ajhh8fra6gmnadrj9adv5qxi18pv1b2";
593 sha256 = "1savk7jx7hal032f522c5ajhh8fra6gmnadrj9adv5qxi18pv1b2";
594 };
594 };
595 meta = {
595 meta = {
596 license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ];
596 license = [ { fullName = "OSI Approved"; } pkgs.lib.licenses.mit ];
597 };
597 };
598 };
598 };
599 "futures" = super.buildPythonPackage {
599 "futures" = super.buildPythonPackage {
600 name = "futures-3.0.2";
600 name = "futures-3.0.2";
601 doCheck = false;
601 doCheck = false;
602 src = fetchurl {
602 src = fetchurl {
603 url = "https://files.pythonhosted.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz";
603 url = "https://files.pythonhosted.org/packages/f8/e7/fc0fcbeb9193ba2d4de00b065e7fd5aecd0679e93ce95a07322b2b1434f4/futures-3.0.2.tar.gz";
604 sha256 = "0mz2pbgxbc2nbib1szifi07whjbfs4r02pv2z390z7p410awjgyw";
604 sha256 = "0mz2pbgxbc2nbib1szifi07whjbfs4r02pv2z390z7p410awjgyw";
605 };
605 };
606 meta = {
606 meta = {
607 license = [ pkgs.lib.licenses.bsdOriginal ];
607 license = [ pkgs.lib.licenses.bsdOriginal ];
608 };
608 };
609 };
609 };
610 "gevent" = super.buildPythonPackage {
610 "gevent" = super.buildPythonPackage {
611 name = "gevent-1.4.0";
611 name = "gevent-1.4.0";
612 doCheck = false;
612 doCheck = false;
613 propagatedBuildInputs = [
613 propagatedBuildInputs = [
614 self."greenlet"
614 self."greenlet"
615 ];
615 ];
616 src = fetchurl {
616 src = fetchurl {
617 url = "https://files.pythonhosted.org/packages/ed/27/6c49b70808f569b66ec7fac2e78f076e9b204db9cf5768740cff3d5a07ae/gevent-1.4.0.tar.gz";
617 url = "https://files.pythonhosted.org/packages/ed/27/6c49b70808f569b66ec7fac2e78f076e9b204db9cf5768740cff3d5a07ae/gevent-1.4.0.tar.gz";
618 sha256 = "1lchr4akw2jkm5v4kz7bdm4wv3knkfhbfn9vkkz4s5yrkcxzmdqy";
618 sha256 = "1lchr4akw2jkm5v4kz7bdm4wv3knkfhbfn9vkkz4s5yrkcxzmdqy";
619 };
619 };
620 meta = {
620 meta = {
621 license = [ pkgs.lib.licenses.mit ];
621 license = [ pkgs.lib.licenses.mit ];
622 };
622 };
623 };
623 };
624 "gnureadline" = super.buildPythonPackage {
624 "gnureadline" = super.buildPythonPackage {
625 name = "gnureadline-6.3.8";
625 name = "gnureadline-6.3.8";
626 doCheck = false;
626 doCheck = false;
627 src = fetchurl {
627 src = fetchurl {
628 url = "https://files.pythonhosted.org/packages/50/64/86085c823cd78f9df9d8e33dce0baa71618016f8860460b82cf6610e1eb3/gnureadline-6.3.8.tar.gz";
628 url = "https://files.pythonhosted.org/packages/50/64/86085c823cd78f9df9d8e33dce0baa71618016f8860460b82cf6610e1eb3/gnureadline-6.3.8.tar.gz";
629 sha256 = "0ddhj98x2nv45iz4aadk4b9m0b1kpsn1xhcbypn5cd556knhiqjq";
629 sha256 = "0ddhj98x2nv45iz4aadk4b9m0b1kpsn1xhcbypn5cd556knhiqjq";
630 };
630 };
631 meta = {
631 meta = {
632 license = [ { fullName = "GNU General Public License v3 (GPLv3)"; } pkgs.lib.licenses.gpl1 ];
632 license = [ { fullName = "GNU General Public License v3 (GPLv3)"; } pkgs.lib.licenses.gpl1 ];
633 };
633 };
634 };
634 };
635 "gprof2dot" = super.buildPythonPackage {
635 "gprof2dot" = super.buildPythonPackage {
636 name = "gprof2dot-2017.9.19";
636 name = "gprof2dot-2017.9.19";
637 doCheck = false;
637 doCheck = false;
638 src = fetchurl {
638 src = fetchurl {
639 url = "https://files.pythonhosted.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz";
639 url = "https://files.pythonhosted.org/packages/9d/36/f977122502979f3dfb50704979c9ed70e6b620787942b089bf1af15f5aba/gprof2dot-2017.9.19.tar.gz";
640 sha256 = "17ih23ld2nzgc3xwgbay911l6lh96jp1zshmskm17n1gg2i7mg6f";
640 sha256 = "17ih23ld2nzgc3xwgbay911l6lh96jp1zshmskm17n1gg2i7mg6f";
641 };
641 };
642 meta = {
642 meta = {
643 license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ];
643 license = [ { fullName = "GNU Lesser General Public License v3 or later (LGPLv3+)"; } { fullName = "LGPL"; } ];
644 };
644 };
645 };
645 };
646 "greenlet" = super.buildPythonPackage {
646 "greenlet" = super.buildPythonPackage {
647 name = "greenlet-0.4.15";
647 name = "greenlet-0.4.15";
648 doCheck = false;
648 doCheck = false;
649 src = fetchurl {
649 src = fetchurl {
650 url = "https://files.pythonhosted.org/packages/f8/e8/b30ae23b45f69aa3f024b46064c0ac8e5fcb4f22ace0dca8d6f9c8bbe5e7/greenlet-0.4.15.tar.gz";
650 url = "https://files.pythonhosted.org/packages/f8/e8/b30ae23b45f69aa3f024b46064c0ac8e5fcb4f22ace0dca8d6f9c8bbe5e7/greenlet-0.4.15.tar.gz";
651 sha256 = "1g4g1wwc472ds89zmqlpyan3fbnzpa8qm48z3z1y6mlk44z485ll";
651 sha256 = "1g4g1wwc472ds89zmqlpyan3fbnzpa8qm48z3z1y6mlk44z485ll";
652 };
652 };
653 meta = {
653 meta = {
654 license = [ pkgs.lib.licenses.mit ];
654 license = [ pkgs.lib.licenses.mit ];
655 };
655 };
656 };
656 };
657 "gunicorn" = super.buildPythonPackage {
657 "gunicorn" = super.buildPythonPackage {
658 name = "gunicorn-19.9.0";
658 name = "gunicorn-19.9.0";
659 doCheck = false;
659 doCheck = false;
660 src = fetchurl {
660 src = fetchurl {
661 url = "https://files.pythonhosted.org/packages/47/52/68ba8e5e8ba251e54006a49441f7ccabca83b6bef5aedacb4890596c7911/gunicorn-19.9.0.tar.gz";
661 url = "https://files.pythonhosted.org/packages/47/52/68ba8e5e8ba251e54006a49441f7ccabca83b6bef5aedacb4890596c7911/gunicorn-19.9.0.tar.gz";
662 sha256 = "1wzlf4xmn6qjirh5w81l6i6kqjnab1n1qqkh7zsj1yb6gh4n49ps";
662 sha256 = "1wzlf4xmn6qjirh5w81l6i6kqjnab1n1qqkh7zsj1yb6gh4n49ps";
663 };
663 };
664 meta = {
664 meta = {
665 license = [ pkgs.lib.licenses.mit ];
665 license = [ pkgs.lib.licenses.mit ];
666 };
666 };
667 };
667 };
668 "hupper" = super.buildPythonPackage {
668 "hupper" = super.buildPythonPackage {
669 name = "hupper-1.6.1";
669 name = "hupper-1.6.1";
670 doCheck = false;
670 doCheck = false;
671 src = fetchurl {
671 src = fetchurl {
672 url = "https://files.pythonhosted.org/packages/85/d9/e005d357b11249c5d70ddf5b7adab2e4c0da4e8b0531ff146917a04fe6c0/hupper-1.6.1.tar.gz";
672 url = "https://files.pythonhosted.org/packages/85/d9/e005d357b11249c5d70ddf5b7adab2e4c0da4e8b0531ff146917a04fe6c0/hupper-1.6.1.tar.gz";
673 sha256 = "0d3cvkc8ssgwk54wvhbifj56ry97qi10pfzwfk8vwzzcikbfp3zy";
673 sha256 = "0d3cvkc8ssgwk54wvhbifj56ry97qi10pfzwfk8vwzzcikbfp3zy";
674 };
674 };
675 meta = {
675 meta = {
676 license = [ pkgs.lib.licenses.mit ];
676 license = [ pkgs.lib.licenses.mit ];
677 };
677 };
678 };
678 };
679 "infrae.cache" = super.buildPythonPackage {
679 "infrae.cache" = super.buildPythonPackage {
680 name = "infrae.cache-1.0.1";
680 name = "infrae.cache-1.0.1";
681 doCheck = false;
681 doCheck = false;
682 propagatedBuildInputs = [
682 propagatedBuildInputs = [
683 self."beaker"
683 self."beaker"
684 self."repoze.lru"
684 self."repoze.lru"
685 ];
685 ];
686 src = fetchurl {
686 src = fetchurl {
687 url = "https://files.pythonhosted.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz";
687 url = "https://files.pythonhosted.org/packages/bb/f0/e7d5e984cf6592fd2807dc7bc44a93f9d18e04e6a61f87fdfb2622422d74/infrae.cache-1.0.1.tar.gz";
688 sha256 = "1dvqsjn8vw253wz9d1pz17j79mf4bs53dvp2qxck2qdp1am1njw4";
688 sha256 = "1dvqsjn8vw253wz9d1pz17j79mf4bs53dvp2qxck2qdp1am1njw4";
689 };
689 };
690 meta = {
690 meta = {
691 license = [ pkgs.lib.licenses.zpl21 ];
691 license = [ pkgs.lib.licenses.zpl21 ];
692 };
692 };
693 };
693 };
694 "invoke" = super.buildPythonPackage {
694 "invoke" = super.buildPythonPackage {
695 name = "invoke-0.13.0";
695 name = "invoke-0.13.0";
696 doCheck = false;
696 doCheck = false;
697 src = fetchurl {
697 src = fetchurl {
698 url = "https://files.pythonhosted.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz";
698 url = "https://files.pythonhosted.org/packages/47/bf/d07ef52fa1ac645468858bbac7cb95b246a972a045e821493d17d89c81be/invoke-0.13.0.tar.gz";
699 sha256 = "0794vhgxfmkh0vzkkg5cfv1w82g3jc3xr18wim29far9qpx9468s";
699 sha256 = "0794vhgxfmkh0vzkkg5cfv1w82g3jc3xr18wim29far9qpx9468s";
700 };
700 };
701 meta = {
701 meta = {
702 license = [ pkgs.lib.licenses.bsdOriginal ];
702 license = [ pkgs.lib.licenses.bsdOriginal ];
703 };
703 };
704 };
704 };
705 "ipaddress" = super.buildPythonPackage {
705 "ipaddress" = super.buildPythonPackage {
706 name = "ipaddress-1.0.22";
706 name = "ipaddress-1.0.22";
707 doCheck = false;
707 doCheck = false;
708 src = fetchurl {
708 src = fetchurl {
709 url = "https://files.pythonhosted.org/packages/97/8d/77b8cedcfbf93676148518036c6b1ce7f8e14bf07e95d7fd4ddcb8cc052f/ipaddress-1.0.22.tar.gz";
709 url = "https://files.pythonhosted.org/packages/97/8d/77b8cedcfbf93676148518036c6b1ce7f8e14bf07e95d7fd4ddcb8cc052f/ipaddress-1.0.22.tar.gz";
710 sha256 = "0b570bm6xqpjwqis15pvdy6lyvvzfndjvkynilcddjj5x98wfimi";
710 sha256 = "0b570bm6xqpjwqis15pvdy6lyvvzfndjvkynilcddjj5x98wfimi";
711 };
711 };
712 meta = {
712 meta = {
713 license = [ pkgs.lib.licenses.psfl ];
713 license = [ pkgs.lib.licenses.psfl ];
714 };
714 };
715 };
715 };
716 "ipdb" = super.buildPythonPackage {
716 "ipdb" = super.buildPythonPackage {
717 name = "ipdb-0.12";
717 name = "ipdb-0.12";
718 doCheck = false;
718 doCheck = false;
719 propagatedBuildInputs = [
719 propagatedBuildInputs = [
720 self."setuptools"
720 self."setuptools"
721 self."ipython"
721 self."ipython"
722 ];
722 ];
723 src = fetchurl {
723 src = fetchurl {
724 url = "https://files.pythonhosted.org/packages/6d/43/c3c2e866a8803e196d6209595020a4a6db1a3c5d07c01455669497ae23d0/ipdb-0.12.tar.gz";
724 url = "https://files.pythonhosted.org/packages/6d/43/c3c2e866a8803e196d6209595020a4a6db1a3c5d07c01455669497ae23d0/ipdb-0.12.tar.gz";
725 sha256 = "1khr2n7xfy8hg65kj1bsrjq9g7656pp0ybfa8abpbzpdawji3qnw";
725 sha256 = "1khr2n7xfy8hg65kj1bsrjq9g7656pp0ybfa8abpbzpdawji3qnw";
726 };
726 };
727 meta = {
727 meta = {
728 license = [ pkgs.lib.licenses.bsdOriginal ];
728 license = [ pkgs.lib.licenses.bsdOriginal ];
729 };
729 };
730 };
730 };
731 "ipython" = super.buildPythonPackage {
731 "ipython" = super.buildPythonPackage {
732 name = "ipython-5.1.0";
732 name = "ipython-5.1.0";
733 doCheck = false;
733 doCheck = false;
734 propagatedBuildInputs = [
734 propagatedBuildInputs = [
735 self."setuptools"
735 self."setuptools"
736 self."decorator"
736 self."decorator"
737 self."pickleshare"
737 self."pickleshare"
738 self."simplegeneric"
738 self."simplegeneric"
739 self."traitlets"
739 self."traitlets"
740 self."prompt-toolkit"
740 self."prompt-toolkit"
741 self."pygments"
741 self."pygments"
742 self."pexpect"
742 self."pexpect"
743 self."backports.shutil-get-terminal-size"
743 self."backports.shutil-get-terminal-size"
744 self."pathlib2"
744 self."pathlib2"
745 self."pexpect"
745 self."pexpect"
746 ];
746 ];
747 src = fetchurl {
747 src = fetchurl {
748 url = "https://files.pythonhosted.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz";
748 url = "https://files.pythonhosted.org/packages/89/63/a9292f7cd9d0090a0f995e1167f3f17d5889dcbc9a175261719c513b9848/ipython-5.1.0.tar.gz";
749 sha256 = "0qdrf6aj9kvjczd5chj1my8y2iq09am9l8bb2a1334a52d76kx3y";
749 sha256 = "0qdrf6aj9kvjczd5chj1my8y2iq09am9l8bb2a1334a52d76kx3y";
750 };
750 };
751 meta = {
751 meta = {
752 license = [ pkgs.lib.licenses.bsdOriginal ];
752 license = [ pkgs.lib.licenses.bsdOriginal ];
753 };
753 };
754 };
754 };
755 "ipython-genutils" = super.buildPythonPackage {
755 "ipython-genutils" = super.buildPythonPackage {
756 name = "ipython-genutils-0.2.0";
756 name = "ipython-genutils-0.2.0";
757 doCheck = false;
757 doCheck = false;
758 src = fetchurl {
758 src = fetchurl {
759 url = "https://files.pythonhosted.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz";
759 url = "https://files.pythonhosted.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz";
760 sha256 = "1a4bc9y8hnvq6cp08qs4mckgm6i6ajpndp4g496rvvzcfmp12bpb";
760 sha256 = "1a4bc9y8hnvq6cp08qs4mckgm6i6ajpndp4g496rvvzcfmp12bpb";
761 };
761 };
762 meta = {
762 meta = {
763 license = [ pkgs.lib.licenses.bsdOriginal ];
763 license = [ pkgs.lib.licenses.bsdOriginal ];
764 };
764 };
765 };
765 };
766 "iso8601" = super.buildPythonPackage {
766 "iso8601" = super.buildPythonPackage {
767 name = "iso8601-0.1.12";
767 name = "iso8601-0.1.12";
768 doCheck = false;
768 doCheck = false;
769 src = fetchurl {
769 src = fetchurl {
770 url = "https://files.pythonhosted.org/packages/45/13/3db24895497345fb44c4248c08b16da34a9eb02643cea2754b21b5ed08b0/iso8601-0.1.12.tar.gz";
770 url = "https://files.pythonhosted.org/packages/45/13/3db24895497345fb44c4248c08b16da34a9eb02643cea2754b21b5ed08b0/iso8601-0.1.12.tar.gz";
771 sha256 = "10nyvvnrhw2w3p09v1ica4lgj6f4g9j3kkfx17qmraiq3w7b5i29";
771 sha256 = "10nyvvnrhw2w3p09v1ica4lgj6f4g9j3kkfx17qmraiq3w7b5i29";
772 };
772 };
773 meta = {
773 meta = {
774 license = [ pkgs.lib.licenses.mit ];
774 license = [ pkgs.lib.licenses.mit ];
775 };
775 };
776 };
776 };
777 "isodate" = super.buildPythonPackage {
777 "isodate" = super.buildPythonPackage {
778 name = "isodate-0.6.0";
778 name = "isodate-0.6.0";
779 doCheck = false;
779 doCheck = false;
780 propagatedBuildInputs = [
780 propagatedBuildInputs = [
781 self."six"
781 self."six"
782 ];
782 ];
783 src = fetchurl {
783 src = fetchurl {
784 url = "https://files.pythonhosted.org/packages/b1/80/fb8c13a4cd38eb5021dc3741a9e588e4d1de88d895c1910c6fc8a08b7a70/isodate-0.6.0.tar.gz";
784 url = "https://files.pythonhosted.org/packages/b1/80/fb8c13a4cd38eb5021dc3741a9e588e4d1de88d895c1910c6fc8a08b7a70/isodate-0.6.0.tar.gz";
785 sha256 = "1n7jkz68kk5pwni540pr5zdh99bf6ywydk1p5pdrqisrawylldif";
785 sha256 = "1n7jkz68kk5pwni540pr5zdh99bf6ywydk1p5pdrqisrawylldif";
786 };
786 };
787 meta = {
787 meta = {
788 license = [ pkgs.lib.licenses.bsdOriginal ];
788 license = [ pkgs.lib.licenses.bsdOriginal ];
789 };
789 };
790 };
790 };
791 "itsdangerous" = super.buildPythonPackage {
791 "itsdangerous" = super.buildPythonPackage {
792 name = "itsdangerous-0.24";
792 name = "itsdangerous-0.24";
793 doCheck = false;
793 doCheck = false;
794 src = fetchurl {
794 src = fetchurl {
795 url = "https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz";
795 url = "https://files.pythonhosted.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz";
796 sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb";
796 sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb";
797 };
797 };
798 meta = {
798 meta = {
799 license = [ pkgs.lib.licenses.bsdOriginal ];
799 license = [ pkgs.lib.licenses.bsdOriginal ];
800 };
800 };
801 };
801 };
802 "jinja2" = super.buildPythonPackage {
802 "jinja2" = super.buildPythonPackage {
803 name = "jinja2-2.9.6";
803 name = "jinja2-2.9.6";
804 doCheck = false;
804 doCheck = false;
805 propagatedBuildInputs = [
805 propagatedBuildInputs = [
806 self."markupsafe"
806 self."markupsafe"
807 ];
807 ];
808 src = fetchurl {
808 src = fetchurl {
809 url = "https://files.pythonhosted.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz";
809 url = "https://files.pythonhosted.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz";
810 sha256 = "1zzrkywhziqffrzks14kzixz7nd4yh2vc0fb04a68vfd2ai03anx";
810 sha256 = "1zzrkywhziqffrzks14kzixz7nd4yh2vc0fb04a68vfd2ai03anx";
811 };
811 };
812 meta = {
812 meta = {
813 license = [ pkgs.lib.licenses.bsdOriginal ];
813 license = [ pkgs.lib.licenses.bsdOriginal ];
814 };
814 };
815 };
815 };
816 "jsonschema" = super.buildPythonPackage {
816 "jsonschema" = super.buildPythonPackage {
817 name = "jsonschema-2.6.0";
817 name = "jsonschema-2.6.0";
818 doCheck = false;
818 doCheck = false;
819 propagatedBuildInputs = [
819 propagatedBuildInputs = [
820 self."functools32"
820 self."functools32"
821 ];
821 ];
822 src = fetchurl {
822 src = fetchurl {
823 url = "https://files.pythonhosted.org/packages/58/b9/171dbb07e18c6346090a37f03c7e74410a1a56123f847efed59af260a298/jsonschema-2.6.0.tar.gz";
823 url = "https://files.pythonhosted.org/packages/58/b9/171dbb07e18c6346090a37f03c7e74410a1a56123f847efed59af260a298/jsonschema-2.6.0.tar.gz";
824 sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
824 sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
825 };
825 };
826 meta = {
826 meta = {
827 license = [ pkgs.lib.licenses.mit ];
827 license = [ pkgs.lib.licenses.mit ];
828 };
828 };
829 };
829 };
830 "jupyter-client" = super.buildPythonPackage {
830 "jupyter-client" = super.buildPythonPackage {
831 name = "jupyter-client-5.0.0";
831 name = "jupyter-client-5.0.0";
832 doCheck = false;
832 doCheck = false;
833 propagatedBuildInputs = [
833 propagatedBuildInputs = [
834 self."traitlets"
834 self."traitlets"
835 self."jupyter-core"
835 self."jupyter-core"
836 self."pyzmq"
836 self."pyzmq"
837 self."python-dateutil"
837 self."python-dateutil"
838 ];
838 ];
839 src = fetchurl {
839 src = fetchurl {
840 url = "https://files.pythonhosted.org/packages/e5/6f/65412ed462202b90134b7e761b0b7e7f949e07a549c1755475333727b3d0/jupyter_client-5.0.0.tar.gz";
840 url = "https://files.pythonhosted.org/packages/e5/6f/65412ed462202b90134b7e761b0b7e7f949e07a549c1755475333727b3d0/jupyter_client-5.0.0.tar.gz";
841 sha256 = "0nxw4rqk4wsjhc87gjqd7pv89cb9dnimcfnmcmp85bmrvv1gjri7";
841 sha256 = "0nxw4rqk4wsjhc87gjqd7pv89cb9dnimcfnmcmp85bmrvv1gjri7";
842 };
842 };
843 meta = {
843 meta = {
844 license = [ pkgs.lib.licenses.bsdOriginal ];
844 license = [ pkgs.lib.licenses.bsdOriginal ];
845 };
845 };
846 };
846 };
847 "jupyter-core" = super.buildPythonPackage {
847 "jupyter-core" = super.buildPythonPackage {
848 name = "jupyter-core-4.5.0";
848 name = "jupyter-core-4.5.0";
849 doCheck = false;
849 doCheck = false;
850 propagatedBuildInputs = [
850 propagatedBuildInputs = [
851 self."traitlets"
851 self."traitlets"
852 ];
852 ];
853 src = fetchurl {
853 src = fetchurl {
854 url = "https://files.pythonhosted.org/packages/4a/de/ff4ca734656d17ebe0450807b59d728f45277e2e7f4b82bc9aae6cb82961/jupyter_core-4.5.0.tar.gz";
854 url = "https://files.pythonhosted.org/packages/4a/de/ff4ca734656d17ebe0450807b59d728f45277e2e7f4b82bc9aae6cb82961/jupyter_core-4.5.0.tar.gz";
855 sha256 = "1xr4pbghwk5hayn5wwnhb7z95380r45p79gf5if5pi1akwg7qvic";
855 sha256 = "1xr4pbghwk5hayn5wwnhb7z95380r45p79gf5if5pi1akwg7qvic";
856 };
856 };
857 meta = {
857 meta = {
858 license = [ pkgs.lib.licenses.bsdOriginal ];
858 license = [ pkgs.lib.licenses.bsdOriginal ];
859 };
859 };
860 };
860 };
861 "kombu" = super.buildPythonPackage {
861 "kombu" = super.buildPythonPackage {
862 name = "kombu-4.2.1";
862 name = "kombu-4.2.1";
863 doCheck = false;
863 doCheck = false;
864 propagatedBuildInputs = [
864 propagatedBuildInputs = [
865 self."amqp"
865 self."amqp"
866 ];
866 ];
867 src = fetchurl {
867 src = fetchurl {
868 url = "https://files.pythonhosted.org/packages/39/9f/556b988833abede4a80dbd18b2bdf4e8ff4486dd482ed45da961347e8ed2/kombu-4.2.1.tar.gz";
868 url = "https://files.pythonhosted.org/packages/39/9f/556b988833abede4a80dbd18b2bdf4e8ff4486dd482ed45da961347e8ed2/kombu-4.2.1.tar.gz";
869 sha256 = "10lh3hncvw67fz0k5vgbx3yh9gjfpqdlia1f13i28cgnc1nfrbc6";
869 sha256 = "10lh3hncvw67fz0k5vgbx3yh9gjfpqdlia1f13i28cgnc1nfrbc6";
870 };
870 };
871 meta = {
871 meta = {
872 license = [ pkgs.lib.licenses.bsdOriginal ];
872 license = [ pkgs.lib.licenses.bsdOriginal ];
873 };
873 };
874 };
874 };
875 "lxml" = super.buildPythonPackage {
875 "lxml" = super.buildPythonPackage {
876 name = "lxml-4.2.5";
876 name = "lxml-4.2.5";
877 doCheck = false;
877 doCheck = false;
878 src = fetchurl {
878 src = fetchurl {
879 url = "https://files.pythonhosted.org/packages/4b/20/ddf5eb3bd5c57582d2b4652b4bbcf8da301bdfe5d805cb94e805f4d7464d/lxml-4.2.5.tar.gz";
879 url = "https://files.pythonhosted.org/packages/4b/20/ddf5eb3bd5c57582d2b4652b4bbcf8da301bdfe5d805cb94e805f4d7464d/lxml-4.2.5.tar.gz";
880 sha256 = "0zw0y9hs0nflxhl9cs6ipwwh53szi3w2x06wl0k9cylyqac0cwin";
880 sha256 = "0zw0y9hs0nflxhl9cs6ipwwh53szi3w2x06wl0k9cylyqac0cwin";
881 };
881 };
882 meta = {
882 meta = {
883 license = [ pkgs.lib.licenses.bsdOriginal ];
883 license = [ pkgs.lib.licenses.bsdOriginal ];
884 };
884 };
885 };
885 };
886 "mako" = super.buildPythonPackage {
886 "mako" = super.buildPythonPackage {
887 name = "mako-1.0.7";
887 name = "mako-1.0.7";
888 doCheck = false;
888 doCheck = false;
889 propagatedBuildInputs = [
889 propagatedBuildInputs = [
890 self."markupsafe"
890 self."markupsafe"
891 ];
891 ];
892 src = fetchurl {
892 src = fetchurl {
893 url = "https://files.pythonhosted.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz";
893 url = "https://files.pythonhosted.org/packages/eb/f3/67579bb486517c0d49547f9697e36582cd19dafb5df9e687ed8e22de57fa/Mako-1.0.7.tar.gz";
894 sha256 = "1bi5gnr8r8dva06qpyx4kgjc6spm2k1y908183nbbaylggjzs0jf";
894 sha256 = "1bi5gnr8r8dva06qpyx4kgjc6spm2k1y908183nbbaylggjzs0jf";
895 };
895 };
896 meta = {
896 meta = {
897 license = [ pkgs.lib.licenses.mit ];
897 license = [ pkgs.lib.licenses.mit ];
898 };
898 };
899 };
899 };
900 "markdown" = super.buildPythonPackage {
900 "markdown" = super.buildPythonPackage {
901 name = "markdown-2.6.11";
901 name = "markdown-2.6.11";
902 doCheck = false;
902 doCheck = false;
903 src = fetchurl {
903 src = fetchurl {
904 url = "https://files.pythonhosted.org/packages/b3/73/fc5c850f44af5889192dff783b7b0d8f3fe8d30b65c8e3f78f8f0265fecf/Markdown-2.6.11.tar.gz";
904 url = "https://files.pythonhosted.org/packages/b3/73/fc5c850f44af5889192dff783b7b0d8f3fe8d30b65c8e3f78f8f0265fecf/Markdown-2.6.11.tar.gz";
905 sha256 = "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8";
905 sha256 = "108g80ryzykh8bj0i7jfp71510wrcixdi771lf2asyghgyf8cmm8";
906 };
906 };
907 meta = {
907 meta = {
908 license = [ pkgs.lib.licenses.bsdOriginal ];
908 license = [ pkgs.lib.licenses.bsdOriginal ];
909 };
909 };
910 };
910 };
911 "markupsafe" = super.buildPythonPackage {
911 "markupsafe" = super.buildPythonPackage {
912 name = "markupsafe-1.1.0";
912 name = "markupsafe-1.1.0";
913 doCheck = false;
913 doCheck = false;
914 src = fetchurl {
914 src = fetchurl {
915 url = "https://files.pythonhosted.org/packages/ac/7e/1b4c2e05809a4414ebce0892fe1e32c14ace86ca7d50c70f00979ca9b3a3/MarkupSafe-1.1.0.tar.gz";
915 url = "https://files.pythonhosted.org/packages/ac/7e/1b4c2e05809a4414ebce0892fe1e32c14ace86ca7d50c70f00979ca9b3a3/MarkupSafe-1.1.0.tar.gz";
916 sha256 = "1lxirjypbdd3l9jl4vliilhfnhy7c7f2vlldqg1b0i74khn375sf";
916 sha256 = "1lxirjypbdd3l9jl4vliilhfnhy7c7f2vlldqg1b0i74khn375sf";
917 };
917 };
918 meta = {
918 meta = {
919 license = [ pkgs.lib.licenses.bsdOriginal ];
919 license = [ pkgs.lib.licenses.bsdOriginal ];
920 };
920 };
921 };
921 };
922 "meld3" = super.buildPythonPackage {
922 "meld3" = super.buildPythonPackage {
923 name = "meld3-1.0.2";
923 name = "meld3-1.0.2";
924 doCheck = false;
924 doCheck = false;
925 src = fetchurl {
925 src = fetchurl {
926 url = "https://files.pythonhosted.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz";
926 url = "https://files.pythonhosted.org/packages/45/a0/317c6422b26c12fe0161e936fc35f36552069ba8e6f7ecbd99bbffe32a5f/meld3-1.0.2.tar.gz";
927 sha256 = "0n4mkwlpsqnmn0dm0wm5hn9nkda0nafl0jdy5sdl5977znh59dzp";
927 sha256 = "0n4mkwlpsqnmn0dm0wm5hn9nkda0nafl0jdy5sdl5977znh59dzp";
928 };
928 };
929 meta = {
929 meta = {
930 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
930 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
931 };
931 };
932 };
932 };
933 "mistune" = super.buildPythonPackage {
933 "mistune" = super.buildPythonPackage {
934 name = "mistune-0.8.4";
934 name = "mistune-0.8.4";
935 doCheck = false;
935 doCheck = false;
936 src = fetchurl {
936 src = fetchurl {
937 url = "https://files.pythonhosted.org/packages/2d/a4/509f6e7783ddd35482feda27bc7f72e65b5e7dc910eca4ab2164daf9c577/mistune-0.8.4.tar.gz";
937 url = "https://files.pythonhosted.org/packages/2d/a4/509f6e7783ddd35482feda27bc7f72e65b5e7dc910eca4ab2164daf9c577/mistune-0.8.4.tar.gz";
938 sha256 = "0vkmsh0x480rni51lhyvigfdf06b9247z868pk3bal1wnnfl58sr";
938 sha256 = "0vkmsh0x480rni51lhyvigfdf06b9247z868pk3bal1wnnfl58sr";
939 };
939 };
940 meta = {
940 meta = {
941 license = [ pkgs.lib.licenses.bsdOriginal ];
941 license = [ pkgs.lib.licenses.bsdOriginal ];
942 };
942 };
943 };
943 };
944 "mock" = super.buildPythonPackage {
944 "mock" = super.buildPythonPackage {
945 name = "mock-1.0.1";
945 name = "mock-1.0.1";
946 doCheck = false;
946 doCheck = false;
947 src = fetchurl {
947 src = fetchurl {
948 url = "https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz";
948 url = "https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz";
949 sha256 = "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq";
949 sha256 = "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq";
950 };
950 };
951 meta = {
951 meta = {
952 license = [ pkgs.lib.licenses.bsdOriginal ];
952 license = [ pkgs.lib.licenses.bsdOriginal ];
953 };
953 };
954 };
954 };
955 "more-itertools" = super.buildPythonPackage {
955 "more-itertools" = super.buildPythonPackage {
956 name = "more-itertools-5.0.0";
956 name = "more-itertools-5.0.0";
957 doCheck = false;
957 doCheck = false;
958 propagatedBuildInputs = [
958 propagatedBuildInputs = [
959 self."six"
959 self."six"
960 ];
960 ];
961 src = fetchurl {
961 src = fetchurl {
962 url = "https://files.pythonhosted.org/packages/dd/26/30fc0d541d9fdf55faf5ba4b0fd68f81d5bd2447579224820ad525934178/more-itertools-5.0.0.tar.gz";
962 url = "https://files.pythonhosted.org/packages/dd/26/30fc0d541d9fdf55faf5ba4b0fd68f81d5bd2447579224820ad525934178/more-itertools-5.0.0.tar.gz";
963 sha256 = "1r12cm6mcdwdzz7d47a6g4l437xsvapdlgyhqay3i2nrlv03da9q";
963 sha256 = "1r12cm6mcdwdzz7d47a6g4l437xsvapdlgyhqay3i2nrlv03da9q";
964 };
964 };
965 meta = {
965 meta = {
966 license = [ pkgs.lib.licenses.mit ];
966 license = [ pkgs.lib.licenses.mit ];
967 };
967 };
968 };
968 };
969 "msgpack-python" = super.buildPythonPackage {
969 "msgpack-python" = super.buildPythonPackage {
970 name = "msgpack-python-0.5.6";
970 name = "msgpack-python-0.5.6";
971 doCheck = false;
971 doCheck = false;
972 src = fetchurl {
972 src = fetchurl {
973 url = "https://files.pythonhosted.org/packages/8a/20/6eca772d1a5830336f84aca1d8198e5a3f4715cd1c7fc36d3cc7f7185091/msgpack-python-0.5.6.tar.gz";
973 url = "https://files.pythonhosted.org/packages/8a/20/6eca772d1a5830336f84aca1d8198e5a3f4715cd1c7fc36d3cc7f7185091/msgpack-python-0.5.6.tar.gz";
974 sha256 = "16wh8qgybmfh4pjp8vfv78mdlkxfmcasg78lzlnm6nslsfkci31p";
974 sha256 = "16wh8qgybmfh4pjp8vfv78mdlkxfmcasg78lzlnm6nslsfkci31p";
975 };
975 };
976 meta = {
976 meta = {
977 license = [ pkgs.lib.licenses.asl20 ];
977 license = [ pkgs.lib.licenses.asl20 ];
978 };
978 };
979 };
979 };
980 "mysql-python" = super.buildPythonPackage {
980 "mysql-python" = super.buildPythonPackage {
981 name = "mysql-python-1.2.5";
981 name = "mysql-python-1.2.5";
982 doCheck = false;
982 doCheck = false;
983 src = fetchurl {
983 src = fetchurl {
984 url = "https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip";
984 url = "https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip";
985 sha256 = "0x0c2jg0bb3pp84njaqiic050qkyd7ymwhfvhipnimg58yv40441";
985 sha256 = "0x0c2jg0bb3pp84njaqiic050qkyd7ymwhfvhipnimg58yv40441";
986 };
986 };
987 meta = {
987 meta = {
988 license = [ pkgs.lib.licenses.gpl1 ];
988 license = [ pkgs.lib.licenses.gpl1 ];
989 };
989 };
990 };
990 };
991 "nbconvert" = super.buildPythonPackage {
991 "nbconvert" = super.buildPythonPackage {
992 name = "nbconvert-5.3.1";
992 name = "nbconvert-5.3.1";
993 doCheck = false;
993 doCheck = false;
994 propagatedBuildInputs = [
994 propagatedBuildInputs = [
995 self."mistune"
995 self."mistune"
996 self."jinja2"
996 self."jinja2"
997 self."pygments"
997 self."pygments"
998 self."traitlets"
998 self."traitlets"
999 self."jupyter-core"
999 self."jupyter-core"
1000 self."nbformat"
1000 self."nbformat"
1001 self."entrypoints"
1001 self."entrypoints"
1002 self."bleach"
1002 self."bleach"
1003 self."pandocfilters"
1003 self."pandocfilters"
1004 self."testpath"
1004 self."testpath"
1005 ];
1005 ];
1006 src = fetchurl {
1006 src = fetchurl {
1007 url = "https://files.pythonhosted.org/packages/b9/a4/d0a0938ad6f5eeb4dea4e73d255c617ef94b0b2849d51194c9bbdb838412/nbconvert-5.3.1.tar.gz";
1007 url = "https://files.pythonhosted.org/packages/b9/a4/d0a0938ad6f5eeb4dea4e73d255c617ef94b0b2849d51194c9bbdb838412/nbconvert-5.3.1.tar.gz";
1008 sha256 = "1f9dkvpx186xjm4xab0qbph588mncp4vqk3fmxrsnqs43mks9c8j";
1008 sha256 = "1f9dkvpx186xjm4xab0qbph588mncp4vqk3fmxrsnqs43mks9c8j";
1009 };
1009 };
1010 meta = {
1010 meta = {
1011 license = [ pkgs.lib.licenses.bsdOriginal ];
1011 license = [ pkgs.lib.licenses.bsdOriginal ];
1012 };
1012 };
1013 };
1013 };
1014 "nbformat" = super.buildPythonPackage {
1014 "nbformat" = super.buildPythonPackage {
1015 name = "nbformat-4.4.0";
1015 name = "nbformat-4.4.0";
1016 doCheck = false;
1016 doCheck = false;
1017 propagatedBuildInputs = [
1017 propagatedBuildInputs = [
1018 self."ipython-genutils"
1018 self."ipython-genutils"
1019 self."traitlets"
1019 self."traitlets"
1020 self."jsonschema"
1020 self."jsonschema"
1021 self."jupyter-core"
1021 self."jupyter-core"
1022 ];
1022 ];
1023 src = fetchurl {
1023 src = fetchurl {
1024 url = "https://files.pythonhosted.org/packages/6e/0e/160754f7ae3e984863f585a3743b0ed1702043a81245907c8fae2d537155/nbformat-4.4.0.tar.gz";
1024 url = "https://files.pythonhosted.org/packages/6e/0e/160754f7ae3e984863f585a3743b0ed1702043a81245907c8fae2d537155/nbformat-4.4.0.tar.gz";
1025 sha256 = "00nlf08h8yc4q73nphfvfhxrcnilaqanb8z0mdy6nxk0vzq4wjgp";
1025 sha256 = "00nlf08h8yc4q73nphfvfhxrcnilaqanb8z0mdy6nxk0vzq4wjgp";
1026 };
1026 };
1027 meta = {
1027 meta = {
1028 license = [ pkgs.lib.licenses.bsdOriginal ];
1028 license = [ pkgs.lib.licenses.bsdOriginal ];
1029 };
1029 };
1030 };
1030 };
1031 "packaging" = super.buildPythonPackage {
1031 "packaging" = super.buildPythonPackage {
1032 name = "packaging-15.2";
1032 name = "packaging-15.2";
1033 doCheck = false;
1033 doCheck = false;
1034 src = fetchurl {
1034 src = fetchurl {
1035 url = "https://files.pythonhosted.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz";
1035 url = "https://files.pythonhosted.org/packages/24/c4/185da1304f07047dc9e0c46c31db75c0351bd73458ac3efad7da3dbcfbe1/packaging-15.2.tar.gz";
1036 sha256 = "1zn60w84bxvw6wypffka18ca66pa1k2cfrq3cq8fnsfja5m3k4ng";
1036 sha256 = "1zn60w84bxvw6wypffka18ca66pa1k2cfrq3cq8fnsfja5m3k4ng";
1037 };
1037 };
1038 meta = {
1038 meta = {
1039 license = [ pkgs.lib.licenses.asl20 ];
1039 license = [ pkgs.lib.licenses.asl20 ];
1040 };
1040 };
1041 };
1041 };
1042 "pandocfilters" = super.buildPythonPackage {
1042 "pandocfilters" = super.buildPythonPackage {
1043 name = "pandocfilters-1.4.2";
1043 name = "pandocfilters-1.4.2";
1044 doCheck = false;
1044 doCheck = false;
1045 src = fetchurl {
1045 src = fetchurl {
1046 url = "https://files.pythonhosted.org/packages/4c/ea/236e2584af67bb6df960832731a6e5325fd4441de001767da328c33368ce/pandocfilters-1.4.2.tar.gz";
1046 url = "https://files.pythonhosted.org/packages/4c/ea/236e2584af67bb6df960832731a6e5325fd4441de001767da328c33368ce/pandocfilters-1.4.2.tar.gz";
1047 sha256 = "1a8d9b7s48gmq9zj0pmbyv2sivn5i7m6mybgpkk4jm5vd7hp1pdk";
1047 sha256 = "1a8d9b7s48gmq9zj0pmbyv2sivn5i7m6mybgpkk4jm5vd7hp1pdk";
1048 };
1048 };
1049 meta = {
1049 meta = {
1050 license = [ pkgs.lib.licenses.bsdOriginal ];
1050 license = [ pkgs.lib.licenses.bsdOriginal ];
1051 };
1051 };
1052 };
1052 };
1053 "paste" = super.buildPythonPackage {
1053 "paste" = super.buildPythonPackage {
1054 name = "paste-3.0.8";
1054 name = "paste-3.0.8";
1055 doCheck = false;
1055 doCheck = false;
1056 propagatedBuildInputs = [
1056 propagatedBuildInputs = [
1057 self."six"
1057 self."six"
1058 ];
1058 ];
1059 src = fetchurl {
1059 src = fetchurl {
1060 url = "https://files.pythonhosted.org/packages/66/65/e3acf1663438483c1f6ced0b6c6f3b90da9f0faacb0a6e2aa0f3f9f4b235/Paste-3.0.8.tar.gz";
1060 url = "https://files.pythonhosted.org/packages/66/65/e3acf1663438483c1f6ced0b6c6f3b90da9f0faacb0a6e2aa0f3f9f4b235/Paste-3.0.8.tar.gz";
1061 sha256 = "05w1sh6ky4d7pmdb8nv82n13w22jcn3qsagg5ih3hjmbws9kkwf4";
1061 sha256 = "05w1sh6ky4d7pmdb8nv82n13w22jcn3qsagg5ih3hjmbws9kkwf4";
1062 };
1062 };
1063 meta = {
1063 meta = {
1064 license = [ pkgs.lib.licenses.mit ];
1064 license = [ pkgs.lib.licenses.mit ];
1065 };
1065 };
1066 };
1066 };
1067 "pastedeploy" = super.buildPythonPackage {
1067 "pastedeploy" = super.buildPythonPackage {
1068 name = "pastedeploy-2.0.1";
1068 name = "pastedeploy-2.0.1";
1069 doCheck = false;
1069 doCheck = false;
1070 src = fetchurl {
1070 src = fetchurl {
1071 url = "https://files.pythonhosted.org/packages/19/a0/5623701df7e2478a68a1b685d1a84518024eef994cde7e4da8449a31616f/PasteDeploy-2.0.1.tar.gz";
1071 url = "https://files.pythonhosted.org/packages/19/a0/5623701df7e2478a68a1b685d1a84518024eef994cde7e4da8449a31616f/PasteDeploy-2.0.1.tar.gz";
1072 sha256 = "02imfbbx1mi2h546f3sr37m47dk9qizaqhzzlhx8bkzxa6fzn8yl";
1072 sha256 = "02imfbbx1mi2h546f3sr37m47dk9qizaqhzzlhx8bkzxa6fzn8yl";
1073 };
1073 };
1074 meta = {
1074 meta = {
1075 license = [ pkgs.lib.licenses.mit ];
1075 license = [ pkgs.lib.licenses.mit ];
1076 };
1076 };
1077 };
1077 };
1078 "pastescript" = super.buildPythonPackage {
1078 "pastescript" = super.buildPythonPackage {
1079 name = "pastescript-3.1.0";
1079 name = "pastescript-3.1.0";
1080 doCheck = false;
1080 doCheck = false;
1081 propagatedBuildInputs = [
1081 propagatedBuildInputs = [
1082 self."paste"
1082 self."paste"
1083 self."pastedeploy"
1083 self."pastedeploy"
1084 self."six"
1084 self."six"
1085 ];
1085 ];
1086 src = fetchurl {
1086 src = fetchurl {
1087 url = "https://files.pythonhosted.org/packages/9e/1d/14db1c283eb21a5d36b6ba1114c13b709629711e64acab653d9994fe346f/PasteScript-3.1.0.tar.gz";
1087 url = "https://files.pythonhosted.org/packages/9e/1d/14db1c283eb21a5d36b6ba1114c13b709629711e64acab653d9994fe346f/PasteScript-3.1.0.tar.gz";
1088 sha256 = "02qcxjjr32ks7a6d4f533wl34ysc7yhwlrfcyqwqbzr52250v4fs";
1088 sha256 = "02qcxjjr32ks7a6d4f533wl34ysc7yhwlrfcyqwqbzr52250v4fs";
1089 };
1089 };
1090 meta = {
1090 meta = {
1091 license = [ pkgs.lib.licenses.mit ];
1091 license = [ pkgs.lib.licenses.mit ];
1092 };
1092 };
1093 };
1093 };
1094 "pathlib2" = super.buildPythonPackage {
1094 "pathlib2" = super.buildPythonPackage {
1095 name = "pathlib2-2.3.4";
1095 name = "pathlib2-2.3.4";
1096 doCheck = false;
1096 doCheck = false;
1097 propagatedBuildInputs = [
1097 propagatedBuildInputs = [
1098 self."six"
1098 self."six"
1099 self."scandir"
1099 self."scandir"
1100 ];
1100 ];
1101 src = fetchurl {
1101 src = fetchurl {
1102 url = "https://files.pythonhosted.org/packages/b5/f4/9c7cc726ece2498b6c8b62d3262aa43f59039b953fe23c9964ac5e18d40b/pathlib2-2.3.4.tar.gz";
1102 url = "https://files.pythonhosted.org/packages/b5/f4/9c7cc726ece2498b6c8b62d3262aa43f59039b953fe23c9964ac5e18d40b/pathlib2-2.3.4.tar.gz";
1103 sha256 = "1y0f9rkm1924zrc5dn4bwxlhgdkbml82lkcc28l5rgmr7d918q24";
1103 sha256 = "1y0f9rkm1924zrc5dn4bwxlhgdkbml82lkcc28l5rgmr7d918q24";
1104 };
1104 };
1105 meta = {
1105 meta = {
1106 license = [ pkgs.lib.licenses.mit ];
1106 license = [ pkgs.lib.licenses.mit ];
1107 };
1107 };
1108 };
1108 };
1109 "peppercorn" = super.buildPythonPackage {
1109 "peppercorn" = super.buildPythonPackage {
1110 name = "peppercorn-0.6";
1110 name = "peppercorn-0.6";
1111 doCheck = false;
1111 doCheck = false;
1112 src = fetchurl {
1112 src = fetchurl {
1113 url = "https://files.pythonhosted.org/packages/e4/77/93085de7108cdf1a0b092ff443872a8f9442c736d7ddebdf2f27627935f4/peppercorn-0.6.tar.gz";
1113 url = "https://files.pythonhosted.org/packages/e4/77/93085de7108cdf1a0b092ff443872a8f9442c736d7ddebdf2f27627935f4/peppercorn-0.6.tar.gz";
1114 sha256 = "1ip4bfwcpwkq9hz2dai14k2cyabvwrnvcvrcmzxmqm04g8fnimwn";
1114 sha256 = "1ip4bfwcpwkq9hz2dai14k2cyabvwrnvcvrcmzxmqm04g8fnimwn";
1115 };
1115 };
1116 meta = {
1116 meta = {
1117 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1117 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1118 };
1118 };
1119 };
1119 };
1120 "pexpect" = super.buildPythonPackage {
1120 "pexpect" = super.buildPythonPackage {
1121 name = "pexpect-4.7.0";
1121 name = "pexpect-4.7.0";
1122 doCheck = false;
1122 doCheck = false;
1123 propagatedBuildInputs = [
1123 propagatedBuildInputs = [
1124 self."ptyprocess"
1124 self."ptyprocess"
1125 ];
1125 ];
1126 src = fetchurl {
1126 src = fetchurl {
1127 url = "https://files.pythonhosted.org/packages/1c/b1/362a0d4235496cb42c33d1d8732b5e2c607b0129ad5fdd76f5a583b9fcb3/pexpect-4.7.0.tar.gz";
1127 url = "https://files.pythonhosted.org/packages/1c/b1/362a0d4235496cb42c33d1d8732b5e2c607b0129ad5fdd76f5a583b9fcb3/pexpect-4.7.0.tar.gz";
1128 sha256 = "1sv2rri15zwhds85a4kamwh9pj49qcxv7m4miyr4jfpfwv81yb4y";
1128 sha256 = "1sv2rri15zwhds85a4kamwh9pj49qcxv7m4miyr4jfpfwv81yb4y";
1129 };
1129 };
1130 meta = {
1130 meta = {
1131 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
1131 license = [ pkgs.lib.licenses.isc { fullName = "ISC License (ISCL)"; } ];
1132 };
1132 };
1133 };
1133 };
1134 "pickleshare" = super.buildPythonPackage {
1134 "pickleshare" = super.buildPythonPackage {
1135 name = "pickleshare-0.7.5";
1135 name = "pickleshare-0.7.5";
1136 doCheck = false;
1136 doCheck = false;
1137 propagatedBuildInputs = [
1137 propagatedBuildInputs = [
1138 self."pathlib2"
1138 self."pathlib2"
1139 ];
1139 ];
1140 src = fetchurl {
1140 src = fetchurl {
1141 url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz";
1141 url = "https://files.pythonhosted.org/packages/d8/b6/df3c1c9b616e9c0edbc4fbab6ddd09df9535849c64ba51fcb6531c32d4d8/pickleshare-0.7.5.tar.gz";
1142 sha256 = "1jmghg3c53yp1i8cm6pcrm280ayi8621rwyav9fac7awjr3kss47";
1142 sha256 = "1jmghg3c53yp1i8cm6pcrm280ayi8621rwyav9fac7awjr3kss47";
1143 };
1143 };
1144 meta = {
1144 meta = {
1145 license = [ pkgs.lib.licenses.mit ];
1145 license = [ pkgs.lib.licenses.mit ];
1146 };
1146 };
1147 };
1147 };
1148 "plaster" = super.buildPythonPackage {
1148 "plaster" = super.buildPythonPackage {
1149 name = "plaster-1.0";
1149 name = "plaster-1.0";
1150 doCheck = false;
1150 doCheck = false;
1151 propagatedBuildInputs = [
1151 propagatedBuildInputs = [
1152 self."setuptools"
1152 self."setuptools"
1153 ];
1153 ];
1154 src = fetchurl {
1154 src = fetchurl {
1155 url = "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz";
1155 url = "https://files.pythonhosted.org/packages/37/e1/56d04382d718d32751017d32f351214384e529b794084eee20bb52405563/plaster-1.0.tar.gz";
1156 sha256 = "1hy8k0nv2mxq94y5aysk6hjk9ryb4bsd13g83m60hcyzxz3wflc3";
1156 sha256 = "1hy8k0nv2mxq94y5aysk6hjk9ryb4bsd13g83m60hcyzxz3wflc3";
1157 };
1157 };
1158 meta = {
1158 meta = {
1159 license = [ pkgs.lib.licenses.mit ];
1159 license = [ pkgs.lib.licenses.mit ];
1160 };
1160 };
1161 };
1161 };
1162 "plaster-pastedeploy" = super.buildPythonPackage {
1162 "plaster-pastedeploy" = super.buildPythonPackage {
1163 name = "plaster-pastedeploy-0.7";
1163 name = "plaster-pastedeploy-0.7";
1164 doCheck = false;
1164 doCheck = false;
1165 propagatedBuildInputs = [
1165 propagatedBuildInputs = [
1166 self."pastedeploy"
1166 self."pastedeploy"
1167 self."plaster"
1167 self."plaster"
1168 ];
1168 ];
1169 src = fetchurl {
1169 src = fetchurl {
1170 url = "https://files.pythonhosted.org/packages/99/69/2d3bc33091249266a1bd3cf24499e40ab31d54dffb4a7d76fe647950b98c/plaster_pastedeploy-0.7.tar.gz";
1170 url = "https://files.pythonhosted.org/packages/99/69/2d3bc33091249266a1bd3cf24499e40ab31d54dffb4a7d76fe647950b98c/plaster_pastedeploy-0.7.tar.gz";
1171 sha256 = "1zg7gcsvc1kzay1ry5p699rg2qavfsxqwl17mqxzr0gzw6j9679r";
1171 sha256 = "1zg7gcsvc1kzay1ry5p699rg2qavfsxqwl17mqxzr0gzw6j9679r";
1172 };
1172 };
1173 meta = {
1173 meta = {
1174 license = [ pkgs.lib.licenses.mit ];
1174 license = [ pkgs.lib.licenses.mit ];
1175 };
1175 };
1176 };
1176 };
1177 "pluggy" = super.buildPythonPackage {
1177 "pluggy" = super.buildPythonPackage {
1178 name = "pluggy-0.11.0";
1178 name = "pluggy-0.11.0";
1179 doCheck = false;
1179 doCheck = false;
1180 src = fetchurl {
1180 src = fetchurl {
1181 url = "https://files.pythonhosted.org/packages/0d/a1/862ab336e8128fde20981d2c1aa8506693412daf5083b1911d539412676b/pluggy-0.11.0.tar.gz";
1181 url = "https://files.pythonhosted.org/packages/0d/a1/862ab336e8128fde20981d2c1aa8506693412daf5083b1911d539412676b/pluggy-0.11.0.tar.gz";
1182 sha256 = "10511a54dvafw1jrk75mrhml53c7b7w4yaw7241696lc2hfvr895";
1182 sha256 = "10511a54dvafw1jrk75mrhml53c7b7w4yaw7241696lc2hfvr895";
1183 };
1183 };
1184 meta = {
1184 meta = {
1185 license = [ pkgs.lib.licenses.mit ];
1185 license = [ pkgs.lib.licenses.mit ];
1186 };
1186 };
1187 };
1187 };
1188 "prompt-toolkit" = super.buildPythonPackage {
1188 "prompt-toolkit" = super.buildPythonPackage {
1189 name = "prompt-toolkit-1.0.16";
1189 name = "prompt-toolkit-1.0.16";
1190 doCheck = false;
1190 doCheck = false;
1191 propagatedBuildInputs = [
1191 propagatedBuildInputs = [
1192 self."six"
1192 self."six"
1193 self."wcwidth"
1193 self."wcwidth"
1194 ];
1194 ];
1195 src = fetchurl {
1195 src = fetchurl {
1196 url = "https://files.pythonhosted.org/packages/f1/03/bb36771dc9fa7553ac4bdc639a9ecdf6fda0ff4176faf940d97e3c16e41d/prompt_toolkit-1.0.16.tar.gz";
1196 url = "https://files.pythonhosted.org/packages/f1/03/bb36771dc9fa7553ac4bdc639a9ecdf6fda0ff4176faf940d97e3c16e41d/prompt_toolkit-1.0.16.tar.gz";
1197 sha256 = "1d65hm6nf0cbq0q0121m60zzy4s1fpg9fn761s1yxf08dridvkn1";
1197 sha256 = "1d65hm6nf0cbq0q0121m60zzy4s1fpg9fn761s1yxf08dridvkn1";
1198 };
1198 };
1199 meta = {
1199 meta = {
1200 license = [ pkgs.lib.licenses.bsdOriginal ];
1200 license = [ pkgs.lib.licenses.bsdOriginal ];
1201 };
1201 };
1202 };
1202 };
1203 "psutil" = super.buildPythonPackage {
1203 "psutil" = super.buildPythonPackage {
1204 name = "psutil-5.5.1";
1204 name = "psutil-5.5.1";
1205 doCheck = false;
1205 doCheck = false;
1206 src = fetchurl {
1206 src = fetchurl {
1207 url = "https://files.pythonhosted.org/packages/c7/01/7c30b247cdc5ba29623faa5c8cf1f1bbf7e041783c340414b0ed7e067c64/psutil-5.5.1.tar.gz";
1207 url = "https://files.pythonhosted.org/packages/c7/01/7c30b247cdc5ba29623faa5c8cf1f1bbf7e041783c340414b0ed7e067c64/psutil-5.5.1.tar.gz";
1208 sha256 = "045qaqvn6k90bj5bcy259yrwcd2afgznaav3sfhphy9b8ambzkkj";
1208 sha256 = "045qaqvn6k90bj5bcy259yrwcd2afgznaav3sfhphy9b8ambzkkj";
1209 };
1209 };
1210 meta = {
1210 meta = {
1211 license = [ pkgs.lib.licenses.bsdOriginal ];
1211 license = [ pkgs.lib.licenses.bsdOriginal ];
1212 };
1212 };
1213 };
1213 };
1214 "psycopg2" = super.buildPythonPackage {
1214 "psycopg2" = super.buildPythonPackage {
1215 name = "psycopg2-2.8.3";
1215 name = "psycopg2-2.8.3";
1216 doCheck = false;
1216 doCheck = false;
1217 src = fetchurl {
1217 src = fetchurl {
1218 url = "https://files.pythonhosted.org/packages/5c/1c/6997288da181277a0c29bc39a5f9143ff20b8c99f2a7d059cfb55163e165/psycopg2-2.8.3.tar.gz";
1218 url = "https://files.pythonhosted.org/packages/5c/1c/6997288da181277a0c29bc39a5f9143ff20b8c99f2a7d059cfb55163e165/psycopg2-2.8.3.tar.gz";
1219 sha256 = "0ms4kx0p5n281l89awccix4d05ybmdngnjjpi9jbzd0rhf1nwyl9";
1219 sha256 = "0ms4kx0p5n281l89awccix4d05ybmdngnjjpi9jbzd0rhf1nwyl9";
1220 };
1220 };
1221 meta = {
1221 meta = {
1222 license = [ pkgs.lib.licenses.zpl21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ];
1222 license = [ pkgs.lib.licenses.zpl21 { fullName = "GNU Library or Lesser General Public License (LGPL)"; } { fullName = "LGPL with exceptions or ZPL"; } ];
1223 };
1223 };
1224 };
1224 };
1225 "ptyprocess" = super.buildPythonPackage {
1225 "ptyprocess" = super.buildPythonPackage {
1226 name = "ptyprocess-0.6.0";
1226 name = "ptyprocess-0.6.0";
1227 doCheck = false;
1227 doCheck = false;
1228 src = fetchurl {
1228 src = fetchurl {
1229 url = "https://files.pythonhosted.org/packages/7d/2d/e4b8733cf79b7309d84c9081a4ab558c89d8c89da5961bf4ddb050ca1ce0/ptyprocess-0.6.0.tar.gz";
1229 url = "https://files.pythonhosted.org/packages/7d/2d/e4b8733cf79b7309d84c9081a4ab558c89d8c89da5961bf4ddb050ca1ce0/ptyprocess-0.6.0.tar.gz";
1230 sha256 = "1h4lcd3w5nrxnsk436ar7fwkiy5rfn5wj2xwy9l0r4mdqnf2jgwj";
1230 sha256 = "1h4lcd3w5nrxnsk436ar7fwkiy5rfn5wj2xwy9l0r4mdqnf2jgwj";
1231 };
1231 };
1232 meta = {
1232 meta = {
1233 license = [ ];
1233 license = [ ];
1234 };
1234 };
1235 };
1235 };
1236 "py" = super.buildPythonPackage {
1236 "py" = super.buildPythonPackage {
1237 name = "py-1.6.0";
1237 name = "py-1.6.0";
1238 doCheck = false;
1238 doCheck = false;
1239 src = fetchurl {
1239 src = fetchurl {
1240 url = "https://files.pythonhosted.org/packages/4f/38/5f427d1eedae73063ce4da680d2bae72014995f9fdeaa57809df61c968cd/py-1.6.0.tar.gz";
1240 url = "https://files.pythonhosted.org/packages/4f/38/5f427d1eedae73063ce4da680d2bae72014995f9fdeaa57809df61c968cd/py-1.6.0.tar.gz";
1241 sha256 = "1wcs3zv9wl5m5x7p16avqj2gsrviyb23yvc3pr330isqs0sh98q6";
1241 sha256 = "1wcs3zv9wl5m5x7p16avqj2gsrviyb23yvc3pr330isqs0sh98q6";
1242 };
1242 };
1243 meta = {
1243 meta = {
1244 license = [ pkgs.lib.licenses.mit ];
1244 license = [ pkgs.lib.licenses.mit ];
1245 };
1245 };
1246 };
1246 };
1247 "py-bcrypt" = super.buildPythonPackage {
1247 "py-bcrypt" = super.buildPythonPackage {
1248 name = "py-bcrypt-0.4";
1248 name = "py-bcrypt-0.4";
1249 doCheck = false;
1249 doCheck = false;
1250 src = fetchurl {
1250 src = fetchurl {
1251 url = "https://files.pythonhosted.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz";
1251 url = "https://files.pythonhosted.org/packages/68/b1/1c3068c5c4d2e35c48b38dcc865301ebfdf45f54507086ac65ced1fd3b3d/py-bcrypt-0.4.tar.gz";
1252 sha256 = "0y6smdggwi5s72v6p1nn53dg6w05hna3d264cq6kas0lap73p8az";
1252 sha256 = "0y6smdggwi5s72v6p1nn53dg6w05hna3d264cq6kas0lap73p8az";
1253 };
1253 };
1254 meta = {
1254 meta = {
1255 license = [ pkgs.lib.licenses.bsdOriginal ];
1255 license = [ pkgs.lib.licenses.bsdOriginal ];
1256 };
1256 };
1257 };
1257 };
1258 "py-gfm" = super.buildPythonPackage {
1258 "py-gfm" = super.buildPythonPackage {
1259 name = "py-gfm-0.1.4";
1259 name = "py-gfm-0.1.4";
1260 doCheck = false;
1260 doCheck = false;
1261 propagatedBuildInputs = [
1261 propagatedBuildInputs = [
1262 self."setuptools"
1262 self."setuptools"
1263 self."markdown"
1263 self."markdown"
1264 ];
1264 ];
1265 src = fetchurl {
1265 src = fetchurl {
1266 url = "https://files.pythonhosted.org/packages/06/ee/004a03a1d92bb386dae44f6dd087db541bc5093374f1637d4d4ae5596cc2/py-gfm-0.1.4.tar.gz";
1266 url = "https://files.pythonhosted.org/packages/06/ee/004a03a1d92bb386dae44f6dd087db541bc5093374f1637d4d4ae5596cc2/py-gfm-0.1.4.tar.gz";
1267 sha256 = "0zip06g2isivx8fzgqd4n9qzsa22c25jas1rsb7m2rnjg72m0rzg";
1267 sha256 = "0zip06g2isivx8fzgqd4n9qzsa22c25jas1rsb7m2rnjg72m0rzg";
1268 };
1268 };
1269 meta = {
1269 meta = {
1270 license = [ pkgs.lib.licenses.bsdOriginal ];
1270 license = [ pkgs.lib.licenses.bsdOriginal ];
1271 };
1271 };
1272 };
1272 };
1273 "pyasn1" = super.buildPythonPackage {
1273 "pyasn1" = super.buildPythonPackage {
1274 name = "pyasn1-0.4.5";
1274 name = "pyasn1-0.4.5";
1275 doCheck = false;
1275 doCheck = false;
1276 src = fetchurl {
1276 src = fetchurl {
1277 url = "https://files.pythonhosted.org/packages/46/60/b7e32f6ff481b8a1f6c8f02b0fd9b693d1c92ddd2efb038ec050d99a7245/pyasn1-0.4.5.tar.gz";
1277 url = "https://files.pythonhosted.org/packages/46/60/b7e32f6ff481b8a1f6c8f02b0fd9b693d1c92ddd2efb038ec050d99a7245/pyasn1-0.4.5.tar.gz";
1278 sha256 = "1xqh3jh2nfi2bflk5a0vn59y3pp1vn54f3ksx652sid92gz2096s";
1278 sha256 = "1xqh3jh2nfi2bflk5a0vn59y3pp1vn54f3ksx652sid92gz2096s";
1279 };
1279 };
1280 meta = {
1280 meta = {
1281 license = [ pkgs.lib.licenses.bsdOriginal ];
1281 license = [ pkgs.lib.licenses.bsdOriginal ];
1282 };
1282 };
1283 };
1283 };
1284 "pyasn1-modules" = super.buildPythonPackage {
1284 "pyasn1-modules" = super.buildPythonPackage {
1285 name = "pyasn1-modules-0.2.5";
1285 name = "pyasn1-modules-0.2.5";
1286 doCheck = false;
1286 doCheck = false;
1287 propagatedBuildInputs = [
1287 propagatedBuildInputs = [
1288 self."pyasn1"
1288 self."pyasn1"
1289 ];
1289 ];
1290 src = fetchurl {
1290 src = fetchurl {
1291 url = "https://files.pythonhosted.org/packages/ec/0b/69620cb04a016e4a1e8e352e8a42717862129b574b3479adb2358a1f12f7/pyasn1-modules-0.2.5.tar.gz";
1291 url = "https://files.pythonhosted.org/packages/ec/0b/69620cb04a016e4a1e8e352e8a42717862129b574b3479adb2358a1f12f7/pyasn1-modules-0.2.5.tar.gz";
1292 sha256 = "15nvfx0vnl8akdlv3k6s0n80vqvryj82bm040jdsn7wmyxl1ywpg";
1292 sha256 = "15nvfx0vnl8akdlv3k6s0n80vqvryj82bm040jdsn7wmyxl1ywpg";
1293 };
1293 };
1294 meta = {
1294 meta = {
1295 license = [ pkgs.lib.licenses.bsdOriginal ];
1295 license = [ pkgs.lib.licenses.bsdOriginal ];
1296 };
1296 };
1297 };
1297 };
1298 "pycparser" = super.buildPythonPackage {
1298 "pycparser" = super.buildPythonPackage {
1299 name = "pycparser-2.19";
1299 name = "pycparser-2.19";
1300 doCheck = false;
1300 doCheck = false;
1301 src = fetchurl {
1301 src = fetchurl {
1302 url = "https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz";
1302 url = "https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz";
1303 sha256 = "1cr5dcj9628lkz1qlwq3fv97c25363qppkmcayqvd05dpy573259";
1303 sha256 = "1cr5dcj9628lkz1qlwq3fv97c25363qppkmcayqvd05dpy573259";
1304 };
1304 };
1305 meta = {
1305 meta = {
1306 license = [ pkgs.lib.licenses.bsdOriginal ];
1306 license = [ pkgs.lib.licenses.bsdOriginal ];
1307 };
1307 };
1308 };
1308 };
1309 "pycrypto" = super.buildPythonPackage {
1309 "pycrypto" = super.buildPythonPackage {
1310 name = "pycrypto-2.6.1";
1310 name = "pycrypto-2.6.1";
1311 doCheck = false;
1311 doCheck = false;
1312 src = fetchurl {
1312 src = fetchurl {
1313 url = "https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz";
1313 url = "https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz";
1314 sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj";
1314 sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj";
1315 };
1315 };
1316 meta = {
1316 meta = {
1317 license = [ pkgs.lib.licenses.publicDomain ];
1317 license = [ pkgs.lib.licenses.publicDomain ];
1318 };
1318 };
1319 };
1319 };
1320 "pycurl" = super.buildPythonPackage {
1320 "pycurl" = super.buildPythonPackage {
1321 name = "pycurl-7.43.0.2";
1321 name = "pycurl-7.43.0.2";
1322 doCheck = false;
1322 doCheck = false;
1323 src = fetchurl {
1323 src = fetchurl {
1324 url = "https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz";
1324 url = "https://files.pythonhosted.org/packages/e8/e4/0dbb8735407189f00b33d84122b9be52c790c7c3b25286826f4e1bdb7bde/pycurl-7.43.0.2.tar.gz";
1325 sha256 = "1915kb04k1j4y6k1dx1sgnbddxrl9r1n4q928if2lkrdm73xy30g";
1325 sha256 = "1915kb04k1j4y6k1dx1sgnbddxrl9r1n4q928if2lkrdm73xy30g";
1326 };
1326 };
1327 meta = {
1327 meta = {
1328 license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1328 license = [ pkgs.lib.licenses.mit { fullName = "LGPL/MIT"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1329 };
1329 };
1330 };
1330 };
1331 "pygments" = super.buildPythonPackage {
1331 "pygments" = super.buildPythonPackage {
1332 name = "pygments-2.4.2";
1332 name = "pygments-2.4.2";
1333 doCheck = false;
1333 doCheck = false;
1334 src = fetchurl {
1334 src = fetchurl {
1335 url = "https://files.pythonhosted.org/packages/7e/ae/26808275fc76bf2832deb10d3a3ed3107bc4de01b85dcccbe525f2cd6d1e/Pygments-2.4.2.tar.gz";
1335 url = "https://files.pythonhosted.org/packages/7e/ae/26808275fc76bf2832deb10d3a3ed3107bc4de01b85dcccbe525f2cd6d1e/Pygments-2.4.2.tar.gz";
1336 sha256 = "15v2sqm5g12bqa0c7wikfh9ck2nl97ayizy1hpqhmws5gqalq748";
1336 sha256 = "15v2sqm5g12bqa0c7wikfh9ck2nl97ayizy1hpqhmws5gqalq748";
1337 };
1337 };
1338 meta = {
1338 meta = {
1339 license = [ pkgs.lib.licenses.bsdOriginal ];
1339 license = [ pkgs.lib.licenses.bsdOriginal ];
1340 };
1340 };
1341 };
1341 };
1342 "pymysql" = super.buildPythonPackage {
1342 "pymysql" = super.buildPythonPackage {
1343 name = "pymysql-0.8.1";
1343 name = "pymysql-0.8.1";
1344 doCheck = false;
1344 doCheck = false;
1345 src = fetchurl {
1345 src = fetchurl {
1346 url = "https://files.pythonhosted.org/packages/44/39/6bcb83cae0095a31b6be4511707fdf2009d3e29903a55a0494d3a9a2fac0/PyMySQL-0.8.1.tar.gz";
1346 url = "https://files.pythonhosted.org/packages/44/39/6bcb83cae0095a31b6be4511707fdf2009d3e29903a55a0494d3a9a2fac0/PyMySQL-0.8.1.tar.gz";
1347 sha256 = "0a96crz55bw4h6myh833skrli7b0ck89m3x673y2z2ryy7zrpq9l";
1347 sha256 = "0a96crz55bw4h6myh833skrli7b0ck89m3x673y2z2ryy7zrpq9l";
1348 };
1348 };
1349 meta = {
1349 meta = {
1350 license = [ pkgs.lib.licenses.mit ];
1350 license = [ pkgs.lib.licenses.mit ];
1351 };
1351 };
1352 };
1352 };
1353 "pyotp" = super.buildPythonPackage {
1353 "pyotp" = super.buildPythonPackage {
1354 name = "pyotp-2.2.7";
1354 name = "pyotp-2.2.7";
1355 doCheck = false;
1355 doCheck = false;
1356 src = fetchurl {
1356 src = fetchurl {
1357 url = "https://files.pythonhosted.org/packages/b1/ab/477cda97b6ca7baced5106471cb1ac1fe698d1b035983b9f8ee3422989eb/pyotp-2.2.7.tar.gz";
1357 url = "https://files.pythonhosted.org/packages/b1/ab/477cda97b6ca7baced5106471cb1ac1fe698d1b035983b9f8ee3422989eb/pyotp-2.2.7.tar.gz";
1358 sha256 = "00p69nw431f0s2ilg0hnd77p1l22m06p9rq4f8zfapmavnmzw3xy";
1358 sha256 = "00p69nw431f0s2ilg0hnd77p1l22m06p9rq4f8zfapmavnmzw3xy";
1359 };
1359 };
1360 meta = {
1360 meta = {
1361 license = [ pkgs.lib.licenses.mit ];
1361 license = [ pkgs.lib.licenses.mit ];
1362 };
1362 };
1363 };
1363 };
1364 "pyparsing" = super.buildPythonPackage {
1364 "pyparsing" = super.buildPythonPackage {
1365 name = "pyparsing-2.3.0";
1365 name = "pyparsing-2.3.0";
1366 doCheck = false;
1366 doCheck = false;
1367 src = fetchurl {
1367 src = fetchurl {
1368 url = "https://files.pythonhosted.org/packages/d0/09/3e6a5eeb6e04467b737d55f8bba15247ac0876f98fae659e58cd744430c6/pyparsing-2.3.0.tar.gz";
1368 url = "https://files.pythonhosted.org/packages/d0/09/3e6a5eeb6e04467b737d55f8bba15247ac0876f98fae659e58cd744430c6/pyparsing-2.3.0.tar.gz";
1369 sha256 = "14k5v7n3xqw8kzf42x06bzp184spnlkya2dpjyflax6l3yrallzk";
1369 sha256 = "14k5v7n3xqw8kzf42x06bzp184spnlkya2dpjyflax6l3yrallzk";
1370 };
1370 };
1371 meta = {
1371 meta = {
1372 license = [ pkgs.lib.licenses.mit ];
1372 license = [ pkgs.lib.licenses.mit ];
1373 };
1373 };
1374 };
1374 };
1375 "pyramid" = super.buildPythonPackage {
1375 "pyramid" = super.buildPythonPackage {
1376 name = "pyramid-1.10.4";
1376 name = "pyramid-1.10.4";
1377 doCheck = false;
1377 doCheck = false;
1378 propagatedBuildInputs = [
1378 propagatedBuildInputs = [
1379 self."hupper"
1379 self."hupper"
1380 self."plaster"
1380 self."plaster"
1381 self."plaster-pastedeploy"
1381 self."plaster-pastedeploy"
1382 self."setuptools"
1382 self."setuptools"
1383 self."translationstring"
1383 self."translationstring"
1384 self."venusian"
1384 self."venusian"
1385 self."webob"
1385 self."webob"
1386 self."zope.deprecation"
1386 self."zope.deprecation"
1387 self."zope.interface"
1387 self."zope.interface"
1388 self."repoze.lru"
1388 self."repoze.lru"
1389 ];
1389 ];
1390 src = fetchurl {
1390 src = fetchurl {
1391 url = "https://files.pythonhosted.org/packages/c2/43/1ae701c9c6bb3a434358e678a5e72c96e8aa55cf4cb1d2fa2041b5dd38b7/pyramid-1.10.4.tar.gz";
1391 url = "https://files.pythonhosted.org/packages/c2/43/1ae701c9c6bb3a434358e678a5e72c96e8aa55cf4cb1d2fa2041b5dd38b7/pyramid-1.10.4.tar.gz";
1392 sha256 = "0rkxs1ajycg2zh1c94xlmls56mx5m161sn8112skj0amza6cn36q";
1392 sha256 = "0rkxs1ajycg2zh1c94xlmls56mx5m161sn8112skj0amza6cn36q";
1393 };
1393 };
1394 meta = {
1394 meta = {
1395 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1395 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1396 };
1396 };
1397 };
1397 };
1398 "pyramid-debugtoolbar" = super.buildPythonPackage {
1398 "pyramid-debugtoolbar" = super.buildPythonPackage {
1399 name = "pyramid-debugtoolbar-4.5";
1399 name = "pyramid-debugtoolbar-4.5";
1400 doCheck = false;
1400 doCheck = false;
1401 propagatedBuildInputs = [
1401 propagatedBuildInputs = [
1402 self."pyramid"
1402 self."pyramid"
1403 self."pyramid-mako"
1403 self."pyramid-mako"
1404 self."repoze.lru"
1404 self."repoze.lru"
1405 self."pygments"
1405 self."pygments"
1406 self."ipaddress"
1406 self."ipaddress"
1407 ];
1407 ];
1408 src = fetchurl {
1408 src = fetchurl {
1409 url = "https://files.pythonhosted.org/packages/14/28/1f240239af340d19ee271ac62958158c79edb01a44ad8c9885508dd003d2/pyramid_debugtoolbar-4.5.tar.gz";
1409 url = "https://files.pythonhosted.org/packages/14/28/1f240239af340d19ee271ac62958158c79edb01a44ad8c9885508dd003d2/pyramid_debugtoolbar-4.5.tar.gz";
1410 sha256 = "0x2p3409pnx66n6dx5vc0mk2r1cp1ydr8mp120w44r9pwcngbibl";
1410 sha256 = "0x2p3409pnx66n6dx5vc0mk2r1cp1ydr8mp120w44r9pwcngbibl";
1411 };
1411 };
1412 meta = {
1412 meta = {
1413 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
1413 license = [ { fullName = "Repoze Public License"; } pkgs.lib.licenses.bsdOriginal ];
1414 };
1414 };
1415 };
1415 };
1416 "pyramid-jinja2" = super.buildPythonPackage {
1416 "pyramid-jinja2" = super.buildPythonPackage {
1417 name = "pyramid-jinja2-2.7";
1417 name = "pyramid-jinja2-2.7";
1418 doCheck = false;
1418 doCheck = false;
1419 propagatedBuildInputs = [
1419 propagatedBuildInputs = [
1420 self."pyramid"
1420 self."pyramid"
1421 self."zope.deprecation"
1421 self."zope.deprecation"
1422 self."jinja2"
1422 self."jinja2"
1423 self."markupsafe"
1423 self."markupsafe"
1424 ];
1424 ];
1425 src = fetchurl {
1425 src = fetchurl {
1426 url = "https://files.pythonhosted.org/packages/d8/80/d60a7233823de22ce77bd864a8a83736a1fe8b49884b08303a2e68b2c853/pyramid_jinja2-2.7.tar.gz";
1426 url = "https://files.pythonhosted.org/packages/d8/80/d60a7233823de22ce77bd864a8a83736a1fe8b49884b08303a2e68b2c853/pyramid_jinja2-2.7.tar.gz";
1427 sha256 = "1sz5s0pp5jqhf4w22w9527yz8hgdi4mhr6apd6vw1gm5clghh8aw";
1427 sha256 = "1sz5s0pp5jqhf4w22w9527yz8hgdi4mhr6apd6vw1gm5clghh8aw";
1428 };
1428 };
1429 meta = {
1429 meta = {
1430 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1430 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1431 };
1431 };
1432 };
1432 };
1433 "pyramid-mailer" = super.buildPythonPackage {
1433 "pyramid-mailer" = super.buildPythonPackage {
1434 name = "pyramid-mailer-0.15.1";
1434 name = "pyramid-mailer-0.15.1";
1435 doCheck = false;
1435 doCheck = false;
1436 propagatedBuildInputs = [
1436 propagatedBuildInputs = [
1437 self."pyramid"
1437 self."pyramid"
1438 self."repoze.sendmail"
1438 self."repoze.sendmail"
1439 self."transaction"
1439 self."transaction"
1440 ];
1440 ];
1441 src = fetchurl {
1441 src = fetchurl {
1442 url = "https://files.pythonhosted.org/packages/a0/f2/6febf5459dff4d7e653314d575469ad2e11b9d2af2c3606360e1c67202f2/pyramid_mailer-0.15.1.tar.gz";
1442 url = "https://files.pythonhosted.org/packages/a0/f2/6febf5459dff4d7e653314d575469ad2e11b9d2af2c3606360e1c67202f2/pyramid_mailer-0.15.1.tar.gz";
1443 sha256 = "16vg8jb203jgb7b0hd6wllfqvp542qh2ry1gjai2m6qpv5agy2pc";
1443 sha256 = "16vg8jb203jgb7b0hd6wllfqvp542qh2ry1gjai2m6qpv5agy2pc";
1444 };
1444 };
1445 meta = {
1445 meta = {
1446 license = [ pkgs.lib.licenses.bsdOriginal ];
1446 license = [ pkgs.lib.licenses.bsdOriginal ];
1447 };
1447 };
1448 };
1448 };
1449 "pyramid-mako" = super.buildPythonPackage {
1449 "pyramid-mako" = super.buildPythonPackage {
1450 name = "pyramid-mako-1.0.2";
1450 name = "pyramid-mako-1.0.2";
1451 doCheck = false;
1451 doCheck = false;
1452 propagatedBuildInputs = [
1452 propagatedBuildInputs = [
1453 self."pyramid"
1453 self."pyramid"
1454 self."mako"
1454 self."mako"
1455 ];
1455 ];
1456 src = fetchurl {
1456 src = fetchurl {
1457 url = "https://files.pythonhosted.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
1457 url = "https://files.pythonhosted.org/packages/f1/92/7e69bcf09676d286a71cb3bbb887b16595b96f9ba7adbdc239ffdd4b1eb9/pyramid_mako-1.0.2.tar.gz";
1458 sha256 = "18gk2vliq8z4acblsl6yzgbvnr9rlxjlcqir47km7kvlk1xri83d";
1458 sha256 = "18gk2vliq8z4acblsl6yzgbvnr9rlxjlcqir47km7kvlk1xri83d";
1459 };
1459 };
1460 meta = {
1460 meta = {
1461 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1461 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1462 };
1462 };
1463 };
1463 };
1464 "pysqlite" = super.buildPythonPackage {
1464 "pysqlite" = super.buildPythonPackage {
1465 name = "pysqlite-2.8.3";
1465 name = "pysqlite-2.8.3";
1466 doCheck = false;
1466 doCheck = false;
1467 src = fetchurl {
1467 src = fetchurl {
1468 url = "https://files.pythonhosted.org/packages/42/02/981b6703e3c83c5b25a829c6e77aad059f9481b0bbacb47e6e8ca12bd731/pysqlite-2.8.3.tar.gz";
1468 url = "https://files.pythonhosted.org/packages/42/02/981b6703e3c83c5b25a829c6e77aad059f9481b0bbacb47e6e8ca12bd731/pysqlite-2.8.3.tar.gz";
1469 sha256 = "1424gwq9sil2ffmnizk60q36vydkv8rxs6m7xs987kz8cdc37lqp";
1469 sha256 = "1424gwq9sil2ffmnizk60q36vydkv8rxs6m7xs987kz8cdc37lqp";
1470 };
1470 };
1471 meta = {
1471 meta = {
1472 license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ];
1472 license = [ { fullName = "zlib/libpng License"; } { fullName = "zlib/libpng license"; } ];
1473 };
1473 };
1474 };
1474 };
1475 "pytest" = super.buildPythonPackage {
1475 "pytest" = super.buildPythonPackage {
1476 name = "pytest-3.8.2";
1476 name = "pytest-3.8.2";
1477 doCheck = false;
1477 doCheck = false;
1478 propagatedBuildInputs = [
1478 propagatedBuildInputs = [
1479 self."py"
1479 self."py"
1480 self."six"
1480 self."six"
1481 self."setuptools"
1481 self."setuptools"
1482 self."attrs"
1482 self."attrs"
1483 self."more-itertools"
1483 self."more-itertools"
1484 self."atomicwrites"
1484 self."atomicwrites"
1485 self."pluggy"
1485 self."pluggy"
1486 self."funcsigs"
1486 self."funcsigs"
1487 self."pathlib2"
1487 self."pathlib2"
1488 ];
1488 ];
1489 src = fetchurl {
1489 src = fetchurl {
1490 url = "https://files.pythonhosted.org/packages/5f/d2/7f77f406ac505abda02ab4afb50d06ebf304f6ea42fca34f8f37529106b2/pytest-3.8.2.tar.gz";
1490 url = "https://files.pythonhosted.org/packages/5f/d2/7f77f406ac505abda02ab4afb50d06ebf304f6ea42fca34f8f37529106b2/pytest-3.8.2.tar.gz";
1491 sha256 = "18nrwzn61kph2y6gxwfz9ms68rfvr9d4vcffsxng9p7jk9z18clk";
1491 sha256 = "18nrwzn61kph2y6gxwfz9ms68rfvr9d4vcffsxng9p7jk9z18clk";
1492 };
1492 };
1493 meta = {
1493 meta = {
1494 license = [ pkgs.lib.licenses.mit ];
1494 license = [ pkgs.lib.licenses.mit ];
1495 };
1495 };
1496 };
1496 };
1497 "pytest-cov" = super.buildPythonPackage {
1497 "pytest-cov" = super.buildPythonPackage {
1498 name = "pytest-cov-2.6.0";
1498 name = "pytest-cov-2.6.0";
1499 doCheck = false;
1499 doCheck = false;
1500 propagatedBuildInputs = [
1500 propagatedBuildInputs = [
1501 self."pytest"
1501 self."pytest"
1502 self."coverage"
1502 self."coverage"
1503 ];
1503 ];
1504 src = fetchurl {
1504 src = fetchurl {
1505 url = "https://files.pythonhosted.org/packages/d9/e2/58f90a316fbd94dd50bf5c826a23f3f5d079fb3cc448c1e9f0e3c33a3d2a/pytest-cov-2.6.0.tar.gz";
1505 url = "https://files.pythonhosted.org/packages/d9/e2/58f90a316fbd94dd50bf5c826a23f3f5d079fb3cc448c1e9f0e3c33a3d2a/pytest-cov-2.6.0.tar.gz";
1506 sha256 = "0qnpp9y3ygx4jk4pf5ad71fh2skbvnr6gl54m7rg5qysnx4g0q73";
1506 sha256 = "0qnpp9y3ygx4jk4pf5ad71fh2skbvnr6gl54m7rg5qysnx4g0q73";
1507 };
1507 };
1508 meta = {
1508 meta = {
1509 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ];
1509 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.mit ];
1510 };
1510 };
1511 };
1511 };
1512 "pytest-profiling" = super.buildPythonPackage {
1512 "pytest-profiling" = super.buildPythonPackage {
1513 name = "pytest-profiling-1.3.0";
1513 name = "pytest-profiling-1.3.0";
1514 doCheck = false;
1514 doCheck = false;
1515 propagatedBuildInputs = [
1515 propagatedBuildInputs = [
1516 self."six"
1516 self."six"
1517 self."pytest"
1517 self."pytest"
1518 self."gprof2dot"
1518 self."gprof2dot"
1519 ];
1519 ];
1520 src = fetchurl {
1520 src = fetchurl {
1521 url = "https://files.pythonhosted.org/packages/f5/34/4626126e041a51ef50a80d0619519b18d20aef249aac25b0d0fdd47e57ee/pytest-profiling-1.3.0.tar.gz";
1521 url = "https://files.pythonhosted.org/packages/f5/34/4626126e041a51ef50a80d0619519b18d20aef249aac25b0d0fdd47e57ee/pytest-profiling-1.3.0.tar.gz";
1522 sha256 = "08r5afx5z22yvpmsnl91l4amsy1yxn8qsmm61mhp06mz8zjs51kb";
1522 sha256 = "08r5afx5z22yvpmsnl91l4amsy1yxn8qsmm61mhp06mz8zjs51kb";
1523 };
1523 };
1524 meta = {
1524 meta = {
1525 license = [ pkgs.lib.licenses.mit ];
1525 license = [ pkgs.lib.licenses.mit ];
1526 };
1526 };
1527 };
1527 };
1528 "pytest-runner" = super.buildPythonPackage {
1528 "pytest-runner" = super.buildPythonPackage {
1529 name = "pytest-runner-4.2";
1529 name = "pytest-runner-4.2";
1530 doCheck = false;
1530 doCheck = false;
1531 src = fetchurl {
1531 src = fetchurl {
1532 url = "https://files.pythonhosted.org/packages/9e/b7/fe6e8f87f9a756fd06722216f1b6698ccba4d269eac6329d9f0c441d0f93/pytest-runner-4.2.tar.gz";
1532 url = "https://files.pythonhosted.org/packages/9e/b7/fe6e8f87f9a756fd06722216f1b6698ccba4d269eac6329d9f0c441d0f93/pytest-runner-4.2.tar.gz";
1533 sha256 = "1gkpyphawxz38ni1gdq1fmwyqcg02m7ypzqvv46z06crwdxi2gyj";
1533 sha256 = "1gkpyphawxz38ni1gdq1fmwyqcg02m7ypzqvv46z06crwdxi2gyj";
1534 };
1534 };
1535 meta = {
1535 meta = {
1536 license = [ pkgs.lib.licenses.mit ];
1536 license = [ pkgs.lib.licenses.mit ];
1537 };
1537 };
1538 };
1538 };
1539 "pytest-sugar" = super.buildPythonPackage {
1539 "pytest-sugar" = super.buildPythonPackage {
1540 name = "pytest-sugar-0.9.1";
1540 name = "pytest-sugar-0.9.1";
1541 doCheck = false;
1541 doCheck = false;
1542 propagatedBuildInputs = [
1542 propagatedBuildInputs = [
1543 self."pytest"
1543 self."pytest"
1544 self."termcolor"
1544 self."termcolor"
1545 ];
1545 ];
1546 src = fetchurl {
1546 src = fetchurl {
1547 url = "https://files.pythonhosted.org/packages/3e/6a/a3f909083079d03bde11d06ab23088886bbe25f2c97fbe4bb865e2bf05bc/pytest-sugar-0.9.1.tar.gz";
1547 url = "https://files.pythonhosted.org/packages/3e/6a/a3f909083079d03bde11d06ab23088886bbe25f2c97fbe4bb865e2bf05bc/pytest-sugar-0.9.1.tar.gz";
1548 sha256 = "0b4av40dv30727m54v211r0nzwjp2ajkjgxix6j484qjmwpw935b";
1548 sha256 = "0b4av40dv30727m54v211r0nzwjp2ajkjgxix6j484qjmwpw935b";
1549 };
1549 };
1550 meta = {
1550 meta = {
1551 license = [ pkgs.lib.licenses.bsdOriginal ];
1551 license = [ pkgs.lib.licenses.bsdOriginal ];
1552 };
1552 };
1553 };
1553 };
1554 "pytest-timeout" = super.buildPythonPackage {
1554 "pytest-timeout" = super.buildPythonPackage {
1555 name = "pytest-timeout-1.3.2";
1555 name = "pytest-timeout-1.3.2";
1556 doCheck = false;
1556 doCheck = false;
1557 propagatedBuildInputs = [
1557 propagatedBuildInputs = [
1558 self."pytest"
1558 self."pytest"
1559 ];
1559 ];
1560 src = fetchurl {
1560 src = fetchurl {
1561 url = "https://files.pythonhosted.org/packages/8c/3e/1b6a319d12ae7baa3acb7c18ff2c8630a09471a0319d43535c683b4d03eb/pytest-timeout-1.3.2.tar.gz";
1561 url = "https://files.pythonhosted.org/packages/8c/3e/1b6a319d12ae7baa3acb7c18ff2c8630a09471a0319d43535c683b4d03eb/pytest-timeout-1.3.2.tar.gz";
1562 sha256 = "09wnmzvnls2mnsdz7x3c3sk2zdp6jl4dryvyj5i8hqz16q2zq5qi";
1562 sha256 = "09wnmzvnls2mnsdz7x3c3sk2zdp6jl4dryvyj5i8hqz16q2zq5qi";
1563 };
1563 };
1564 meta = {
1564 meta = {
1565 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
1565 license = [ pkgs.lib.licenses.mit { fullName = "DFSG approved"; } ];
1566 };
1566 };
1567 };
1567 };
1568 "python-dateutil" = super.buildPythonPackage {
1568 "python-dateutil" = super.buildPythonPackage {
1569 name = "python-dateutil-2.8.0";
1569 name = "python-dateutil-2.8.0";
1570 doCheck = false;
1570 doCheck = false;
1571 propagatedBuildInputs = [
1571 propagatedBuildInputs = [
1572 self."six"
1572 self."six"
1573 ];
1573 ];
1574 src = fetchurl {
1574 src = fetchurl {
1575 url = "https://files.pythonhosted.org/packages/ad/99/5b2e99737edeb28c71bcbec5b5dda19d0d9ef3ca3e92e3e925e7c0bb364c/python-dateutil-2.8.0.tar.gz";
1575 url = "https://files.pythonhosted.org/packages/ad/99/5b2e99737edeb28c71bcbec5b5dda19d0d9ef3ca3e92e3e925e7c0bb364c/python-dateutil-2.8.0.tar.gz";
1576 sha256 = "17nsfhy4xdz1khrfxa61vd7pmvd5z0wa3zb6v4gb4kfnykv0b668";
1576 sha256 = "17nsfhy4xdz1khrfxa61vd7pmvd5z0wa3zb6v4gb4kfnykv0b668";
1577 };
1577 };
1578 meta = {
1578 meta = {
1579 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.asl20 { fullName = "Dual License"; } ];
1579 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.asl20 { fullName = "Dual License"; } ];
1580 };
1580 };
1581 };
1581 };
1582 "python-editor" = super.buildPythonPackage {
1582 "python-editor" = super.buildPythonPackage {
1583 name = "python-editor-1.0.4";
1583 name = "python-editor-1.0.4";
1584 doCheck = false;
1584 doCheck = false;
1585 src = fetchurl {
1585 src = fetchurl {
1586 url = "https://files.pythonhosted.org/packages/0a/85/78f4a216d28343a67b7397c99825cff336330893f00601443f7c7b2f2234/python-editor-1.0.4.tar.gz";
1586 url = "https://files.pythonhosted.org/packages/0a/85/78f4a216d28343a67b7397c99825cff336330893f00601443f7c7b2f2234/python-editor-1.0.4.tar.gz";
1587 sha256 = "0yrjh8w72ivqxi4i7xsg5b1vz15x8fg51xra7c3bgfyxqnyadzai";
1587 sha256 = "0yrjh8w72ivqxi4i7xsg5b1vz15x8fg51xra7c3bgfyxqnyadzai";
1588 };
1588 };
1589 meta = {
1589 meta = {
1590 license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ];
1590 license = [ pkgs.lib.licenses.asl20 { fullName = "Apache"; } ];
1591 };
1591 };
1592 };
1592 };
1593 "python-ldap" = super.buildPythonPackage {
1593 "python-ldap" = super.buildPythonPackage {
1594 name = "python-ldap-3.1.0";
1594 name = "python-ldap-3.1.0";
1595 doCheck = false;
1595 doCheck = false;
1596 propagatedBuildInputs = [
1596 propagatedBuildInputs = [
1597 self."pyasn1"
1597 self."pyasn1"
1598 self."pyasn1-modules"
1598 self."pyasn1-modules"
1599 ];
1599 ];
1600 src = fetchurl {
1600 src = fetchurl {
1601 url = "https://files.pythonhosted.org/packages/7f/1c/28d721dff2fcd2fef9d55b40df63a00be26ec8a11e8c6fc612ae642f9cfd/python-ldap-3.1.0.tar.gz";
1601 url = "https://files.pythonhosted.org/packages/7f/1c/28d721dff2fcd2fef9d55b40df63a00be26ec8a11e8c6fc612ae642f9cfd/python-ldap-3.1.0.tar.gz";
1602 sha256 = "1i97nwfnraylyn0myxlf3vciicrf5h6fymrcff9c00k581wmx5s1";
1602 sha256 = "1i97nwfnraylyn0myxlf3vciicrf5h6fymrcff9c00k581wmx5s1";
1603 };
1603 };
1604 meta = {
1604 meta = {
1605 license = [ pkgs.lib.licenses.psfl ];
1605 license = [ pkgs.lib.licenses.psfl ];
1606 };
1606 };
1607 };
1607 };
1608 "python-memcached" = super.buildPythonPackage {
1608 "python-memcached" = super.buildPythonPackage {
1609 name = "python-memcached-1.59";
1609 name = "python-memcached-1.59";
1610 doCheck = false;
1610 doCheck = false;
1611 propagatedBuildInputs = [
1611 propagatedBuildInputs = [
1612 self."six"
1612 self."six"
1613 ];
1613 ];
1614 src = fetchurl {
1614 src = fetchurl {
1615 url = "https://files.pythonhosted.org/packages/90/59/5faf6e3cd8a568dd4f737ddae4f2e54204fd8c51f90bf8df99aca6c22318/python-memcached-1.59.tar.gz";
1615 url = "https://files.pythonhosted.org/packages/90/59/5faf6e3cd8a568dd4f737ddae4f2e54204fd8c51f90bf8df99aca6c22318/python-memcached-1.59.tar.gz";
1616 sha256 = "0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2";
1616 sha256 = "0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2";
1617 };
1617 };
1618 meta = {
1618 meta = {
1619 license = [ pkgs.lib.licenses.psfl ];
1619 license = [ pkgs.lib.licenses.psfl ];
1620 };
1620 };
1621 };
1621 };
1622 "python-pam" = super.buildPythonPackage {
1622 "python-pam" = super.buildPythonPackage {
1623 name = "python-pam-1.8.4";
1623 name = "python-pam-1.8.4";
1624 doCheck = false;
1624 doCheck = false;
1625 src = fetchurl {
1625 src = fetchurl {
1626 url = "https://files.pythonhosted.org/packages/01/16/544d01cae9f28e0292dbd092b6b8b0bf222b528f362ee768a5bed2140111/python-pam-1.8.4.tar.gz";
1626 url = "https://files.pythonhosted.org/packages/01/16/544d01cae9f28e0292dbd092b6b8b0bf222b528f362ee768a5bed2140111/python-pam-1.8.4.tar.gz";
1627 sha256 = "16whhc0vr7gxsbzvsnq65nq8fs3wwmx755cavm8kkczdkz4djmn8";
1627 sha256 = "16whhc0vr7gxsbzvsnq65nq8fs3wwmx755cavm8kkczdkz4djmn8";
1628 };
1628 };
1629 meta = {
1629 meta = {
1630 license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ];
1630 license = [ { fullName = "License :: OSI Approved :: MIT License"; } pkgs.lib.licenses.mit ];
1631 };
1631 };
1632 };
1632 };
1633 "python-saml" = super.buildPythonPackage {
1633 "python-saml" = super.buildPythonPackage {
1634 name = "python-saml-2.4.2";
1634 name = "python-saml-2.4.2";
1635 doCheck = false;
1635 doCheck = false;
1636 propagatedBuildInputs = [
1636 propagatedBuildInputs = [
1637 self."dm.xmlsec.binding"
1637 self."dm.xmlsec.binding"
1638 self."isodate"
1638 self."isodate"
1639 self."defusedxml"
1639 self."defusedxml"
1640 ];
1640 ];
1641 src = fetchurl {
1641 src = fetchurl {
1642 url = "https://files.pythonhosted.org/packages/79/a8/a6611017e0883102fd5e2b73c9d90691b8134e38247c04ee1531d3dc647c/python-saml-2.4.2.tar.gz";
1642 url = "https://files.pythonhosted.org/packages/79/a8/a6611017e0883102fd5e2b73c9d90691b8134e38247c04ee1531d3dc647c/python-saml-2.4.2.tar.gz";
1643 sha256 = "0dls4hwvf13yg7x5yfjrghbywg8g38vn5vr0rsf70hli3ydbfm43";
1643 sha256 = "0dls4hwvf13yg7x5yfjrghbywg8g38vn5vr0rsf70hli3ydbfm43";
1644 };
1644 };
1645 meta = {
1645 meta = {
1646 license = [ pkgs.lib.licenses.mit ];
1646 license = [ pkgs.lib.licenses.mit ];
1647 };
1647 };
1648 };
1648 };
1649 "pytz" = super.buildPythonPackage {
1649 "pytz" = super.buildPythonPackage {
1650 name = "pytz-2018.4";
1650 name = "pytz-2018.4";
1651 doCheck = false;
1651 doCheck = false;
1652 src = fetchurl {
1652 src = fetchurl {
1653 url = "https://files.pythonhosted.org/packages/10/76/52efda4ef98e7544321fd8d5d512e11739c1df18b0649551aeccfb1c8376/pytz-2018.4.tar.gz";
1653 url = "https://files.pythonhosted.org/packages/10/76/52efda4ef98e7544321fd8d5d512e11739c1df18b0649551aeccfb1c8376/pytz-2018.4.tar.gz";
1654 sha256 = "0jgpqx3kk2rhv81j1izjxvmx8d0x7hzs1857pgqnixic5wq2ar60";
1654 sha256 = "0jgpqx3kk2rhv81j1izjxvmx8d0x7hzs1857pgqnixic5wq2ar60";
1655 };
1655 };
1656 meta = {
1656 meta = {
1657 license = [ pkgs.lib.licenses.mit ];
1657 license = [ pkgs.lib.licenses.mit ];
1658 };
1658 };
1659 };
1659 };
1660 "pyzmq" = super.buildPythonPackage {
1660 "pyzmq" = super.buildPythonPackage {
1661 name = "pyzmq-14.6.0";
1661 name = "pyzmq-14.6.0";
1662 doCheck = false;
1662 doCheck = false;
1663 src = fetchurl {
1663 src = fetchurl {
1664 url = "https://files.pythonhosted.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz";
1664 url = "https://files.pythonhosted.org/packages/8a/3b/5463d5a9d712cd8bbdac335daece0d69f6a6792da4e3dd89956c0db4e4e6/pyzmq-14.6.0.tar.gz";
1665 sha256 = "1frmbjykvhmdg64g7sn20c9fpamrsfxwci1nhhg8q7jgz5pq0ikp";
1665 sha256 = "1frmbjykvhmdg64g7sn20c9fpamrsfxwci1nhhg8q7jgz5pq0ikp";
1666 };
1666 };
1667 meta = {
1667 meta = {
1668 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1668 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "LGPL+BSD"; } { fullName = "GNU Library or Lesser General Public License (LGPL)"; } ];
1669 };
1669 };
1670 };
1670 };
1671 "redis" = super.buildPythonPackage {
1671 "redis" = super.buildPythonPackage {
1672 name = "redis-2.10.6";
1672 name = "redis-2.10.6";
1673 doCheck = false;
1673 doCheck = false;
1674 src = fetchurl {
1674 src = fetchurl {
1675 url = "https://files.pythonhosted.org/packages/09/8d/6d34b75326bf96d4139a2ddd8e74b80840f800a0a79f9294399e212cb9a7/redis-2.10.6.tar.gz";
1675 url = "https://files.pythonhosted.org/packages/09/8d/6d34b75326bf96d4139a2ddd8e74b80840f800a0a79f9294399e212cb9a7/redis-2.10.6.tar.gz";
1676 sha256 = "03vcgklykny0g0wpvqmy8p6azi2s078317wgb2xjv5m2rs9sjb52";
1676 sha256 = "03vcgklykny0g0wpvqmy8p6azi2s078317wgb2xjv5m2rs9sjb52";
1677 };
1677 };
1678 meta = {
1678 meta = {
1679 license = [ pkgs.lib.licenses.mit ];
1679 license = [ pkgs.lib.licenses.mit ];
1680 };
1680 };
1681 };
1681 };
1682 "repoze.lru" = super.buildPythonPackage {
1682 "repoze.lru" = super.buildPythonPackage {
1683 name = "repoze.lru-0.7";
1683 name = "repoze.lru-0.7";
1684 doCheck = false;
1684 doCheck = false;
1685 src = fetchurl {
1685 src = fetchurl {
1686 url = "https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz";
1686 url = "https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz";
1687 sha256 = "0xzz1aw2smy8hdszrq8yhnklx6w1r1mf55061kalw3iq35gafa84";
1687 sha256 = "0xzz1aw2smy8hdszrq8yhnklx6w1r1mf55061kalw3iq35gafa84";
1688 };
1688 };
1689 meta = {
1689 meta = {
1690 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1690 license = [ { fullName = "Repoze Public License"; } { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
1691 };
1691 };
1692 };
1692 };
1693 "repoze.sendmail" = super.buildPythonPackage {
1693 "repoze.sendmail" = super.buildPythonPackage {
1694 name = "repoze.sendmail-4.4.1";
1694 name = "repoze.sendmail-4.4.1";
1695 doCheck = false;
1695 doCheck = false;
1696 propagatedBuildInputs = [
1696 propagatedBuildInputs = [
1697 self."setuptools"
1697 self."setuptools"
1698 self."zope.interface"
1698 self."zope.interface"
1699 self."transaction"
1699 self."transaction"
1700 ];
1700 ];
1701 src = fetchurl {
1701 src = fetchurl {
1702 url = "https://files.pythonhosted.org/packages/12/4e/8ef1fd5c42765d712427b9c391419a77bd48877886d2cbc5e9f23c8cad9b/repoze.sendmail-4.4.1.tar.gz";
1702 url = "https://files.pythonhosted.org/packages/12/4e/8ef1fd5c42765d712427b9c391419a77bd48877886d2cbc5e9f23c8cad9b/repoze.sendmail-4.4.1.tar.gz";
1703 sha256 = "096ln02jr2afk7ab9j2czxqv2ryqq7m86ah572nqplx52iws73ks";
1703 sha256 = "096ln02jr2afk7ab9j2czxqv2ryqq7m86ah572nqplx52iws73ks";
1704 };
1704 };
1705 meta = {
1705 meta = {
1706 license = [ pkgs.lib.licenses.zpl21 ];
1706 license = [ pkgs.lib.licenses.zpl21 ];
1707 };
1707 };
1708 };
1708 };
1709 "requests" = super.buildPythonPackage {
1709 "requests" = super.buildPythonPackage {
1710 name = "requests-2.9.1";
1710 name = "requests-2.9.1";
1711 doCheck = false;
1711 doCheck = false;
1712 src = fetchurl {
1712 src = fetchurl {
1713 url = "https://files.pythonhosted.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz";
1713 url = "https://files.pythonhosted.org/packages/f9/6d/07c44fb1ebe04d069459a189e7dab9e4abfe9432adcd4477367c25332748/requests-2.9.1.tar.gz";
1714 sha256 = "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5";
1714 sha256 = "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5";
1715 };
1715 };
1716 meta = {
1716 meta = {
1717 license = [ pkgs.lib.licenses.asl20 ];
1717 license = [ pkgs.lib.licenses.asl20 ];
1718 };
1718 };
1719 };
1719 };
1720 "rhodecode-enterprise-ce" = super.buildPythonPackage {
1720 "rhodecode-enterprise-ce" = super.buildPythonPackage {
1721 name = "rhodecode-enterprise-ce-4.17.0";
1721 name = "rhodecode-enterprise-ce-4.17.2";
1722 buildInputs = [
1722 buildInputs = [
1723 self."pytest"
1723 self."pytest"
1724 self."py"
1724 self."py"
1725 self."pytest-cov"
1725 self."pytest-cov"
1726 self."pytest-sugar"
1726 self."pytest-sugar"
1727 self."pytest-runner"
1727 self."pytest-runner"
1728 self."pytest-profiling"
1728 self."pytest-profiling"
1729 self."pytest-timeout"
1729 self."pytest-timeout"
1730 self."gprof2dot"
1730 self."gprof2dot"
1731 self."mock"
1731 self."mock"
1732 self."cov-core"
1732 self."cov-core"
1733 self."coverage"
1733 self."coverage"
1734 self."webtest"
1734 self."webtest"
1735 self."beautifulsoup4"
1735 self."beautifulsoup4"
1736 self."configobj"
1736 self."configobj"
1737 ];
1737 ];
1738 doCheck = true;
1738 doCheck = true;
1739 propagatedBuildInputs = [
1739 propagatedBuildInputs = [
1740 self."amqp"
1740 self."amqp"
1741 self."authomatic"
1741 self."authomatic"
1742 self."babel"
1742 self."babel"
1743 self."beaker"
1743 self."beaker"
1744 self."bleach"
1744 self."bleach"
1745 self."celery"
1745 self."celery"
1746 self."channelstream"
1746 self."channelstream"
1747 self."click"
1747 self."click"
1748 self."colander"
1748 self."colander"
1749 self."configobj"
1749 self."configobj"
1750 self."cssselect"
1750 self."cssselect"
1751 self."cryptography"
1751 self."cryptography"
1752 self."decorator"
1752 self."decorator"
1753 self."deform"
1753 self."deform"
1754 self."docutils"
1754 self."docutils"
1755 self."dogpile.cache"
1755 self."dogpile.cache"
1756 self."dogpile.core"
1756 self."dogpile.core"
1757 self."formencode"
1757 self."formencode"
1758 self."future"
1758 self."future"
1759 self."futures"
1759 self."futures"
1760 self."infrae.cache"
1760 self."infrae.cache"
1761 self."iso8601"
1761 self."iso8601"
1762 self."itsdangerous"
1762 self."itsdangerous"
1763 self."kombu"
1763 self."kombu"
1764 self."lxml"
1764 self."lxml"
1765 self."mako"
1765 self."mako"
1766 self."markdown"
1766 self."markdown"
1767 self."markupsafe"
1767 self."markupsafe"
1768 self."msgpack-python"
1768 self."msgpack-python"
1769 self."pyotp"
1769 self."pyotp"
1770 self."packaging"
1770 self."packaging"
1771 self."pathlib2"
1771 self."pathlib2"
1772 self."paste"
1772 self."paste"
1773 self."pastedeploy"
1773 self."pastedeploy"
1774 self."pastescript"
1774 self."pastescript"
1775 self."peppercorn"
1775 self."peppercorn"
1776 self."psutil"
1776 self."psutil"
1777 self."py-bcrypt"
1777 self."py-bcrypt"
1778 self."pycurl"
1778 self."pycurl"
1779 self."pycrypto"
1779 self."pycrypto"
1780 self."pygments"
1780 self."pygments"
1781 self."pyparsing"
1781 self."pyparsing"
1782 self."pyramid-debugtoolbar"
1782 self."pyramid-debugtoolbar"
1783 self."pyramid-mako"
1783 self."pyramid-mako"
1784 self."pyramid"
1784 self."pyramid"
1785 self."pyramid-mailer"
1785 self."pyramid-mailer"
1786 self."python-dateutil"
1786 self."python-dateutil"
1787 self."python-ldap"
1787 self."python-ldap"
1788 self."python-memcached"
1788 self."python-memcached"
1789 self."python-pam"
1789 self."python-pam"
1790 self."python-saml"
1790 self."python-saml"
1791 self."pytz"
1791 self."pytz"
1792 self."tzlocal"
1792 self."tzlocal"
1793 self."pyzmq"
1793 self."pyzmq"
1794 self."py-gfm"
1794 self."py-gfm"
1795 self."redis"
1795 self."redis"
1796 self."repoze.lru"
1796 self."repoze.lru"
1797 self."requests"
1797 self."requests"
1798 self."routes"
1798 self."routes"
1799 self."simplejson"
1799 self."simplejson"
1800 self."six"
1800 self."six"
1801 self."sqlalchemy"
1801 self."sqlalchemy"
1802 self."sshpubkeys"
1802 self."sshpubkeys"
1803 self."subprocess32"
1803 self."subprocess32"
1804 self."supervisor"
1804 self."supervisor"
1805 self."translationstring"
1805 self."translationstring"
1806 self."urllib3"
1806 self."urllib3"
1807 self."urlobject"
1807 self."urlobject"
1808 self."venusian"
1808 self."venusian"
1809 self."weberror"
1809 self."weberror"
1810 self."webhelpers2"
1810 self."webhelpers2"
1811 self."webhelpers"
1811 self."webhelpers"
1812 self."webob"
1812 self."webob"
1813 self."whoosh"
1813 self."whoosh"
1814 self."wsgiref"
1814 self."wsgiref"
1815 self."zope.cachedescriptors"
1815 self."zope.cachedescriptors"
1816 self."zope.deprecation"
1816 self."zope.deprecation"
1817 self."zope.event"
1817 self."zope.event"
1818 self."zope.interface"
1818 self."zope.interface"
1819 self."mysql-python"
1819 self."mysql-python"
1820 self."pymysql"
1820 self."pymysql"
1821 self."pysqlite"
1821 self."pysqlite"
1822 self."psycopg2"
1822 self."psycopg2"
1823 self."nbconvert"
1823 self."nbconvert"
1824 self."nbformat"
1824 self."nbformat"
1825 self."jupyter-client"
1825 self."jupyter-client"
1826 self."alembic"
1826 self."alembic"
1827 self."invoke"
1827 self."invoke"
1828 self."bumpversion"
1828 self."bumpversion"
1829 self."gevent"
1829 self."gevent"
1830 self."greenlet"
1830 self."greenlet"
1831 self."gunicorn"
1831 self."gunicorn"
1832 self."waitress"
1832 self."waitress"
1833 self."ipdb"
1833 self."ipdb"
1834 self."ipython"
1834 self."ipython"
1835 self."rhodecode-tools"
1835 self."rhodecode-tools"
1836 self."appenlight-client"
1836 self."appenlight-client"
1837 self."pytest"
1837 self."pytest"
1838 self."py"
1838 self."py"
1839 self."pytest-cov"
1839 self."pytest-cov"
1840 self."pytest-sugar"
1840 self."pytest-sugar"
1841 self."pytest-runner"
1841 self."pytest-runner"
1842 self."pytest-profiling"
1842 self."pytest-profiling"
1843 self."pytest-timeout"
1843 self."pytest-timeout"
1844 self."gprof2dot"
1844 self."gprof2dot"
1845 self."mock"
1845 self."mock"
1846 self."cov-core"
1846 self."cov-core"
1847 self."coverage"
1847 self."coverage"
1848 self."webtest"
1848 self."webtest"
1849 self."beautifulsoup4"
1849 self."beautifulsoup4"
1850 ];
1850 ];
1851 src = ./.;
1851 src = ./.;
1852 meta = {
1852 meta = {
1853 license = [ { fullName = "Affero GNU General Public License v3 or later (AGPLv3+)"; } { fullName = "AGPLv3, and Commercial License"; } ];
1853 license = [ { fullName = "Affero GNU General Public License v3 or later (AGPLv3+)"; } { fullName = "AGPLv3, and Commercial License"; } ];
1854 };
1854 };
1855 };
1855 };
1856 "rhodecode-tools" = super.buildPythonPackage {
1856 "rhodecode-tools" = super.buildPythonPackage {
1857 name = "rhodecode-tools-1.2.1";
1857 name = "rhodecode-tools-1.2.1";
1858 doCheck = false;
1858 doCheck = false;
1859 propagatedBuildInputs = [
1859 propagatedBuildInputs = [
1860 self."click"
1860 self."click"
1861 self."future"
1861 self."future"
1862 self."six"
1862 self."six"
1863 self."mako"
1863 self."mako"
1864 self."markupsafe"
1864 self."markupsafe"
1865 self."requests"
1865 self."requests"
1866 self."urllib3"
1866 self."urllib3"
1867 self."whoosh"
1867 self."whoosh"
1868 self."elasticsearch"
1868 self."elasticsearch"
1869 self."elasticsearch-dsl"
1869 self."elasticsearch-dsl"
1870 self."elasticsearch2"
1870 self."elasticsearch2"
1871 self."elasticsearch1-dsl"
1871 self."elasticsearch1-dsl"
1872 ];
1872 ];
1873 src = fetchurl {
1873 src = fetchurl {
1874 url = "https://code.rhodecode.com/rhodecode-tools-ce/artifacts/download/0-10ac93f4-bb7d-4b97-baea-68110743dd5a.tar.gz?md5=962dc77c06aceee62282b98d33149661";
1874 url = "https://code.rhodecode.com/rhodecode-tools-ce/artifacts/download/0-10ac93f4-bb7d-4b97-baea-68110743dd5a.tar.gz?md5=962dc77c06aceee62282b98d33149661";
1875 sha256 = "1vfhgf46inbx7jvlfx4fdzh3vz7lh37r291gzb5hx447pfm3qllg";
1875 sha256 = "1vfhgf46inbx7jvlfx4fdzh3vz7lh37r291gzb5hx447pfm3qllg";
1876 };
1876 };
1877 meta = {
1877 meta = {
1878 license = [ { fullName = "Apache 2.0 and Proprietary"; } ];
1878 license = [ { fullName = "Apache 2.0 and Proprietary"; } ];
1879 };
1879 };
1880 };
1880 };
1881 "routes" = super.buildPythonPackage {
1881 "routes" = super.buildPythonPackage {
1882 name = "routes-2.4.1";
1882 name = "routes-2.4.1";
1883 doCheck = false;
1883 doCheck = false;
1884 propagatedBuildInputs = [
1884 propagatedBuildInputs = [
1885 self."six"
1885 self."six"
1886 self."repoze.lru"
1886 self."repoze.lru"
1887 ];
1887 ];
1888 src = fetchurl {
1888 src = fetchurl {
1889 url = "https://files.pythonhosted.org/packages/33/38/ea827837e68d9c7dde4cff7ec122a93c319f0effc08ce92a17095576603f/Routes-2.4.1.tar.gz";
1889 url = "https://files.pythonhosted.org/packages/33/38/ea827837e68d9c7dde4cff7ec122a93c319f0effc08ce92a17095576603f/Routes-2.4.1.tar.gz";
1890 sha256 = "1zamff3m0kc4vyfniyhxpkkcqv1rrgnmh37ykxv34nna1ws47vi6";
1890 sha256 = "1zamff3m0kc4vyfniyhxpkkcqv1rrgnmh37ykxv34nna1ws47vi6";
1891 };
1891 };
1892 meta = {
1892 meta = {
1893 license = [ pkgs.lib.licenses.mit ];
1893 license = [ pkgs.lib.licenses.mit ];
1894 };
1894 };
1895 };
1895 };
1896 "scandir" = super.buildPythonPackage {
1896 "scandir" = super.buildPythonPackage {
1897 name = "scandir-1.10.0";
1897 name = "scandir-1.10.0";
1898 doCheck = false;
1898 doCheck = false;
1899 src = fetchurl {
1899 src = fetchurl {
1900 url = "https://files.pythonhosted.org/packages/df/f5/9c052db7bd54d0cbf1bc0bb6554362bba1012d03e5888950a4f5c5dadc4e/scandir-1.10.0.tar.gz";
1900 url = "https://files.pythonhosted.org/packages/df/f5/9c052db7bd54d0cbf1bc0bb6554362bba1012d03e5888950a4f5c5dadc4e/scandir-1.10.0.tar.gz";
1901 sha256 = "1bkqwmf056pkchf05ywbnf659wqlp6lljcdb0y88wr9f0vv32ijd";
1901 sha256 = "1bkqwmf056pkchf05ywbnf659wqlp6lljcdb0y88wr9f0vv32ijd";
1902 };
1902 };
1903 meta = {
1903 meta = {
1904 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ];
1904 license = [ pkgs.lib.licenses.bsdOriginal { fullName = "New BSD License"; } ];
1905 };
1905 };
1906 };
1906 };
1907 "setproctitle" = super.buildPythonPackage {
1907 "setproctitle" = super.buildPythonPackage {
1908 name = "setproctitle-1.1.10";
1908 name = "setproctitle-1.1.10";
1909 doCheck = false;
1909 doCheck = false;
1910 src = fetchurl {
1910 src = fetchurl {
1911 url = "https://files.pythonhosted.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz";
1911 url = "https://files.pythonhosted.org/packages/5a/0d/dc0d2234aacba6cf1a729964383e3452c52096dc695581248b548786f2b3/setproctitle-1.1.10.tar.gz";
1912 sha256 = "163kplw9dcrw0lffq1bvli5yws3rngpnvrxrzdw89pbphjjvg0v2";
1912 sha256 = "163kplw9dcrw0lffq1bvli5yws3rngpnvrxrzdw89pbphjjvg0v2";
1913 };
1913 };
1914 meta = {
1914 meta = {
1915 license = [ pkgs.lib.licenses.bsdOriginal ];
1915 license = [ pkgs.lib.licenses.bsdOriginal ];
1916 };
1916 };
1917 };
1917 };
1918 "setuptools" = super.buildPythonPackage {
1918 "setuptools" = super.buildPythonPackage {
1919 name = "setuptools-41.0.1";
1919 name = "setuptools-41.0.1";
1920 doCheck = false;
1920 doCheck = false;
1921 src = fetchurl {
1921 src = fetchurl {
1922 url = "https://files.pythonhosted.org/packages/1d/64/a18a487b4391a05b9c7f938b94a16d80305bf0369c6b0b9509e86165e1d3/setuptools-41.0.1.zip";
1922 url = "https://files.pythonhosted.org/packages/1d/64/a18a487b4391a05b9c7f938b94a16d80305bf0369c6b0b9509e86165e1d3/setuptools-41.0.1.zip";
1923 sha256 = "04sns22y2hhsrwfy1mha2lgslvpjsjsz8xws7h2rh5a7ylkd28m2";
1923 sha256 = "04sns22y2hhsrwfy1mha2lgslvpjsjsz8xws7h2rh5a7ylkd28m2";
1924 };
1924 };
1925 meta = {
1925 meta = {
1926 license = [ pkgs.lib.licenses.mit ];
1926 license = [ pkgs.lib.licenses.mit ];
1927 };
1927 };
1928 };
1928 };
1929 "simplegeneric" = super.buildPythonPackage {
1929 "simplegeneric" = super.buildPythonPackage {
1930 name = "simplegeneric-0.8.1";
1930 name = "simplegeneric-0.8.1";
1931 doCheck = false;
1931 doCheck = false;
1932 src = fetchurl {
1932 src = fetchurl {
1933 url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip";
1933 url = "https://files.pythonhosted.org/packages/3d/57/4d9c9e3ae9a255cd4e1106bb57e24056d3d0709fc01b2e3e345898e49d5b/simplegeneric-0.8.1.zip";
1934 sha256 = "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw";
1934 sha256 = "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw";
1935 };
1935 };
1936 meta = {
1936 meta = {
1937 license = [ pkgs.lib.licenses.zpl21 ];
1937 license = [ pkgs.lib.licenses.zpl21 ];
1938 };
1938 };
1939 };
1939 };
1940 "simplejson" = super.buildPythonPackage {
1940 "simplejson" = super.buildPythonPackage {
1941 name = "simplejson-3.16.0";
1941 name = "simplejson-3.16.0";
1942 doCheck = false;
1942 doCheck = false;
1943 src = fetchurl {
1943 src = fetchurl {
1944 url = "https://files.pythonhosted.org/packages/e3/24/c35fb1c1c315fc0fffe61ea00d3f88e85469004713dab488dee4f35b0aff/simplejson-3.16.0.tar.gz";
1944 url = "https://files.pythonhosted.org/packages/e3/24/c35fb1c1c315fc0fffe61ea00d3f88e85469004713dab488dee4f35b0aff/simplejson-3.16.0.tar.gz";
1945 sha256 = "19cws1syk8jzq2pw43878dv6fjkb0ifvjpx0i9aajix6kc9jkwxi";
1945 sha256 = "19cws1syk8jzq2pw43878dv6fjkb0ifvjpx0i9aajix6kc9jkwxi";
1946 };
1946 };
1947 meta = {
1947 meta = {
1948 license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ];
1948 license = [ { fullName = "Academic Free License (AFL)"; } pkgs.lib.licenses.mit ];
1949 };
1949 };
1950 };
1950 };
1951 "six" = super.buildPythonPackage {
1951 "six" = super.buildPythonPackage {
1952 name = "six-1.11.0";
1952 name = "six-1.11.0";
1953 doCheck = false;
1953 doCheck = false;
1954 src = fetchurl {
1954 src = fetchurl {
1955 url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
1955 url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
1956 sha256 = "1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h";
1956 sha256 = "1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h";
1957 };
1957 };
1958 meta = {
1958 meta = {
1959 license = [ pkgs.lib.licenses.mit ];
1959 license = [ pkgs.lib.licenses.mit ];
1960 };
1960 };
1961 };
1961 };
1962 "sqlalchemy" = super.buildPythonPackage {
1962 "sqlalchemy" = super.buildPythonPackage {
1963 name = "sqlalchemy-1.1.18";
1963 name = "sqlalchemy-1.1.18";
1964 doCheck = false;
1964 doCheck = false;
1965 src = fetchurl {
1965 src = fetchurl {
1966 url = "https://files.pythonhosted.org/packages/cc/4d/96d93ff77cd67aca7618e402191eee3490d8f5f245d6ab7622d35fe504f4/SQLAlchemy-1.1.18.tar.gz";
1966 url = "https://files.pythonhosted.org/packages/cc/4d/96d93ff77cd67aca7618e402191eee3490d8f5f245d6ab7622d35fe504f4/SQLAlchemy-1.1.18.tar.gz";
1967 sha256 = "1ab4ysip6irajfbxl9wy27kv76miaz8h6759hfx92499z4dcf3lb";
1967 sha256 = "1ab4ysip6irajfbxl9wy27kv76miaz8h6759hfx92499z4dcf3lb";
1968 };
1968 };
1969 meta = {
1969 meta = {
1970 license = [ pkgs.lib.licenses.mit ];
1970 license = [ pkgs.lib.licenses.mit ];
1971 };
1971 };
1972 };
1972 };
1973 "sshpubkeys" = super.buildPythonPackage {
1973 "sshpubkeys" = super.buildPythonPackage {
1974 name = "sshpubkeys-3.1.0";
1974 name = "sshpubkeys-3.1.0";
1975 doCheck = false;
1975 doCheck = false;
1976 propagatedBuildInputs = [
1976 propagatedBuildInputs = [
1977 self."cryptography"
1977 self."cryptography"
1978 self."ecdsa"
1978 self."ecdsa"
1979 ];
1979 ];
1980 src = fetchurl {
1980 src = fetchurl {
1981 url = "https://files.pythonhosted.org/packages/00/23/f7508a12007c96861c3da811992f14283d79c819d71a217b3e12d5196649/sshpubkeys-3.1.0.tar.gz";
1981 url = "https://files.pythonhosted.org/packages/00/23/f7508a12007c96861c3da811992f14283d79c819d71a217b3e12d5196649/sshpubkeys-3.1.0.tar.gz";
1982 sha256 = "105g2li04nm1hb15a2y6hm9m9k7fbrkd5l3gy12w3kgcmsf3k25k";
1982 sha256 = "105g2li04nm1hb15a2y6hm9m9k7fbrkd5l3gy12w3kgcmsf3k25k";
1983 };
1983 };
1984 meta = {
1984 meta = {
1985 license = [ pkgs.lib.licenses.bsdOriginal ];
1985 license = [ pkgs.lib.licenses.bsdOriginal ];
1986 };
1986 };
1987 };
1987 };
1988 "subprocess32" = super.buildPythonPackage {
1988 "subprocess32" = super.buildPythonPackage {
1989 name = "subprocess32-3.5.4";
1989 name = "subprocess32-3.5.4";
1990 doCheck = false;
1990 doCheck = false;
1991 src = fetchurl {
1991 src = fetchurl {
1992 url = "https://files.pythonhosted.org/packages/32/c8/564be4d12629b912ea431f1a50eb8b3b9d00f1a0b1ceff17f266be190007/subprocess32-3.5.4.tar.gz";
1992 url = "https://files.pythonhosted.org/packages/32/c8/564be4d12629b912ea431f1a50eb8b3b9d00f1a0b1ceff17f266be190007/subprocess32-3.5.4.tar.gz";
1993 sha256 = "17f7mvwx2271s1wrl0qac3wjqqnrqag866zs3qc8v5wp0k43fagb";
1993 sha256 = "17f7mvwx2271s1wrl0qac3wjqqnrqag866zs3qc8v5wp0k43fagb";
1994 };
1994 };
1995 meta = {
1995 meta = {
1996 license = [ pkgs.lib.licenses.psfl ];
1996 license = [ pkgs.lib.licenses.psfl ];
1997 };
1997 };
1998 };
1998 };
1999 "supervisor" = super.buildPythonPackage {
1999 "supervisor" = super.buildPythonPackage {
2000 name = "supervisor-4.0.3";
2000 name = "supervisor-4.0.3";
2001 doCheck = false;
2001 doCheck = false;
2002 propagatedBuildInputs = [
2002 propagatedBuildInputs = [
2003 self."meld3"
2003 self."meld3"
2004 ];
2004 ];
2005 src = fetchurl {
2005 src = fetchurl {
2006 url = "https://files.pythonhosted.org/packages/97/48/f38bf70bd9282d1a18d591616557cc1a77a1c627d57dff66ead65c891dc8/supervisor-4.0.3.tar.gz";
2006 url = "https://files.pythonhosted.org/packages/97/48/f38bf70bd9282d1a18d591616557cc1a77a1c627d57dff66ead65c891dc8/supervisor-4.0.3.tar.gz";
2007 sha256 = "17hla7mx6w5m5jzkkjxgqa8wpswqmfhbhf49f692hw78fg0ans7p";
2007 sha256 = "17hla7mx6w5m5jzkkjxgqa8wpswqmfhbhf49f692hw78fg0ans7p";
2008 };
2008 };
2009 meta = {
2009 meta = {
2010 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
2010 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
2011 };
2011 };
2012 };
2012 };
2013 "tempita" = super.buildPythonPackage {
2013 "tempita" = super.buildPythonPackage {
2014 name = "tempita-0.5.2";
2014 name = "tempita-0.5.2";
2015 doCheck = false;
2015 doCheck = false;
2016 src = fetchurl {
2016 src = fetchurl {
2017 url = "https://files.pythonhosted.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz";
2017 url = "https://files.pythonhosted.org/packages/56/c8/8ed6eee83dbddf7b0fc64dd5d4454bc05e6ccaafff47991f73f2894d9ff4/Tempita-0.5.2.tar.gz";
2018 sha256 = "177wwq45slfyajd8csy477bmdmzipyw0dm7i85k3akb7m85wzkna";
2018 sha256 = "177wwq45slfyajd8csy477bmdmzipyw0dm7i85k3akb7m85wzkna";
2019 };
2019 };
2020 meta = {
2020 meta = {
2021 license = [ pkgs.lib.licenses.mit ];
2021 license = [ pkgs.lib.licenses.mit ];
2022 };
2022 };
2023 };
2023 };
2024 "termcolor" = super.buildPythonPackage {
2024 "termcolor" = super.buildPythonPackage {
2025 name = "termcolor-1.1.0";
2025 name = "termcolor-1.1.0";
2026 doCheck = false;
2026 doCheck = false;
2027 src = fetchurl {
2027 src = fetchurl {
2028 url = "https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz";
2028 url = "https://files.pythonhosted.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz";
2029 sha256 = "0fv1vq14rpqwgazxg4981904lfyp84mnammw7y046491cv76jv8x";
2029 sha256 = "0fv1vq14rpqwgazxg4981904lfyp84mnammw7y046491cv76jv8x";
2030 };
2030 };
2031 meta = {
2031 meta = {
2032 license = [ pkgs.lib.licenses.mit ];
2032 license = [ pkgs.lib.licenses.mit ];
2033 };
2033 };
2034 };
2034 };
2035 "testpath" = super.buildPythonPackage {
2035 "testpath" = super.buildPythonPackage {
2036 name = "testpath-0.4.2";
2036 name = "testpath-0.4.2";
2037 doCheck = false;
2037 doCheck = false;
2038 src = fetchurl {
2038 src = fetchurl {
2039 url = "https://files.pythonhosted.org/packages/06/30/9a7e917066d851d8b4117e85794b5f14516419ea714a8a2681ec6aa8a981/testpath-0.4.2.tar.gz";
2039 url = "https://files.pythonhosted.org/packages/06/30/9a7e917066d851d8b4117e85794b5f14516419ea714a8a2681ec6aa8a981/testpath-0.4.2.tar.gz";
2040 sha256 = "1y40hywscnnyb734pnzm55nd8r8kp1072bjxbil83gcd53cv755n";
2040 sha256 = "1y40hywscnnyb734pnzm55nd8r8kp1072bjxbil83gcd53cv755n";
2041 };
2041 };
2042 meta = {
2042 meta = {
2043 license = [ ];
2043 license = [ ];
2044 };
2044 };
2045 };
2045 };
2046 "traitlets" = super.buildPythonPackage {
2046 "traitlets" = super.buildPythonPackage {
2047 name = "traitlets-4.3.2";
2047 name = "traitlets-4.3.2";
2048 doCheck = false;
2048 doCheck = false;
2049 propagatedBuildInputs = [
2049 propagatedBuildInputs = [
2050 self."ipython-genutils"
2050 self."ipython-genutils"
2051 self."six"
2051 self."six"
2052 self."decorator"
2052 self."decorator"
2053 self."enum34"
2053 self."enum34"
2054 ];
2054 ];
2055 src = fetchurl {
2055 src = fetchurl {
2056 url = "https://files.pythonhosted.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz";
2056 url = "https://files.pythonhosted.org/packages/a5/98/7f5ef2fe9e9e071813aaf9cb91d1a732e0a68b6c44a32b38cb8e14c3f069/traitlets-4.3.2.tar.gz";
2057 sha256 = "0dbq7sx26xqz5ixs711k5nc88p8a0nqyz6162pwks5dpcz9d4jww";
2057 sha256 = "0dbq7sx26xqz5ixs711k5nc88p8a0nqyz6162pwks5dpcz9d4jww";
2058 };
2058 };
2059 meta = {
2059 meta = {
2060 license = [ pkgs.lib.licenses.bsdOriginal ];
2060 license = [ pkgs.lib.licenses.bsdOriginal ];
2061 };
2061 };
2062 };
2062 };
2063 "transaction" = super.buildPythonPackage {
2063 "transaction" = super.buildPythonPackage {
2064 name = "transaction-2.4.0";
2064 name = "transaction-2.4.0";
2065 doCheck = false;
2065 doCheck = false;
2066 propagatedBuildInputs = [
2066 propagatedBuildInputs = [
2067 self."zope.interface"
2067 self."zope.interface"
2068 ];
2068 ];
2069 src = fetchurl {
2069 src = fetchurl {
2070 url = "https://files.pythonhosted.org/packages/9d/7d/0e8af0d059e052b9dcf2bb5a08aad20ae3e238746bdd3f8701a60969b363/transaction-2.4.0.tar.gz";
2070 url = "https://files.pythonhosted.org/packages/9d/7d/0e8af0d059e052b9dcf2bb5a08aad20ae3e238746bdd3f8701a60969b363/transaction-2.4.0.tar.gz";
2071 sha256 = "17wz1y524ca07vr03yddy8dv0gbscs06dbdywmllxv5rc725jq3j";
2071 sha256 = "17wz1y524ca07vr03yddy8dv0gbscs06dbdywmllxv5rc725jq3j";
2072 };
2072 };
2073 meta = {
2073 meta = {
2074 license = [ pkgs.lib.licenses.zpl21 ];
2074 license = [ pkgs.lib.licenses.zpl21 ];
2075 };
2075 };
2076 };
2076 };
2077 "translationstring" = super.buildPythonPackage {
2077 "translationstring" = super.buildPythonPackage {
2078 name = "translationstring-1.3";
2078 name = "translationstring-1.3";
2079 doCheck = false;
2079 doCheck = false;
2080 src = fetchurl {
2080 src = fetchurl {
2081 url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
2081 url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
2082 sha256 = "0bdpcnd9pv0131dl08h4zbcwmgc45lyvq3pa224xwan5b3x4rr2f";
2082 sha256 = "0bdpcnd9pv0131dl08h4zbcwmgc45lyvq3pa224xwan5b3x4rr2f";
2083 };
2083 };
2084 meta = {
2084 meta = {
2085 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
2085 license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
2086 };
2086 };
2087 };
2087 };
2088 "tzlocal" = super.buildPythonPackage {
2088 "tzlocal" = super.buildPythonPackage {
2089 name = "tzlocal-1.5.1";
2089 name = "tzlocal-1.5.1";
2090 doCheck = false;
2090 doCheck = false;
2091 propagatedBuildInputs = [
2091 propagatedBuildInputs = [
2092 self."pytz"
2092 self."pytz"
2093 ];
2093 ];
2094 src = fetchurl {
2094 src = fetchurl {
2095 url = "https://files.pythonhosted.org/packages/cb/89/e3687d3ed99bc882793f82634e9824e62499fdfdc4b1ae39e211c5b05017/tzlocal-1.5.1.tar.gz";
2095 url = "https://files.pythonhosted.org/packages/cb/89/e3687d3ed99bc882793f82634e9824e62499fdfdc4b1ae39e211c5b05017/tzlocal-1.5.1.tar.gz";
2096 sha256 = "0kiciwiqx0bv0fbc913idxibc4ygg4cb7f8rcpd9ij2shi4bigjf";
2096 sha256 = "0kiciwiqx0bv0fbc913idxibc4ygg4cb7f8rcpd9ij2shi4bigjf";
2097 };
2097 };
2098 meta = {
2098 meta = {
2099 license = [ pkgs.lib.licenses.mit ];
2099 license = [ pkgs.lib.licenses.mit ];
2100 };
2100 };
2101 };
2101 };
2102 "urllib3" = super.buildPythonPackage {
2102 "urllib3" = super.buildPythonPackage {
2103 name = "urllib3-1.24.1";
2103 name = "urllib3-1.24.1";
2104 doCheck = false;
2104 doCheck = false;
2105 src = fetchurl {
2105 src = fetchurl {
2106 url = "https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1/urllib3-1.24.1.tar.gz";
2106 url = "https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1/urllib3-1.24.1.tar.gz";
2107 sha256 = "08lwd9f3hqznyf32vnzwvp87pchx062nkbgyrf67rwlkgj0jk5fy";
2107 sha256 = "08lwd9f3hqznyf32vnzwvp87pchx062nkbgyrf67rwlkgj0jk5fy";
2108 };
2108 };
2109 meta = {
2109 meta = {
2110 license = [ pkgs.lib.licenses.mit ];
2110 license = [ pkgs.lib.licenses.mit ];
2111 };
2111 };
2112 };
2112 };
2113 "urlobject" = super.buildPythonPackage {
2113 "urlobject" = super.buildPythonPackage {
2114 name = "urlobject-2.4.3";
2114 name = "urlobject-2.4.3";
2115 doCheck = false;
2115 doCheck = false;
2116 src = fetchurl {
2116 src = fetchurl {
2117 url = "https://files.pythonhosted.org/packages/e2/b8/1d0a916f4b34c4618846e6da0e4eeaa8fcb4a2f39e006434fe38acb74b34/URLObject-2.4.3.tar.gz";
2117 url = "https://files.pythonhosted.org/packages/e2/b8/1d0a916f4b34c4618846e6da0e4eeaa8fcb4a2f39e006434fe38acb74b34/URLObject-2.4.3.tar.gz";
2118 sha256 = "1ahc8ficzfvr2avln71immfh4ls0zyv6cdaa5xmkdj5rd87f5cj7";
2118 sha256 = "1ahc8ficzfvr2avln71immfh4ls0zyv6cdaa5xmkdj5rd87f5cj7";
2119 };
2119 };
2120 meta = {
2120 meta = {
2121 license = [ pkgs.lib.licenses.publicDomain ];
2121 license = [ pkgs.lib.licenses.publicDomain ];
2122 };
2122 };
2123 };
2123 };
2124 "venusian" = super.buildPythonPackage {
2124 "venusian" = super.buildPythonPackage {
2125 name = "venusian-1.2.0";
2125 name = "venusian-1.2.0";
2126 doCheck = false;
2126 doCheck = false;
2127 src = fetchurl {
2127 src = fetchurl {
2128 url = "https://files.pythonhosted.org/packages/7e/6f/40a9d43ac77cb51cb62be5b5662d170f43f8037bdc4eab56336c4ca92bb7/venusian-1.2.0.tar.gz";
2128 url = "https://files.pythonhosted.org/packages/7e/6f/40a9d43ac77cb51cb62be5b5662d170f43f8037bdc4eab56336c4ca92bb7/venusian-1.2.0.tar.gz";
2129 sha256 = "0ghyx66g8ikx9nx1mnwqvdcqm11i1vlq0hnvwl50s48bp22q5v34";
2129 sha256 = "0ghyx66g8ikx9nx1mnwqvdcqm11i1vlq0hnvwl50s48bp22q5v34";
2130 };
2130 };
2131 meta = {
2131 meta = {
2132 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
2132 license = [ { fullName = "BSD-derived (http://www.repoze.org/LICENSE.txt)"; } ];
2133 };
2133 };
2134 };
2134 };
2135 "vine" = super.buildPythonPackage {
2135 "vine" = super.buildPythonPackage {
2136 name = "vine-1.3.0";
2136 name = "vine-1.3.0";
2137 doCheck = false;
2137 doCheck = false;
2138 src = fetchurl {
2138 src = fetchurl {
2139 url = "https://files.pythonhosted.org/packages/1c/e1/79fb8046e607dd6c2ad05c9b8ebac9d0bd31d086a08f02699e96fc5b3046/vine-1.3.0.tar.gz";
2139 url = "https://files.pythonhosted.org/packages/1c/e1/79fb8046e607dd6c2ad05c9b8ebac9d0bd31d086a08f02699e96fc5b3046/vine-1.3.0.tar.gz";
2140 sha256 = "11ydsbhl1vabndc2r979dv61s6j2b0giq6dgvryifvq1m7bycghk";
2140 sha256 = "11ydsbhl1vabndc2r979dv61s6j2b0giq6dgvryifvq1m7bycghk";
2141 };
2141 };
2142 meta = {
2142 meta = {
2143 license = [ pkgs.lib.licenses.bsdOriginal ];
2143 license = [ pkgs.lib.licenses.bsdOriginal ];
2144 };
2144 };
2145 };
2145 };
2146 "waitress" = super.buildPythonPackage {
2146 "waitress" = super.buildPythonPackage {
2147 name = "waitress-1.3.0";
2147 name = "waitress-1.3.0";
2148 doCheck = false;
2148 doCheck = false;
2149 src = fetchurl {
2149 src = fetchurl {
2150 url = "https://files.pythonhosted.org/packages/43/50/9890471320d5ad22761ae46661cf745f487b1c8c4ec49352b99e1078b970/waitress-1.3.0.tar.gz";
2150 url = "https://files.pythonhosted.org/packages/43/50/9890471320d5ad22761ae46661cf745f487b1c8c4ec49352b99e1078b970/waitress-1.3.0.tar.gz";
2151 sha256 = "09j5dzbbcxib7vdskhx39s1qsydlr4n2p2png71d7mjnr9pnwajf";
2151 sha256 = "09j5dzbbcxib7vdskhx39s1qsydlr4n2p2png71d7mjnr9pnwajf";
2152 };
2152 };
2153 meta = {
2153 meta = {
2154 license = [ pkgs.lib.licenses.zpl21 ];
2154 license = [ pkgs.lib.licenses.zpl21 ];
2155 };
2155 };
2156 };
2156 };
2157 "wcwidth" = super.buildPythonPackage {
2157 "wcwidth" = super.buildPythonPackage {
2158 name = "wcwidth-0.1.7";
2158 name = "wcwidth-0.1.7";
2159 doCheck = false;
2159 doCheck = false;
2160 src = fetchurl {
2160 src = fetchurl {
2161 url = "https://files.pythonhosted.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz";
2161 url = "https://files.pythonhosted.org/packages/55/11/e4a2bb08bb450fdbd42cc709dd40de4ed2c472cf0ccb9e64af22279c5495/wcwidth-0.1.7.tar.gz";
2162 sha256 = "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx";
2162 sha256 = "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx";
2163 };
2163 };
2164 meta = {
2164 meta = {
2165 license = [ pkgs.lib.licenses.mit ];
2165 license = [ pkgs.lib.licenses.mit ];
2166 };
2166 };
2167 };
2167 };
2168 "webencodings" = super.buildPythonPackage {
2168 "webencodings" = super.buildPythonPackage {
2169 name = "webencodings-0.5.1";
2169 name = "webencodings-0.5.1";
2170 doCheck = false;
2170 doCheck = false;
2171 src = fetchurl {
2171 src = fetchurl {
2172 url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz";
2172 url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz";
2173 sha256 = "08qrgrc4hrximb2gqnl69g01s93rhf2842jfxdjljc1dbwj1qsmk";
2173 sha256 = "08qrgrc4hrximb2gqnl69g01s93rhf2842jfxdjljc1dbwj1qsmk";
2174 };
2174 };
2175 meta = {
2175 meta = {
2176 license = [ pkgs.lib.licenses.bsdOriginal ];
2176 license = [ pkgs.lib.licenses.bsdOriginal ];
2177 };
2177 };
2178 };
2178 };
2179 "weberror" = super.buildPythonPackage {
2179 "weberror" = super.buildPythonPackage {
2180 name = "weberror-0.10.3";
2180 name = "weberror-0.10.3";
2181 doCheck = false;
2181 doCheck = false;
2182 propagatedBuildInputs = [
2182 propagatedBuildInputs = [
2183 self."webob"
2183 self."webob"
2184 self."tempita"
2184 self."tempita"
2185 self."pygments"
2185 self."pygments"
2186 self."paste"
2186 self."paste"
2187 ];
2187 ];
2188 src = fetchurl {
2188 src = fetchurl {
2189 url = "https://files.pythonhosted.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz";
2189 url = "https://files.pythonhosted.org/packages/35/76/e7e5c2ce7e9c7f31b54c1ff295a495886d1279a002557d74dd8957346a79/WebError-0.10.3.tar.gz";
2190 sha256 = "0frg4kvycqpj5bi8asfqfs6bxsr2cvjvb6b56c4d1ai1z57kbjx6";
2190 sha256 = "0frg4kvycqpj5bi8asfqfs6bxsr2cvjvb6b56c4d1ai1z57kbjx6";
2191 };
2191 };
2192 meta = {
2192 meta = {
2193 license = [ pkgs.lib.licenses.mit ];
2193 license = [ pkgs.lib.licenses.mit ];
2194 };
2194 };
2195 };
2195 };
2196 "webhelpers" = super.buildPythonPackage {
2196 "webhelpers" = super.buildPythonPackage {
2197 name = "webhelpers-1.3";
2197 name = "webhelpers-1.3";
2198 doCheck = false;
2198 doCheck = false;
2199 propagatedBuildInputs = [
2199 propagatedBuildInputs = [
2200 self."markupsafe"
2200 self."markupsafe"
2201 ];
2201 ];
2202 src = fetchurl {
2202 src = fetchurl {
2203 url = "https://files.pythonhosted.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz";
2203 url = "https://files.pythonhosted.org/packages/ee/68/4d07672821d514184357f1552f2dad923324f597e722de3b016ca4f7844f/WebHelpers-1.3.tar.gz";
2204 sha256 = "10x5i82qdkrvyw18gsybwggfhfpl869siaab89vnndi9x62g51pa";
2204 sha256 = "10x5i82qdkrvyw18gsybwggfhfpl869siaab89vnndi9x62g51pa";
2205 };
2205 };
2206 meta = {
2206 meta = {
2207 license = [ pkgs.lib.licenses.bsdOriginal ];
2207 license = [ pkgs.lib.licenses.bsdOriginal ];
2208 };
2208 };
2209 };
2209 };
2210 "webhelpers2" = super.buildPythonPackage {
2210 "webhelpers2" = super.buildPythonPackage {
2211 name = "webhelpers2-2.0";
2211 name = "webhelpers2-2.0";
2212 doCheck = false;
2212 doCheck = false;
2213 propagatedBuildInputs = [
2213 propagatedBuildInputs = [
2214 self."markupsafe"
2214 self."markupsafe"
2215 self."six"
2215 self."six"
2216 ];
2216 ];
2217 src = fetchurl {
2217 src = fetchurl {
2218 url = "https://files.pythonhosted.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz";
2218 url = "https://files.pythonhosted.org/packages/ff/30/56342c6ea522439e3662427c8d7b5e5b390dff4ff2dc92d8afcb8ab68b75/WebHelpers2-2.0.tar.gz";
2219 sha256 = "0aphva1qmxh83n01p53f5fd43m4srzbnfbz5ajvbx9aj2aipwmcs";
2219 sha256 = "0aphva1qmxh83n01p53f5fd43m4srzbnfbz5ajvbx9aj2aipwmcs";
2220 };
2220 };
2221 meta = {
2221 meta = {
2222 license = [ pkgs.lib.licenses.mit ];
2222 license = [ pkgs.lib.licenses.mit ];
2223 };
2223 };
2224 };
2224 };
2225 "webob" = super.buildPythonPackage {
2225 "webob" = super.buildPythonPackage {
2226 name = "webob-1.8.5";
2226 name = "webob-1.8.5";
2227 doCheck = false;
2227 doCheck = false;
2228 src = fetchurl {
2228 src = fetchurl {
2229 url = "https://files.pythonhosted.org/packages/9d/1a/0c89c070ee2829c934cb6c7082287c822e28236a4fcf90063e6be7c35532/WebOb-1.8.5.tar.gz";
2229 url = "https://files.pythonhosted.org/packages/9d/1a/0c89c070ee2829c934cb6c7082287c822e28236a4fcf90063e6be7c35532/WebOb-1.8.5.tar.gz";
2230 sha256 = "11khpzaxc88q31v25ic330gsf56fwmbdc9b30br8mvp0fmwspah5";
2230 sha256 = "11khpzaxc88q31v25ic330gsf56fwmbdc9b30br8mvp0fmwspah5";
2231 };
2231 };
2232 meta = {
2232 meta = {
2233 license = [ pkgs.lib.licenses.mit ];
2233 license = [ pkgs.lib.licenses.mit ];
2234 };
2234 };
2235 };
2235 };
2236 "webtest" = super.buildPythonPackage {
2236 "webtest" = super.buildPythonPackage {
2237 name = "webtest-2.0.33";
2237 name = "webtest-2.0.33";
2238 doCheck = false;
2238 doCheck = false;
2239 propagatedBuildInputs = [
2239 propagatedBuildInputs = [
2240 self."six"
2240 self."six"
2241 self."webob"
2241 self."webob"
2242 self."waitress"
2242 self."waitress"
2243 self."beautifulsoup4"
2243 self."beautifulsoup4"
2244 ];
2244 ];
2245 src = fetchurl {
2245 src = fetchurl {
2246 url = "https://files.pythonhosted.org/packages/a8/b0/ffc9413b637dbe26e291429bb0f6ed731e518d0cd03da28524a8fe2e8a8f/WebTest-2.0.33.tar.gz";
2246 url = "https://files.pythonhosted.org/packages/a8/b0/ffc9413b637dbe26e291429bb0f6ed731e518d0cd03da28524a8fe2e8a8f/WebTest-2.0.33.tar.gz";
2247 sha256 = "1l3z0cwqslsf4rcrhi2gr8kdfh74wn2dw76376i4g9i38gz8wd21";
2247 sha256 = "1l3z0cwqslsf4rcrhi2gr8kdfh74wn2dw76376i4g9i38gz8wd21";
2248 };
2248 };
2249 meta = {
2249 meta = {
2250 license = [ pkgs.lib.licenses.mit ];
2250 license = [ pkgs.lib.licenses.mit ];
2251 };
2251 };
2252 };
2252 };
2253 "whoosh" = super.buildPythonPackage {
2253 "whoosh" = super.buildPythonPackage {
2254 name = "whoosh-2.7.4";
2254 name = "whoosh-2.7.4";
2255 doCheck = false;
2255 doCheck = false;
2256 src = fetchurl {
2256 src = fetchurl {
2257 url = "https://files.pythonhosted.org/packages/25/2b/6beed2107b148edc1321da0d489afc4617b9ed317ef7b72d4993cad9b684/Whoosh-2.7.4.tar.gz";
2257 url = "https://files.pythonhosted.org/packages/25/2b/6beed2107b148edc1321da0d489afc4617b9ed317ef7b72d4993cad9b684/Whoosh-2.7.4.tar.gz";
2258 sha256 = "10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw";
2258 sha256 = "10qsqdjpbc85fykc1vgcs8xwbgn4l2l52c8d83xf1q59pwyn79bw";
2259 };
2259 };
2260 meta = {
2260 meta = {
2261 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
2261 license = [ pkgs.lib.licenses.bsdOriginal pkgs.lib.licenses.bsd2 ];
2262 };
2262 };
2263 };
2263 };
2264 "ws4py" = super.buildPythonPackage {
2264 "ws4py" = super.buildPythonPackage {
2265 name = "ws4py-0.5.1";
2265 name = "ws4py-0.5.1";
2266 doCheck = false;
2266 doCheck = false;
2267 src = fetchurl {
2267 src = fetchurl {
2268 url = "https://files.pythonhosted.org/packages/53/20/4019a739b2eefe9282d3822ef6a225250af964b117356971bd55e274193c/ws4py-0.5.1.tar.gz";
2268 url = "https://files.pythonhosted.org/packages/53/20/4019a739b2eefe9282d3822ef6a225250af964b117356971bd55e274193c/ws4py-0.5.1.tar.gz";
2269 sha256 = "10slbbf2jm4hpr92jx7kh7mhf48sjl01v2w4d8z3f1p0ybbp7l19";
2269 sha256 = "10slbbf2jm4hpr92jx7kh7mhf48sjl01v2w4d8z3f1p0ybbp7l19";
2270 };
2270 };
2271 meta = {
2271 meta = {
2272 license = [ pkgs.lib.licenses.bsdOriginal ];
2272 license = [ pkgs.lib.licenses.bsdOriginal ];
2273 };
2273 };
2274 };
2274 };
2275 "wsgiref" = super.buildPythonPackage {
2275 "wsgiref" = super.buildPythonPackage {
2276 name = "wsgiref-0.1.2";
2276 name = "wsgiref-0.1.2";
2277 doCheck = false;
2277 doCheck = false;
2278 src = fetchurl {
2278 src = fetchurl {
2279 url = "https://files.pythonhosted.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip";
2279 url = "https://files.pythonhosted.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip";
2280 sha256 = "0y8fyjmpq7vwwm4x732w97qbkw78rjwal5409k04cw4m03411rn7";
2280 sha256 = "0y8fyjmpq7vwwm4x732w97qbkw78rjwal5409k04cw4m03411rn7";
2281 };
2281 };
2282 meta = {
2282 meta = {
2283 license = [ { fullName = "PSF or ZPL"; } ];
2283 license = [ { fullName = "PSF or ZPL"; } ];
2284 };
2284 };
2285 };
2285 };
2286 "zope.cachedescriptors" = super.buildPythonPackage {
2286 "zope.cachedescriptors" = super.buildPythonPackage {
2287 name = "zope.cachedescriptors-4.3.1";
2287 name = "zope.cachedescriptors-4.3.1";
2288 doCheck = false;
2288 doCheck = false;
2289 propagatedBuildInputs = [
2289 propagatedBuildInputs = [
2290 self."setuptools"
2290 self."setuptools"
2291 ];
2291 ];
2292 src = fetchurl {
2292 src = fetchurl {
2293 url = "https://files.pythonhosted.org/packages/2f/89/ebe1890cc6d3291ebc935558fa764d5fffe571018dbbee200e9db78762cb/zope.cachedescriptors-4.3.1.tar.gz";
2293 url = "https://files.pythonhosted.org/packages/2f/89/ebe1890cc6d3291ebc935558fa764d5fffe571018dbbee200e9db78762cb/zope.cachedescriptors-4.3.1.tar.gz";
2294 sha256 = "0jhr3m5p74c6r7k8iv0005b8bfsialih9d7zl5vx38rf5xq1lk8z";
2294 sha256 = "0jhr3m5p74c6r7k8iv0005b8bfsialih9d7zl5vx38rf5xq1lk8z";
2295 };
2295 };
2296 meta = {
2296 meta = {
2297 license = [ pkgs.lib.licenses.zpl21 ];
2297 license = [ pkgs.lib.licenses.zpl21 ];
2298 };
2298 };
2299 };
2299 };
2300 "zope.deprecation" = super.buildPythonPackage {
2300 "zope.deprecation" = super.buildPythonPackage {
2301 name = "zope.deprecation-4.4.0";
2301 name = "zope.deprecation-4.4.0";
2302 doCheck = false;
2302 doCheck = false;
2303 propagatedBuildInputs = [
2303 propagatedBuildInputs = [
2304 self."setuptools"
2304 self."setuptools"
2305 ];
2305 ];
2306 src = fetchurl {
2306 src = fetchurl {
2307 url = "https://files.pythonhosted.org/packages/34/da/46e92d32d545dd067b9436279d84c339e8b16de2ca393d7b892bc1e1e9fd/zope.deprecation-4.4.0.tar.gz";
2307 url = "https://files.pythonhosted.org/packages/34/da/46e92d32d545dd067b9436279d84c339e8b16de2ca393d7b892bc1e1e9fd/zope.deprecation-4.4.0.tar.gz";
2308 sha256 = "1pz2cv7gv9y1r3m0bdv7ks1alagmrn5msm5spwdzkb2by0w36i8d";
2308 sha256 = "1pz2cv7gv9y1r3m0bdv7ks1alagmrn5msm5spwdzkb2by0w36i8d";
2309 };
2309 };
2310 meta = {
2310 meta = {
2311 license = [ pkgs.lib.licenses.zpl21 ];
2311 license = [ pkgs.lib.licenses.zpl21 ];
2312 };
2312 };
2313 };
2313 };
2314 "zope.event" = super.buildPythonPackage {
2314 "zope.event" = super.buildPythonPackage {
2315 name = "zope.event-4.4";
2315 name = "zope.event-4.4";
2316 doCheck = false;
2316 doCheck = false;
2317 propagatedBuildInputs = [
2317 propagatedBuildInputs = [
2318 self."setuptools"
2318 self."setuptools"
2319 ];
2319 ];
2320 src = fetchurl {
2320 src = fetchurl {
2321 url = "https://files.pythonhosted.org/packages/4c/b2/51c0369adcf5be2334280eed230192ab3b03f81f8efda9ddea6f65cc7b32/zope.event-4.4.tar.gz";
2321 url = "https://files.pythonhosted.org/packages/4c/b2/51c0369adcf5be2334280eed230192ab3b03f81f8efda9ddea6f65cc7b32/zope.event-4.4.tar.gz";
2322 sha256 = "1ksbc726av9xacml6jhcfyn828hlhb9xlddpx6fcvnlvmpmpvhk9";
2322 sha256 = "1ksbc726av9xacml6jhcfyn828hlhb9xlddpx6fcvnlvmpmpvhk9";
2323 };
2323 };
2324 meta = {
2324 meta = {
2325 license = [ pkgs.lib.licenses.zpl21 ];
2325 license = [ pkgs.lib.licenses.zpl21 ];
2326 };
2326 };
2327 };
2327 };
2328 "zope.interface" = super.buildPythonPackage {
2328 "zope.interface" = super.buildPythonPackage {
2329 name = "zope.interface-4.6.0";
2329 name = "zope.interface-4.6.0";
2330 doCheck = false;
2330 doCheck = false;
2331 propagatedBuildInputs = [
2331 propagatedBuildInputs = [
2332 self."setuptools"
2332 self."setuptools"
2333 ];
2333 ];
2334 src = fetchurl {
2334 src = fetchurl {
2335 url = "https://files.pythonhosted.org/packages/4e/d0/c9d16bd5b38de44a20c6dc5d5ed80a49626fafcb3db9f9efdc2a19026db6/zope.interface-4.6.0.tar.gz";
2335 url = "https://files.pythonhosted.org/packages/4e/d0/c9d16bd5b38de44a20c6dc5d5ed80a49626fafcb3db9f9efdc2a19026db6/zope.interface-4.6.0.tar.gz";
2336 sha256 = "1rgh2x3rcl9r0v0499kf78xy86rnmanajf4ywmqb943wpk50sg8v";
2336 sha256 = "1rgh2x3rcl9r0v0499kf78xy86rnmanajf4ywmqb943wpk50sg8v";
2337 };
2337 };
2338 meta = {
2338 meta = {
2339 license = [ pkgs.lib.licenses.zpl21 ];
2339 license = [ pkgs.lib.licenses.zpl21 ];
2340 };
2340 };
2341 };
2341 };
2342
2342
2343 ### Test requirements
2343 ### Test requirements
2344
2344
2345
2345
2346 }
2346 }
@@ -1,500 +1,512 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Copyright (C) 2016-2019 RhodeCode GmbH
3 # Copyright (C) 2016-2019 RhodeCode GmbH
4 #
4 #
5 # This program is free software: you can redistribute it and/or modify
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License, version 3
6 # it under the terms of the GNU Affero General Public License, version 3
7 # (only), as published by the Free Software Foundation.
7 # (only), as published by the Free Software Foundation.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU Affero General Public License
14 # You should have received a copy of the GNU Affero General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 #
16 #
17 # This program is dual-licensed. If you wish to learn more about the
17 # This program is dual-licensed. If you wish to learn more about the
18 # RhodeCode Enterprise Edition, including its added features, Support services,
18 # RhodeCode Enterprise Edition, including its added features, Support services,
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
20 from rhodecode.apps._base import add_route_with_slash
20 from rhodecode.apps._base import add_route_with_slash
21
21
22
22
23 def includeme(config):
23 def includeme(config):
24
24
25 # repo creating checks, special cases that aren't repo routes
25 # repo creating checks, special cases that aren't repo routes
26 config.add_route(
26 config.add_route(
27 name='repo_creating',
27 name='repo_creating',
28 pattern='/{repo_name:.*?[^/]}/repo_creating')
28 pattern='/{repo_name:.*?[^/]}/repo_creating')
29
29
30 config.add_route(
30 config.add_route(
31 name='repo_creating_check',
31 name='repo_creating_check',
32 pattern='/{repo_name:.*?[^/]}/repo_creating_check')
32 pattern='/{repo_name:.*?[^/]}/repo_creating_check')
33
33
34 # Summary
34 # Summary
35 # NOTE(marcink): one additional route is defined in very bottom, catch
35 # NOTE(marcink): one additional route is defined in very bottom, catch
36 # all pattern
36 # all pattern
37 config.add_route(
37 config.add_route(
38 name='repo_summary_explicit',
38 name='repo_summary_explicit',
39 pattern='/{repo_name:.*?[^/]}/summary', repo_route=True)
39 pattern='/{repo_name:.*?[^/]}/summary', repo_route=True)
40 config.add_route(
40 config.add_route(
41 name='repo_summary_commits',
41 name='repo_summary_commits',
42 pattern='/{repo_name:.*?[^/]}/summary-commits', repo_route=True)
42 pattern='/{repo_name:.*?[^/]}/summary-commits', repo_route=True)
43
43
44 # Commits
44 # Commits
45 config.add_route(
45 config.add_route(
46 name='repo_commit',
46 name='repo_commit',
47 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}', repo_route=True)
47 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}', repo_route=True)
48
48
49 config.add_route(
49 config.add_route(
50 name='repo_commit_children',
50 name='repo_commit_children',
51 pattern='/{repo_name:.*?[^/]}/changeset_children/{commit_id}', repo_route=True)
51 pattern='/{repo_name:.*?[^/]}/changeset_children/{commit_id}', repo_route=True)
52
52
53 config.add_route(
53 config.add_route(
54 name='repo_commit_parents',
54 name='repo_commit_parents',
55 pattern='/{repo_name:.*?[^/]}/changeset_parents/{commit_id}', repo_route=True)
55 pattern='/{repo_name:.*?[^/]}/changeset_parents/{commit_id}', repo_route=True)
56
56
57 config.add_route(
57 config.add_route(
58 name='repo_commit_raw',
58 name='repo_commit_raw',
59 pattern='/{repo_name:.*?[^/]}/changeset-diff/{commit_id}', repo_route=True)
59 pattern='/{repo_name:.*?[^/]}/changeset-diff/{commit_id}', repo_route=True)
60
60
61 config.add_route(
61 config.add_route(
62 name='repo_commit_patch',
62 name='repo_commit_patch',
63 pattern='/{repo_name:.*?[^/]}/changeset-patch/{commit_id}', repo_route=True)
63 pattern='/{repo_name:.*?[^/]}/changeset-patch/{commit_id}', repo_route=True)
64
64
65 config.add_route(
65 config.add_route(
66 name='repo_commit_download',
66 name='repo_commit_download',
67 pattern='/{repo_name:.*?[^/]}/changeset-download/{commit_id}', repo_route=True)
67 pattern='/{repo_name:.*?[^/]}/changeset-download/{commit_id}', repo_route=True)
68
68
69 config.add_route(
69 config.add_route(
70 name='repo_commit_data',
70 name='repo_commit_data',
71 pattern='/{repo_name:.*?[^/]}/changeset-data/{commit_id}', repo_route=True)
71 pattern='/{repo_name:.*?[^/]}/changeset-data/{commit_id}', repo_route=True)
72
72
73 config.add_route(
73 config.add_route(
74 name='repo_commit_comment_create',
74 name='repo_commit_comment_create',
75 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/create', repo_route=True)
75 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/create', repo_route=True)
76
76
77 config.add_route(
77 config.add_route(
78 name='repo_commit_comment_preview',
78 name='repo_commit_comment_preview',
79 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/preview', repo_route=True)
79 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/preview', repo_route=True)
80
80
81 config.add_route(
81 config.add_route(
82 name='repo_commit_comment_delete',
82 name='repo_commit_comment_delete',
83 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/delete', repo_route=True)
83 pattern='/{repo_name:.*?[^/]}/changeset/{commit_id}/comment/{comment_id}/delete', repo_route=True)
84
84
85 # still working url for backward compat.
85 # still working url for backward compat.
86 config.add_route(
86 config.add_route(
87 name='repo_commit_raw_deprecated',
87 name='repo_commit_raw_deprecated',
88 pattern='/{repo_name:.*?[^/]}/raw-changeset/{commit_id}', repo_route=True)
88 pattern='/{repo_name:.*?[^/]}/raw-changeset/{commit_id}', repo_route=True)
89
89
90 # Files
90 # Files
91 config.add_route(
91 config.add_route(
92 name='repo_archivefile',
92 name='repo_archivefile',
93 pattern='/{repo_name:.*?[^/]}/archive/{fname:.*}', repo_route=True)
93 pattern='/{repo_name:.*?[^/]}/archive/{fname:.*}', repo_route=True)
94
94
95 config.add_route(
95 config.add_route(
96 name='repo_files_diff',
96 name='repo_files_diff',
97 pattern='/{repo_name:.*?[^/]}/diff/{f_path:.*}', repo_route=True)
97 pattern='/{repo_name:.*?[^/]}/diff/{f_path:.*}', repo_route=True)
98 config.add_route( # legacy route to make old links work
98 config.add_route( # legacy route to make old links work
99 name='repo_files_diff_2way_redirect',
99 name='repo_files_diff_2way_redirect',
100 pattern='/{repo_name:.*?[^/]}/diff-2way/{f_path:.*}', repo_route=True)
100 pattern='/{repo_name:.*?[^/]}/diff-2way/{f_path:.*}', repo_route=True)
101
101
102 config.add_route(
102 config.add_route(
103 name='repo_files',
103 name='repo_files',
104 pattern='/{repo_name:.*?[^/]}/files/{commit_id}/{f_path:.*}', repo_route=True)
104 pattern='/{repo_name:.*?[^/]}/files/{commit_id}/{f_path:.*}', repo_route=True)
105 config.add_route(
105 config.add_route(
106 name='repo_files:default_path',
106 name='repo_files:default_path',
107 pattern='/{repo_name:.*?[^/]}/files/{commit_id}/', repo_route=True)
107 pattern='/{repo_name:.*?[^/]}/files/{commit_id}/', repo_route=True)
108 config.add_route(
108 config.add_route(
109 name='repo_files:default_commit',
109 name='repo_files:default_commit',
110 pattern='/{repo_name:.*?[^/]}/files', repo_route=True)
110 pattern='/{repo_name:.*?[^/]}/files', repo_route=True)
111
111
112 config.add_route(
112 config.add_route(
113 name='repo_files:rendered',
113 name='repo_files:rendered',
114 pattern='/{repo_name:.*?[^/]}/render/{commit_id}/{f_path:.*}', repo_route=True)
114 pattern='/{repo_name:.*?[^/]}/render/{commit_id}/{f_path:.*}', repo_route=True)
115
115
116 config.add_route(
116 config.add_route(
117 name='repo_files:annotated',
117 name='repo_files:annotated',
118 pattern='/{repo_name:.*?[^/]}/annotate/{commit_id}/{f_path:.*}', repo_route=True)
118 pattern='/{repo_name:.*?[^/]}/annotate/{commit_id}/{f_path:.*}', repo_route=True)
119 config.add_route(
119 config.add_route(
120 name='repo_files:annotated_previous',
120 name='repo_files:annotated_previous',
121 pattern='/{repo_name:.*?[^/]}/annotate-previous/{commit_id}/{f_path:.*}', repo_route=True)
121 pattern='/{repo_name:.*?[^/]}/annotate-previous/{commit_id}/{f_path:.*}', repo_route=True)
122
122
123 config.add_route(
123 config.add_route(
124 name='repo_nodetree_full',
124 name='repo_nodetree_full',
125 pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/{f_path:.*}', repo_route=True)
125 pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/{f_path:.*}', repo_route=True)
126 config.add_route(
126 config.add_route(
127 name='repo_nodetree_full:default_path',
127 name='repo_nodetree_full:default_path',
128 pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/', repo_route=True)
128 pattern='/{repo_name:.*?[^/]}/nodetree_full/{commit_id}/', repo_route=True)
129
129
130 config.add_route(
130 config.add_route(
131 name='repo_files_nodelist',
131 name='repo_files_nodelist',
132 pattern='/{repo_name:.*?[^/]}/nodelist/{commit_id}/{f_path:.*}', repo_route=True)
132 pattern='/{repo_name:.*?[^/]}/nodelist/{commit_id}/{f_path:.*}', repo_route=True)
133
133
134 config.add_route(
134 config.add_route(
135 name='repo_file_raw',
135 name='repo_file_raw',
136 pattern='/{repo_name:.*?[^/]}/raw/{commit_id}/{f_path:.*}', repo_route=True)
136 pattern='/{repo_name:.*?[^/]}/raw/{commit_id}/{f_path:.*}', repo_route=True)
137
137
138 config.add_route(
138 config.add_route(
139 name='repo_file_download',
139 name='repo_file_download',
140 pattern='/{repo_name:.*?[^/]}/download/{commit_id}/{f_path:.*}', repo_route=True)
140 pattern='/{repo_name:.*?[^/]}/download/{commit_id}/{f_path:.*}', repo_route=True)
141 config.add_route( # backward compat to keep old links working
141 config.add_route( # backward compat to keep old links working
142 name='repo_file_download:legacy',
142 name='repo_file_download:legacy',
143 pattern='/{repo_name:.*?[^/]}/rawfile/{commit_id}/{f_path:.*}',
143 pattern='/{repo_name:.*?[^/]}/rawfile/{commit_id}/{f_path:.*}',
144 repo_route=True)
144 repo_route=True)
145
145
146 config.add_route(
146 config.add_route(
147 name='repo_file_history',
147 name='repo_file_history',
148 pattern='/{repo_name:.*?[^/]}/history/{commit_id}/{f_path:.*}', repo_route=True)
148 pattern='/{repo_name:.*?[^/]}/history/{commit_id}/{f_path:.*}', repo_route=True)
149
149
150 config.add_route(
150 config.add_route(
151 name='repo_file_authors',
151 name='repo_file_authors',
152 pattern='/{repo_name:.*?[^/]}/authors/{commit_id}/{f_path:.*}', repo_route=True)
152 pattern='/{repo_name:.*?[^/]}/authors/{commit_id}/{f_path:.*}', repo_route=True)
153
153
154 config.add_route(
154 config.add_route(
155 name='repo_files_remove_file',
155 name='repo_files_remove_file',
156 pattern='/{repo_name:.*?[^/]}/remove_file/{commit_id}/{f_path:.*}',
156 pattern='/{repo_name:.*?[^/]}/remove_file/{commit_id}/{f_path:.*}',
157 repo_route=True)
157 repo_route=True)
158 config.add_route(
158 config.add_route(
159 name='repo_files_delete_file',
159 name='repo_files_delete_file',
160 pattern='/{repo_name:.*?[^/]}/delete_file/{commit_id}/{f_path:.*}',
160 pattern='/{repo_name:.*?[^/]}/delete_file/{commit_id}/{f_path:.*}',
161 repo_route=True)
161 repo_route=True)
162 config.add_route(
162 config.add_route(
163 name='repo_files_edit_file',
163 name='repo_files_edit_file',
164 pattern='/{repo_name:.*?[^/]}/edit_file/{commit_id}/{f_path:.*}',
164 pattern='/{repo_name:.*?[^/]}/edit_file/{commit_id}/{f_path:.*}',
165 repo_route=True)
165 repo_route=True)
166 config.add_route(
166 config.add_route(
167 name='repo_files_update_file',
167 name='repo_files_update_file',
168 pattern='/{repo_name:.*?[^/]}/update_file/{commit_id}/{f_path:.*}',
168 pattern='/{repo_name:.*?[^/]}/update_file/{commit_id}/{f_path:.*}',
169 repo_route=True)
169 repo_route=True)
170 config.add_route(
170 config.add_route(
171 name='repo_files_add_file',
171 name='repo_files_add_file',
172 pattern='/{repo_name:.*?[^/]}/add_file/{commit_id}/{f_path:.*}',
172 pattern='/{repo_name:.*?[^/]}/add_file/{commit_id}/{f_path:.*}',
173 repo_route=True)
173 repo_route=True)
174 config.add_route(
174 config.add_route(
175 name='repo_files_upload_file',
175 name='repo_files_upload_file',
176 pattern='/{repo_name:.*?[^/]}/upload_file/{commit_id}/{f_path:.*}',
176 pattern='/{repo_name:.*?[^/]}/upload_file/{commit_id}/{f_path:.*}',
177 repo_route=True)
177 repo_route=True)
178 config.add_route(
178 config.add_route(
179 name='repo_files_create_file',
179 name='repo_files_create_file',
180 pattern='/{repo_name:.*?[^/]}/create_file/{commit_id}/{f_path:.*}',
180 pattern='/{repo_name:.*?[^/]}/create_file/{commit_id}/{f_path:.*}',
181 repo_route=True)
181 repo_route=True)
182
182
183 # Refs data
183 # Refs data
184 config.add_route(
184 config.add_route(
185 name='repo_refs_data',
185 name='repo_refs_data',
186 pattern='/{repo_name:.*?[^/]}/refs-data', repo_route=True)
186 pattern='/{repo_name:.*?[^/]}/refs-data', repo_route=True)
187
187
188 config.add_route(
188 config.add_route(
189 name='repo_refs_changelog_data',
189 name='repo_refs_changelog_data',
190 pattern='/{repo_name:.*?[^/]}/refs-data-changelog', repo_route=True)
190 pattern='/{repo_name:.*?[^/]}/refs-data-changelog', repo_route=True)
191
191
192 config.add_route(
192 config.add_route(
193 name='repo_stats',
193 name='repo_stats',
194 pattern='/{repo_name:.*?[^/]}/repo_stats/{commit_id}', repo_route=True)
194 pattern='/{repo_name:.*?[^/]}/repo_stats/{commit_id}', repo_route=True)
195
195
196 # Commits
196 # Commits
197 config.add_route(
197 config.add_route(
198 name='repo_commits',
198 name='repo_commits',
199 pattern='/{repo_name:.*?[^/]}/commits', repo_route=True)
199 pattern='/{repo_name:.*?[^/]}/commits', repo_route=True)
200 config.add_route(
200 config.add_route(
201 name='repo_commits_file',
201 name='repo_commits_file',
202 pattern='/{repo_name:.*?[^/]}/commits/{commit_id}/{f_path:.*}', repo_route=True)
202 pattern='/{repo_name:.*?[^/]}/commits/{commit_id}/{f_path:.*}', repo_route=True)
203 config.add_route(
203 config.add_route(
204 name='repo_commits_elements',
204 name='repo_commits_elements',
205 pattern='/{repo_name:.*?[^/]}/commits_elements', repo_route=True)
205 pattern='/{repo_name:.*?[^/]}/commits_elements', repo_route=True)
206 config.add_route(
206 config.add_route(
207 name='repo_commits_elements_file',
207 name='repo_commits_elements_file',
208 pattern='/{repo_name:.*?[^/]}/commits_elements/{commit_id}/{f_path:.*}', repo_route=True)
208 pattern='/{repo_name:.*?[^/]}/commits_elements/{commit_id}/{f_path:.*}', repo_route=True)
209
209
210 # Changelog (old deprecated name for commits page)
210 # Changelog (old deprecated name for commits page)
211 config.add_route(
211 config.add_route(
212 name='repo_changelog',
212 name='repo_changelog',
213 pattern='/{repo_name:.*?[^/]}/changelog', repo_route=True)
213 pattern='/{repo_name:.*?[^/]}/changelog', repo_route=True)
214 config.add_route(
214 config.add_route(
215 name='repo_changelog_file',
215 name='repo_changelog_file',
216 pattern='/{repo_name:.*?[^/]}/changelog/{commit_id}/{f_path:.*}', repo_route=True)
216 pattern='/{repo_name:.*?[^/]}/changelog/{commit_id}/{f_path:.*}', repo_route=True)
217
217
218 # Compare
218 # Compare
219 config.add_route(
219 config.add_route(
220 name='repo_compare_select',
220 name='repo_compare_select',
221 pattern='/{repo_name:.*?[^/]}/compare', repo_route=True)
221 pattern='/{repo_name:.*?[^/]}/compare', repo_route=True)
222
222
223 config.add_route(
223 config.add_route(
224 name='repo_compare',
224 name='repo_compare',
225 pattern='/{repo_name:.*?[^/]}/compare/{source_ref_type}@{source_ref:.*?}...{target_ref_type}@{target_ref:.*?}', repo_route=True)
225 pattern='/{repo_name:.*?[^/]}/compare/{source_ref_type}@{source_ref:.*?}...{target_ref_type}@{target_ref:.*?}', repo_route=True)
226
226
227 # Tags
227 # Tags
228 config.add_route(
228 config.add_route(
229 name='tags_home',
229 name='tags_home',
230 pattern='/{repo_name:.*?[^/]}/tags', repo_route=True)
230 pattern='/{repo_name:.*?[^/]}/tags', repo_route=True)
231
231
232 # Branches
232 # Branches
233 config.add_route(
233 config.add_route(
234 name='branches_home',
234 name='branches_home',
235 pattern='/{repo_name:.*?[^/]}/branches', repo_route=True)
235 pattern='/{repo_name:.*?[^/]}/branches', repo_route=True)
236
236
237 # Bookmarks
237 # Bookmarks
238 config.add_route(
238 config.add_route(
239 name='bookmarks_home',
239 name='bookmarks_home',
240 pattern='/{repo_name:.*?[^/]}/bookmarks', repo_route=True)
240 pattern='/{repo_name:.*?[^/]}/bookmarks', repo_route=True)
241
241
242 # Forks
242 # Forks
243 config.add_route(
243 config.add_route(
244 name='repo_fork_new',
244 name='repo_fork_new',
245 pattern='/{repo_name:.*?[^/]}/fork', repo_route=True,
245 pattern='/{repo_name:.*?[^/]}/fork', repo_route=True,
246 repo_forbid_when_archived=True,
246 repo_forbid_when_archived=True,
247 repo_accepted_types=['hg', 'git'])
247 repo_accepted_types=['hg', 'git'])
248
248
249 config.add_route(
249 config.add_route(
250 name='repo_fork_create',
250 name='repo_fork_create',
251 pattern='/{repo_name:.*?[^/]}/fork/create', repo_route=True,
251 pattern='/{repo_name:.*?[^/]}/fork/create', repo_route=True,
252 repo_forbid_when_archived=True,
252 repo_forbid_when_archived=True,
253 repo_accepted_types=['hg', 'git'])
253 repo_accepted_types=['hg', 'git'])
254
254
255 config.add_route(
255 config.add_route(
256 name='repo_forks_show_all',
256 name='repo_forks_show_all',
257 pattern='/{repo_name:.*?[^/]}/forks', repo_route=True,
257 pattern='/{repo_name:.*?[^/]}/forks', repo_route=True,
258 repo_accepted_types=['hg', 'git'])
258 repo_accepted_types=['hg', 'git'])
259 config.add_route(
259 config.add_route(
260 name='repo_forks_data',
260 name='repo_forks_data',
261 pattern='/{repo_name:.*?[^/]}/forks/data', repo_route=True,
261 pattern='/{repo_name:.*?[^/]}/forks/data', repo_route=True,
262 repo_accepted_types=['hg', 'git'])
262 repo_accepted_types=['hg', 'git'])
263
263
264 # Pull Requests
264 # Pull Requests
265 config.add_route(
265 config.add_route(
266 name='pullrequest_show',
266 name='pullrequest_show',
267 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}',
267 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}',
268 repo_route=True)
268 repo_route=True)
269
269
270 config.add_route(
270 config.add_route(
271 name='pullrequest_show_all',
271 name='pullrequest_show_all',
272 pattern='/{repo_name:.*?[^/]}/pull-request',
272 pattern='/{repo_name:.*?[^/]}/pull-request',
273 repo_route=True, repo_accepted_types=['hg', 'git'])
273 repo_route=True, repo_accepted_types=['hg', 'git'])
274
274
275 config.add_route(
275 config.add_route(
276 name='pullrequest_show_all_data',
276 name='pullrequest_show_all_data',
277 pattern='/{repo_name:.*?[^/]}/pull-request-data',
277 pattern='/{repo_name:.*?[^/]}/pull-request-data',
278 repo_route=True, repo_accepted_types=['hg', 'git'])
278 repo_route=True, repo_accepted_types=['hg', 'git'])
279
279
280 config.add_route(
280 config.add_route(
281 name='pullrequest_repo_refs',
281 name='pullrequest_repo_refs',
282 pattern='/{repo_name:.*?[^/]}/pull-request/refs/{target_repo_name:.*?[^/]}',
282 pattern='/{repo_name:.*?[^/]}/pull-request/refs/{target_repo_name:.*?[^/]}',
283 repo_route=True)
283 repo_route=True)
284
284
285 config.add_route(
285 config.add_route(
286 name='pullrequest_repo_targets',
286 name='pullrequest_repo_targets',
287 pattern='/{repo_name:.*?[^/]}/pull-request/repo-targets',
287 pattern='/{repo_name:.*?[^/]}/pull-request/repo-targets',
288 repo_route=True)
288 repo_route=True)
289
289
290 config.add_route(
290 config.add_route(
291 name='pullrequest_new',
291 name='pullrequest_new',
292 pattern='/{repo_name:.*?[^/]}/pull-request/new',
292 pattern='/{repo_name:.*?[^/]}/pull-request/new',
293 repo_route=True, repo_accepted_types=['hg', 'git'],
293 repo_route=True, repo_accepted_types=['hg', 'git'],
294 repo_forbid_when_archived=True)
294 repo_forbid_when_archived=True)
295
295
296 config.add_route(
296 config.add_route(
297 name='pullrequest_create',
297 name='pullrequest_create',
298 pattern='/{repo_name:.*?[^/]}/pull-request/create',
298 pattern='/{repo_name:.*?[^/]}/pull-request/create',
299 repo_route=True, repo_accepted_types=['hg', 'git'],
299 repo_route=True, repo_accepted_types=['hg', 'git'],
300 repo_forbid_when_archived=True)
300 repo_forbid_when_archived=True)
301
301
302 config.add_route(
302 config.add_route(
303 name='pullrequest_update',
303 name='pullrequest_update',
304 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/update',
304 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/update',
305 repo_route=True, repo_forbid_when_archived=True)
305 repo_route=True, repo_forbid_when_archived=True)
306
306
307 config.add_route(
307 config.add_route(
308 name='pullrequest_merge',
308 name='pullrequest_merge',
309 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/merge',
309 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/merge',
310 repo_route=True, repo_forbid_when_archived=True)
310 repo_route=True, repo_forbid_when_archived=True)
311
311
312 config.add_route(
312 config.add_route(
313 name='pullrequest_delete',
313 name='pullrequest_delete',
314 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/delete',
314 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/delete',
315 repo_route=True, repo_forbid_when_archived=True)
315 repo_route=True, repo_forbid_when_archived=True)
316
316
317 config.add_route(
317 config.add_route(
318 name='pullrequest_comment_create',
318 name='pullrequest_comment_create',
319 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment',
319 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment',
320 repo_route=True)
320 repo_route=True)
321
321
322 config.add_route(
322 config.add_route(
323 name='pullrequest_comment_delete',
323 name='pullrequest_comment_delete',
324 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/delete',
324 pattern='/{repo_name:.*?[^/]}/pull-request/{pull_request_id:\d+}/comment/{comment_id}/delete',
325 repo_route=True, repo_accepted_types=['hg', 'git'])
325 repo_route=True, repo_accepted_types=['hg', 'git'])
326
326
327 # Artifacts, (EE feature)
327 # Artifacts, (EE feature)
328 config.add_route(
328 config.add_route(
329 name='repo_artifacts_list',
329 name='repo_artifacts_list',
330 pattern='/{repo_name:.*?[^/]}/artifacts', repo_route=True)
330 pattern='/{repo_name:.*?[^/]}/artifacts', repo_route=True)
331
331
332 # Settings
332 # Settings
333 config.add_route(
333 config.add_route(
334 name='edit_repo',
334 name='edit_repo',
335 pattern='/{repo_name:.*?[^/]}/settings', repo_route=True)
335 pattern='/{repo_name:.*?[^/]}/settings', repo_route=True)
336 # update is POST on edit_repo
336 # update is POST on edit_repo
337
337
338 # Settings advanced
338 # Settings advanced
339 config.add_route(
339 config.add_route(
340 name='edit_repo_advanced',
340 name='edit_repo_advanced',
341 pattern='/{repo_name:.*?[^/]}/settings/advanced', repo_route=True)
341 pattern='/{repo_name:.*?[^/]}/settings/advanced', repo_route=True)
342 config.add_route(
342 config.add_route(
343 name='edit_repo_advanced_archive',
343 name='edit_repo_advanced_archive',
344 pattern='/{repo_name:.*?[^/]}/settings/advanced/archive', repo_route=True)
344 pattern='/{repo_name:.*?[^/]}/settings/advanced/archive', repo_route=True)
345 config.add_route(
345 config.add_route(
346 name='edit_repo_advanced_delete',
346 name='edit_repo_advanced_delete',
347 pattern='/{repo_name:.*?[^/]}/settings/advanced/delete', repo_route=True)
347 pattern='/{repo_name:.*?[^/]}/settings/advanced/delete', repo_route=True)
348 config.add_route(
348 config.add_route(
349 name='edit_repo_advanced_locking',
349 name='edit_repo_advanced_locking',
350 pattern='/{repo_name:.*?[^/]}/settings/advanced/locking', repo_route=True)
350 pattern='/{repo_name:.*?[^/]}/settings/advanced/locking', repo_route=True)
351 config.add_route(
351 config.add_route(
352 name='edit_repo_advanced_journal',
352 name='edit_repo_advanced_journal',
353 pattern='/{repo_name:.*?[^/]}/settings/advanced/journal', repo_route=True)
353 pattern='/{repo_name:.*?[^/]}/settings/advanced/journal', repo_route=True)
354 config.add_route(
354 config.add_route(
355 name='edit_repo_advanced_fork',
355 name='edit_repo_advanced_fork',
356 pattern='/{repo_name:.*?[^/]}/settings/advanced/fork', repo_route=True)
356 pattern='/{repo_name:.*?[^/]}/settings/advanced/fork', repo_route=True)
357
357
358 config.add_route(
358 config.add_route(
359 name='edit_repo_advanced_hooks',
359 name='edit_repo_advanced_hooks',
360 pattern='/{repo_name:.*?[^/]}/settings/advanced/hooks', repo_route=True)
360 pattern='/{repo_name:.*?[^/]}/settings/advanced/hooks', repo_route=True)
361
361
362 # Caches
362 # Caches
363 config.add_route(
363 config.add_route(
364 name='edit_repo_caches',
364 name='edit_repo_caches',
365 pattern='/{repo_name:.*?[^/]}/settings/caches', repo_route=True)
365 pattern='/{repo_name:.*?[^/]}/settings/caches', repo_route=True)
366
366
367 # Permissions
367 # Permissions
368 config.add_route(
368 config.add_route(
369 name='edit_repo_perms',
369 name='edit_repo_perms',
370 pattern='/{repo_name:.*?[^/]}/settings/permissions', repo_route=True)
370 pattern='/{repo_name:.*?[^/]}/settings/permissions', repo_route=True)
371
371
372 config.add_route(
373 name='edit_repo_perms_set_private',
374 pattern='/{repo_name:.*?[^/]}/settings/permissions/set_private', repo_route=True)
375
372 # Permissions Branch (EE feature)
376 # Permissions Branch (EE feature)
373 config.add_route(
377 config.add_route(
374 name='edit_repo_perms_branch',
378 name='edit_repo_perms_branch',
375 pattern='/{repo_name:.*?[^/]}/settings/branch_permissions', repo_route=True)
379 pattern='/{repo_name:.*?[^/]}/settings/branch_permissions', repo_route=True)
376 config.add_route(
380 config.add_route(
377 name='edit_repo_perms_branch_delete',
381 name='edit_repo_perms_branch_delete',
378 pattern='/{repo_name:.*?[^/]}/settings/branch_permissions/{rule_id}/delete',
382 pattern='/{repo_name:.*?[^/]}/settings/branch_permissions/{rule_id}/delete',
379 repo_route=True)
383 repo_route=True)
380
384
381 # Maintenance
385 # Maintenance
382 config.add_route(
386 config.add_route(
383 name='edit_repo_maintenance',
387 name='edit_repo_maintenance',
384 pattern='/{repo_name:.*?[^/]}/settings/maintenance', repo_route=True)
388 pattern='/{repo_name:.*?[^/]}/settings/maintenance', repo_route=True)
385
389
386 config.add_route(
390 config.add_route(
387 name='edit_repo_maintenance_execute',
391 name='edit_repo_maintenance_execute',
388 pattern='/{repo_name:.*?[^/]}/settings/maintenance/execute', repo_route=True)
392 pattern='/{repo_name:.*?[^/]}/settings/maintenance/execute', repo_route=True)
389
393
390 # Fields
394 # Fields
391 config.add_route(
395 config.add_route(
392 name='edit_repo_fields',
396 name='edit_repo_fields',
393 pattern='/{repo_name:.*?[^/]}/settings/fields', repo_route=True)
397 pattern='/{repo_name:.*?[^/]}/settings/fields', repo_route=True)
394 config.add_route(
398 config.add_route(
395 name='edit_repo_fields_create',
399 name='edit_repo_fields_create',
396 pattern='/{repo_name:.*?[^/]}/settings/fields/create', repo_route=True)
400 pattern='/{repo_name:.*?[^/]}/settings/fields/create', repo_route=True)
397 config.add_route(
401 config.add_route(
398 name='edit_repo_fields_delete',
402 name='edit_repo_fields_delete',
399 pattern='/{repo_name:.*?[^/]}/settings/fields/{field_id}/delete', repo_route=True)
403 pattern='/{repo_name:.*?[^/]}/settings/fields/{field_id}/delete', repo_route=True)
400
404
401 # Locking
405 # Locking
402 config.add_route(
406 config.add_route(
403 name='repo_edit_toggle_locking',
407 name='repo_edit_toggle_locking',
404 pattern='/{repo_name:.*?[^/]}/settings/toggle_locking', repo_route=True)
408 pattern='/{repo_name:.*?[^/]}/settings/toggle_locking', repo_route=True)
405
409
406 # Remote
410 # Remote
407 config.add_route(
411 config.add_route(
408 name='edit_repo_remote',
412 name='edit_repo_remote',
409 pattern='/{repo_name:.*?[^/]}/settings/remote', repo_route=True)
413 pattern='/{repo_name:.*?[^/]}/settings/remote', repo_route=True)
410 config.add_route(
414 config.add_route(
411 name='edit_repo_remote_pull',
415 name='edit_repo_remote_pull',
412 pattern='/{repo_name:.*?[^/]}/settings/remote/pull', repo_route=True)
416 pattern='/{repo_name:.*?[^/]}/settings/remote/pull', repo_route=True)
413 config.add_route(
417 config.add_route(
414 name='edit_repo_remote_push',
418 name='edit_repo_remote_push',
415 pattern='/{repo_name:.*?[^/]}/settings/remote/push', repo_route=True)
419 pattern='/{repo_name:.*?[^/]}/settings/remote/push', repo_route=True)
416
420
417 # Statistics
421 # Statistics
418 config.add_route(
422 config.add_route(
419 name='edit_repo_statistics',
423 name='edit_repo_statistics',
420 pattern='/{repo_name:.*?[^/]}/settings/statistics', repo_route=True)
424 pattern='/{repo_name:.*?[^/]}/settings/statistics', repo_route=True)
421 config.add_route(
425 config.add_route(
422 name='edit_repo_statistics_reset',
426 name='edit_repo_statistics_reset',
423 pattern='/{repo_name:.*?[^/]}/settings/statistics/update', repo_route=True)
427 pattern='/{repo_name:.*?[^/]}/settings/statistics/update', repo_route=True)
424
428
425 # Issue trackers
429 # Issue trackers
426 config.add_route(
430 config.add_route(
427 name='edit_repo_issuetracker',
431 name='edit_repo_issuetracker',
428 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers', repo_route=True)
432 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers', repo_route=True)
429 config.add_route(
433 config.add_route(
430 name='edit_repo_issuetracker_test',
434 name='edit_repo_issuetracker_test',
431 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/test', repo_route=True)
435 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/test', repo_route=True)
432 config.add_route(
436 config.add_route(
433 name='edit_repo_issuetracker_delete',
437 name='edit_repo_issuetracker_delete',
434 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/delete', repo_route=True)
438 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/delete', repo_route=True)
435 config.add_route(
439 config.add_route(
436 name='edit_repo_issuetracker_update',
440 name='edit_repo_issuetracker_update',
437 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/update', repo_route=True)
441 pattern='/{repo_name:.*?[^/]}/settings/issue_trackers/update', repo_route=True)
438
442
439 # VCS Settings
443 # VCS Settings
440 config.add_route(
444 config.add_route(
441 name='edit_repo_vcs',
445 name='edit_repo_vcs',
442 pattern='/{repo_name:.*?[^/]}/settings/vcs', repo_route=True)
446 pattern='/{repo_name:.*?[^/]}/settings/vcs', repo_route=True)
443 config.add_route(
447 config.add_route(
444 name='edit_repo_vcs_update',
448 name='edit_repo_vcs_update',
445 pattern='/{repo_name:.*?[^/]}/settings/vcs/update', repo_route=True)
449 pattern='/{repo_name:.*?[^/]}/settings/vcs/update', repo_route=True)
446
450
447 # svn pattern
451 # svn pattern
448 config.add_route(
452 config.add_route(
449 name='edit_repo_vcs_svn_pattern_delete',
453 name='edit_repo_vcs_svn_pattern_delete',
450 pattern='/{repo_name:.*?[^/]}/settings/vcs/svn_pattern/delete', repo_route=True)
454 pattern='/{repo_name:.*?[^/]}/settings/vcs/svn_pattern/delete', repo_route=True)
451
455
452 # Repo Review Rules (EE feature)
456 # Repo Review Rules (EE feature)
453 config.add_route(
457 config.add_route(
454 name='repo_reviewers',
458 name='repo_reviewers',
455 pattern='/{repo_name:.*?[^/]}/settings/review/rules', repo_route=True)
459 pattern='/{repo_name:.*?[^/]}/settings/review/rules', repo_route=True)
456
460
457 config.add_route(
461 config.add_route(
458 name='repo_default_reviewers_data',
462 name='repo_default_reviewers_data',
459 pattern='/{repo_name:.*?[^/]}/settings/review/default-reviewers', repo_route=True)
463 pattern='/{repo_name:.*?[^/]}/settings/review/default-reviewers', repo_route=True)
460
464
461 # Repo Automation (EE feature)
465 # Repo Automation (EE feature)
462 config.add_route(
466 config.add_route(
463 name='repo_automation',
467 name='repo_automation',
464 pattern='/{repo_name:.*?[^/]}/settings/automation', repo_route=True)
468 pattern='/{repo_name:.*?[^/]}/settings/automation', repo_route=True)
465
469
466 # Strip
470 # Strip
467 config.add_route(
471 config.add_route(
468 name='edit_repo_strip',
472 name='edit_repo_strip',
469 pattern='/{repo_name:.*?[^/]}/settings/strip', repo_route=True)
473 pattern='/{repo_name:.*?[^/]}/settings/strip', repo_route=True)
470
474
471 config.add_route(
475 config.add_route(
472 name='strip_check',
476 name='strip_check',
473 pattern='/{repo_name:.*?[^/]}/settings/strip_check', repo_route=True)
477 pattern='/{repo_name:.*?[^/]}/settings/strip_check', repo_route=True)
474
478
475 config.add_route(
479 config.add_route(
476 name='strip_execute',
480 name='strip_execute',
477 pattern='/{repo_name:.*?[^/]}/settings/strip_execute', repo_route=True)
481 pattern='/{repo_name:.*?[^/]}/settings/strip_execute', repo_route=True)
478
482
479 # Audit logs
483 # Audit logs
480 config.add_route(
484 config.add_route(
481 name='edit_repo_audit_logs',
485 name='edit_repo_audit_logs',
482 pattern='/{repo_name:.*?[^/]}/settings/audit_logs', repo_route=True)
486 pattern='/{repo_name:.*?[^/]}/settings/audit_logs', repo_route=True)
483
487
484 # ATOM/RSS Feed
488 # ATOM/RSS Feed, shouldn't contain slashes for outlook compatibility
485 config.add_route(
489 config.add_route(
486 name='rss_feed_home',
490 name='rss_feed_home',
491 pattern='/{repo_name:.*?[^/]}/feed-rss', repo_route=True)
492
493 config.add_route(
494 name='atom_feed_home',
495 pattern='/{repo_name:.*?[^/]}/feed-atom', repo_route=True)
496
497 config.add_route(
498 name='rss_feed_home_old',
487 pattern='/{repo_name:.*?[^/]}/feed/rss', repo_route=True)
499 pattern='/{repo_name:.*?[^/]}/feed/rss', repo_route=True)
488
500
489 config.add_route(
501 config.add_route(
490 name='atom_feed_home',
502 name='atom_feed_home_old',
491 pattern='/{repo_name:.*?[^/]}/feed/atom', repo_route=True)
503 pattern='/{repo_name:.*?[^/]}/feed/atom', repo_route=True)
492
504
493 # NOTE(marcink): needs to be at the end for catch-all
505 # NOTE(marcink): needs to be at the end for catch-all
494 add_route_with_slash(
506 add_route_with_slash(
495 config,
507 config,
496 name='repo_summary',
508 name='repo_summary',
497 pattern='/{repo_name:.*?[^/]}', repo_route=True)
509 pattern='/{repo_name:.*?[^/]}', repo_route=True)
498
510
499 # Scan module for configuration decorators.
511 # Scan module for configuration decorators.
500 config.scan('.views', ignore='.tests')
512 config.scan('.views', ignore='.tests')
@@ -1,99 +1,137 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Copyright (C) 2010-2019 RhodeCode GmbH
3 # Copyright (C) 2010-2019 RhodeCode GmbH
4 #
4 #
5 # This program is free software: you can redistribute it and/or modify
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License, version 3
6 # it under the terms of the GNU Affero General Public License, version 3
7 # (only), as published by the Free Software Foundation.
7 # (only), as published by the Free Software Foundation.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU Affero General Public License
14 # You should have received a copy of the GNU Affero General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 #
16 #
17 # This program is dual-licensed. If you wish to learn more about the
17 # This program is dual-licensed. If you wish to learn more about the
18 # RhodeCode Enterprise Edition, including its added features, Support services,
18 # RhodeCode Enterprise Edition, including its added features, Support services,
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
20
20
21 import pytest
21 import pytest
22 from rhodecode.model.auth_token import AuthTokenModel
22 from rhodecode.model.auth_token import AuthTokenModel
23 from rhodecode.tests import TestController
23 from rhodecode.tests import TestController
24
24
25
25
26 def route_path(name, params=None, **kwargs):
26 def route_path(name, params=None, **kwargs):
27 import urllib
27 import urllib
28
28
29 base_url = {
29 base_url = {
30 'rss_feed_home': '/{repo_name}/feed/rss',
30 'rss_feed_home': '/{repo_name}/feed-rss',
31 'atom_feed_home': '/{repo_name}/feed/atom',
31 'atom_feed_home': '/{repo_name}/feed-atom',
32 'rss_feed_home_old': '/{repo_name}/feed/rss',
33 'atom_feed_home_old': '/{repo_name}/feed/atom',
32 }[name].format(**kwargs)
34 }[name].format(**kwargs)
33
35
34 if params:
36 if params:
35 base_url = '{}?{}'.format(base_url, urllib.urlencode(params))
37 base_url = '{}?{}'.format(base_url, urllib.urlencode(params))
36 return base_url
38 return base_url
37
39
38
40
39 class TestFeedView(TestController):
41 class TestFeedView(TestController):
40
42
41 @pytest.mark.parametrize("feed_type,response_types,content_type",[
43 @pytest.mark.parametrize("feed_type,response_types,content_type",[
42 ('rss', ['<rss version="2.0">'],
44 ('rss', ['<rss version="2.0">'],
43 "application/rss+xml"),
45 "application/rss+xml"),
44 ('atom', ['xmlns="http://www.w3.org/2005/Atom"', 'xml:lang="en-us"'],
46 ('atom', ['xmlns="http://www.w3.org/2005/Atom"', 'xml:lang="en-us"'],
45 "application/atom+xml"),
47 "application/atom+xml"),
46 ])
48 ])
47 def test_feed(self, backend, feed_type, response_types, content_type):
49 def test_feed(self, backend, feed_type, response_types, content_type):
48 self.log_user()
50 self.log_user()
49 response = self.app.get(
51 response = self.app.get(
50 route_path('{}_feed_home'.format(feed_type),
52 route_path('{}_feed_home'.format(feed_type),
51 repo_name=backend.repo_name))
53 repo_name=backend.repo_name))
52
54
53 for content in response_types:
55 for content in response_types:
54 response.mustcontain(content)
56 response.mustcontain(content)
55
57
56 assert response.content_type == content_type
58 assert response.content_type == content_type
57
59
58 @pytest.mark.parametrize("feed_type, content_type", [
60 @pytest.mark.parametrize("feed_type, content_type", [
59 ('rss', "application/rss+xml"),
61 ('rss', "application/rss+xml"),
60 ('atom', "application/atom+xml")
62 ('atom', "application/atom+xml")
61 ])
63 ])
62 def test_feed_with_auth_token(
64 def test_feed_with_auth_token(
63 self, backend, user_admin, feed_type, content_type):
65 self, backend, user_admin, feed_type, content_type):
64 auth_token = user_admin.feed_token
66 auth_token = user_admin.feed_token
65 assert auth_token != ''
67 assert auth_token != ''
66
68
67 response = self.app.get(
69 response = self.app.get(
68 route_path(
70 route_path(
69 '{}_feed_home'.format(feed_type),
71 '{}_feed_home'.format(feed_type),
70 repo_name=backend.repo_name,
72 repo_name=backend.repo_name,
71 params=dict(auth_token=auth_token)),
73 params=dict(auth_token=auth_token)),
72 status=200)
74 status=200)
73
75
74 assert response.content_type == content_type
76 assert response.content_type == content_type
75
77
78 @pytest.mark.parametrize("feed_type, content_type", [
79 ('rss', "application/rss+xml"),
80 ('atom', "application/atom+xml")
81 ])
82 def test_feed_with_auth_token_by_uid(
83 self, backend, user_admin, feed_type, content_type):
84 auth_token = user_admin.feed_token
85 assert auth_token != ''
86
87 response = self.app.get(
88 route_path(
89 '{}_feed_home'.format(feed_type),
90 repo_name='_{}'.format(backend.repo.repo_id),
91 params=dict(auth_token=auth_token)),
92 status=200)
93
94 assert response.content_type == content_type
95
96 @pytest.mark.parametrize("feed_type, content_type", [
97 ('rss', "application/rss+xml"),
98 ('atom', "application/atom+xml")
99 ])
100 def test_feed_old_urls_with_auth_token(
101 self, backend, user_admin, feed_type, content_type):
102 auth_token = user_admin.feed_token
103 assert auth_token != ''
104
105 response = self.app.get(
106 route_path(
107 '{}_feed_home_old'.format(feed_type),
108 repo_name=backend.repo_name,
109 params=dict(auth_token=auth_token)),
110 status=200)
111
112 assert response.content_type == content_type
113
76 @pytest.mark.parametrize("feed_type", ['rss', 'atom'])
114 @pytest.mark.parametrize("feed_type", ['rss', 'atom'])
77 def test_feed_with_auth_token_of_wrong_type(
115 def test_feed_with_auth_token_of_wrong_type(
78 self, backend, user_util, feed_type):
116 self, backend, user_util, feed_type):
79 user = user_util.create_user()
117 user = user_util.create_user()
80 auth_token = AuthTokenModel().create(
118 auth_token = AuthTokenModel().create(
81 user.user_id, 'test-token', -1, AuthTokenModel.cls.ROLE_API)
119 user.user_id, 'test-token', -1, AuthTokenModel.cls.ROLE_API)
82 auth_token = auth_token.api_key
120 auth_token = auth_token.api_key
83
121
84 self.app.get(
122 self.app.get(
85 route_path(
123 route_path(
86 '{}_feed_home'.format(feed_type),
124 '{}_feed_home'.format(feed_type),
87 repo_name=backend.repo_name,
125 repo_name=backend.repo_name,
88 params=dict(auth_token=auth_token)),
126 params=dict(auth_token=auth_token)),
89 status=302)
127 status=302)
90
128
91 auth_token = AuthTokenModel().create(
129 auth_token = AuthTokenModel().create(
92 user.user_id, 'test-token', -1, AuthTokenModel.cls.ROLE_FEED)
130 user.user_id, 'test-token', -1, AuthTokenModel.cls.ROLE_FEED)
93 auth_token = auth_token.api_key
131 auth_token = auth_token.api_key
94 self.app.get(
132 self.app.get(
95 route_path(
133 route_path(
96 '{}_feed_home'.format(feed_type),
134 '{}_feed_home'.format(feed_type),
97 repo_name=backend.repo_name,
135 repo_name=backend.repo_name,
98 params=dict(auth_token=auth_token)),
136 params=dict(auth_token=auth_token)),
99 status=200)
137 status=200)
@@ -1,238 +1,242 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Copyright (C) 2017-2019 RhodeCode GmbH
3 # Copyright (C) 2017-2019 RhodeCode GmbH
4 #
4 #
5 # This program is free software: you can redistribute it and/or modify
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License, version 3
6 # it under the terms of the GNU Affero General Public License, version 3
7 # (only), as published by the Free Software Foundation.
7 # (only), as published by the Free Software Foundation.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU Affero General Public License
14 # You should have received a copy of the GNU Affero General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 #
16 #
17 # This program is dual-licensed. If you wish to learn more about the
17 # This program is dual-licensed. If you wish to learn more about the
18 # RhodeCode Enterprise Edition, including its added features, Support services,
18 # RhodeCode Enterprise Edition, including its added features, Support services,
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
20 import pytz
20 import pytz
21 import logging
21 import logging
22
22
23 from pyramid.view import view_config
23 from pyramid.view import view_config
24 from pyramid.response import Response
24 from pyramid.response import Response
25 from webhelpers.feedgenerator import Rss201rev2Feed, Atom1Feed
25 from webhelpers.feedgenerator import Rss201rev2Feed, Atom1Feed
26
26
27 from rhodecode.apps._base import RepoAppView
27 from rhodecode.apps._base import RepoAppView
28 from rhodecode.lib import audit_logger
28 from rhodecode.lib import audit_logger
29 from rhodecode.lib import rc_cache
29 from rhodecode.lib import rc_cache
30 from rhodecode.lib import helpers as h
30 from rhodecode.lib import helpers as h
31 from rhodecode.lib.auth import (
31 from rhodecode.lib.auth import (
32 LoginRequired, HasRepoPermissionAnyDecorator)
32 LoginRequired, HasRepoPermissionAnyDecorator)
33 from rhodecode.lib.diffs import DiffProcessor, LimitedDiffContainer
33 from rhodecode.lib.diffs import DiffProcessor, LimitedDiffContainer
34 from rhodecode.lib.utils2 import str2bool, safe_int, md5_safe
34 from rhodecode.lib.utils2 import str2bool, safe_int, md5_safe
35 from rhodecode.model.db import UserApiKeys, CacheKey
35 from rhodecode.model.db import UserApiKeys, CacheKey
36
36
37 log = logging.getLogger(__name__)
37 log = logging.getLogger(__name__)
38
38
39
39
40 class RepoFeedView(RepoAppView):
40 class RepoFeedView(RepoAppView):
41 def load_default_context(self):
41 def load_default_context(self):
42 c = self._get_local_tmpl_context()
42 c = self._get_local_tmpl_context()
43
44
45 self._load_defaults()
43 self._load_defaults()
46 return c
44 return c
47
45
48 def _get_config(self):
46 def _get_config(self):
49 import rhodecode
47 import rhodecode
50 config = rhodecode.CONFIG
48 config = rhodecode.CONFIG
51
49
52 return {
50 return {
53 'language': 'en-us',
51 'language': 'en-us',
54 'feed_ttl': '5', # TTL of feed,
52 'feed_ttl': '5', # TTL of feed,
55 'feed_include_diff':
53 'feed_include_diff':
56 str2bool(config.get('rss_include_diff', False)),
54 str2bool(config.get('rss_include_diff', False)),
57 'feed_items_per_page':
55 'feed_items_per_page':
58 safe_int(config.get('rss_items_per_page', 20)),
56 safe_int(config.get('rss_items_per_page', 20)),
59 'feed_diff_limit':
57 'feed_diff_limit':
60 # we need to protect from parsing huge diffs here other way
58 # we need to protect from parsing huge diffs here other way
61 # we can kill the server
59 # we can kill the server
62 safe_int(config.get('rss_cut_off_limit', 32 * 1024)),
60 safe_int(config.get('rss_cut_off_limit', 32 * 1024)),
63 }
61 }
64
62
65 def _load_defaults(self):
63 def _load_defaults(self):
66 _ = self.request.translate
64 _ = self.request.translate
67 config = self._get_config()
65 config = self._get_config()
68 # common values for feeds
66 # common values for feeds
69 self.description = _('Changes on %s repository')
67 self.description = _('Changes on %s repository')
70 self.title = self.title = _('%s %s feed') % (self.db_repo_name, '%s')
68 self.title = self.title = _('%s %s feed') % (self.db_repo_name, '%s')
71 self.language = config["language"]
69 self.language = config["language"]
72 self.ttl = config["feed_ttl"]
70 self.ttl = config["feed_ttl"]
73 self.feed_include_diff = config['feed_include_diff']
71 self.feed_include_diff = config['feed_include_diff']
74 self.feed_diff_limit = config['feed_diff_limit']
72 self.feed_diff_limit = config['feed_diff_limit']
75 self.feed_items_per_page = config['feed_items_per_page']
73 self.feed_items_per_page = config['feed_items_per_page']
76
74
77 def _changes(self, commit):
75 def _changes(self, commit):
78 diff_processor = DiffProcessor(
76 diff_processor = DiffProcessor(
79 commit.diff(), diff_limit=self.feed_diff_limit)
77 commit.diff(), diff_limit=self.feed_diff_limit)
80 _parsed = diff_processor.prepare(inline_diff=False)
78 _parsed = diff_processor.prepare(inline_diff=False)
81 limited_diff = isinstance(_parsed, LimitedDiffContainer)
79 limited_diff = isinstance(_parsed, LimitedDiffContainer)
82
80
83 return diff_processor, _parsed, limited_diff
81 return diff_processor, _parsed, limited_diff
84
82
85 def _get_title(self, commit):
83 def _get_title(self, commit):
86 return h.shorter(commit.message, 160)
84 return h.shorter(commit.message, 160)
87
85
88 def _get_description(self, commit):
86 def _get_description(self, commit):
89 _renderer = self.request.get_partial_renderer(
87 _renderer = self.request.get_partial_renderer(
90 'rhodecode:templates/feed/atom_feed_entry.mako')
88 'rhodecode:templates/feed/atom_feed_entry.mako')
91 diff_processor, parsed_diff, limited_diff = self._changes(commit)
89 diff_processor, parsed_diff, limited_diff = self._changes(commit)
92 filtered_parsed_diff, has_hidden_changes = self.path_filter.filter_patchset(parsed_diff)
90 filtered_parsed_diff, has_hidden_changes = self.path_filter.filter_patchset(parsed_diff)
93 return _renderer(
91 return _renderer(
94 'body',
92 'body',
95 commit=commit,
93 commit=commit,
96 parsed_diff=filtered_parsed_diff,
94 parsed_diff=filtered_parsed_diff,
97 limited_diff=limited_diff,
95 limited_diff=limited_diff,
98 feed_include_diff=self.feed_include_diff,
96 feed_include_diff=self.feed_include_diff,
99 diff_processor=diff_processor,
97 diff_processor=diff_processor,
100 has_hidden_changes=has_hidden_changes
98 has_hidden_changes=has_hidden_changes
101 )
99 )
102
100
103 def _set_timezone(self, date, tzinfo=pytz.utc):
101 def _set_timezone(self, date, tzinfo=pytz.utc):
104 if not getattr(date, "tzinfo", None):
102 if not getattr(date, "tzinfo", None):
105 date.replace(tzinfo=tzinfo)
103 date.replace(tzinfo=tzinfo)
106 return date
104 return date
107
105
108 def _get_commits(self):
106 def _get_commits(self):
109 return list(self.rhodecode_vcs_repo[-self.feed_items_per_page:])
107 return list(self.rhodecode_vcs_repo[-self.feed_items_per_page:])
110
108
111 def uid(self, repo_id, commit_id):
109 def uid(self, repo_id, commit_id):
112 return '{}:{}'.format(md5_safe(repo_id), md5_safe(commit_id))
110 return '{}:{}'.format(md5_safe(repo_id), md5_safe(commit_id))
113
111
114 @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
112 @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
115 @HasRepoPermissionAnyDecorator(
113 @HasRepoPermissionAnyDecorator(
116 'repository.read', 'repository.write', 'repository.admin')
114 'repository.read', 'repository.write', 'repository.admin')
117 @view_config(
115 @view_config(
118 route_name='atom_feed_home', request_method='GET',
116 route_name='atom_feed_home', request_method='GET',
119 renderer=None)
117 renderer=None)
118 @view_config(
119 route_name='atom_feed_home_old', request_method='GET',
120 renderer=None)
120 def atom(self):
121 def atom(self):
121 """
122 """
122 Produce an atom-1.0 feed via feedgenerator module
123 Produce an atom-1.0 feed via feedgenerator module
123 """
124 """
124 self.load_default_context()
125 self.load_default_context()
125
126
126 cache_namespace_uid = 'cache_repo_instance.{}_{}'.format(
127 cache_namespace_uid = 'cache_repo_instance.{}_{}'.format(
127 self.db_repo.repo_id, CacheKey.CACHE_TYPE_FEED)
128 self.db_repo.repo_id, CacheKey.CACHE_TYPE_FEED)
128 invalidation_namespace = CacheKey.REPO_INVALIDATION_NAMESPACE.format(
129 invalidation_namespace = CacheKey.REPO_INVALIDATION_NAMESPACE.format(
129 repo_id=self.db_repo.repo_id)
130 repo_id=self.db_repo.repo_id)
130
131
131 region = rc_cache.get_or_create_region('cache_repo_longterm',
132 region = rc_cache.get_or_create_region('cache_repo_longterm',
132 cache_namespace_uid)
133 cache_namespace_uid)
133
134
134 condition = not self.path_filter.is_enabled
135 condition = not self.path_filter.is_enabled
135
136
136 @region.conditional_cache_on_arguments(namespace=cache_namespace_uid,
137 @region.conditional_cache_on_arguments(namespace=cache_namespace_uid,
137 condition=condition)
138 condition=condition)
138 def generate_atom_feed(repo_id, _repo_name, _feed_type):
139 def generate_atom_feed(repo_id, _repo_name, _feed_type):
139 feed = Atom1Feed(
140 feed = Atom1Feed(
140 title=self.title % _repo_name,
141 title=self.title % _repo_name,
141 link=h.route_url('repo_summary', repo_name=_repo_name),
142 link=h.route_url('repo_summary', repo_name=_repo_name),
142 description=self.description % _repo_name,
143 description=self.description % _repo_name,
143 language=self.language,
144 language=self.language,
144 ttl=self.ttl
145 ttl=self.ttl
145 )
146 )
146
147
147 for commit in reversed(self._get_commits()):
148 for commit in reversed(self._get_commits()):
148 date = self._set_timezone(commit.date)
149 date = self._set_timezone(commit.date)
149 feed.add_item(
150 feed.add_item(
150 unique_id=self.uid(repo_id, commit.raw_id),
151 unique_id=self.uid(repo_id, commit.raw_id),
151 title=self._get_title(commit),
152 title=self._get_title(commit),
152 author_name=commit.author,
153 author_name=commit.author,
153 description=self._get_description(commit),
154 description=self._get_description(commit),
154 link=h.route_url(
155 link=h.route_url(
155 'repo_commit', repo_name=_repo_name,
156 'repo_commit', repo_name=_repo_name,
156 commit_id=commit.raw_id),
157 commit_id=commit.raw_id),
157 pubdate=date,)
158 pubdate=date,)
158
159
159 return feed.mime_type, feed.writeString('utf-8')
160 return feed.mime_type, feed.writeString('utf-8')
160
161
161 inv_context_manager = rc_cache.InvalidationContext(
162 inv_context_manager = rc_cache.InvalidationContext(
162 uid=cache_namespace_uid, invalidation_namespace=invalidation_namespace)
163 uid=cache_namespace_uid, invalidation_namespace=invalidation_namespace)
163 with inv_context_manager as invalidation_context:
164 with inv_context_manager as invalidation_context:
164 args = (self.db_repo.repo_id, self.db_repo.repo_name, 'atom',)
165 args = (self.db_repo.repo_id, self.db_repo.repo_name, 'atom',)
165 # re-compute and store cache if we get invalidate signal
166 # re-compute and store cache if we get invalidate signal
166 if invalidation_context.should_invalidate():
167 if invalidation_context.should_invalidate():
167 mime_type, feed = generate_atom_feed.refresh(*args)
168 mime_type, feed = generate_atom_feed.refresh(*args)
168 else:
169 else:
169 mime_type, feed = generate_atom_feed(*args)
170 mime_type, feed = generate_atom_feed(*args)
170
171
171 log.debug('Repo ATOM feed computed in %.3fs',
172 log.debug('Repo ATOM feed computed in %.3fs',
172 inv_context_manager.compute_time)
173 inv_context_manager.compute_time)
173
174
174 response = Response(feed)
175 response = Response(feed)
175 response.content_type = mime_type
176 response.content_type = mime_type
176 return response
177 return response
177
178
178 @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
179 @LoginRequired(auth_token_access=[UserApiKeys.ROLE_FEED])
179 @HasRepoPermissionAnyDecorator(
180 @HasRepoPermissionAnyDecorator(
180 'repository.read', 'repository.write', 'repository.admin')
181 'repository.read', 'repository.write', 'repository.admin')
181 @view_config(
182 @view_config(
182 route_name='rss_feed_home', request_method='GET',
183 route_name='rss_feed_home', request_method='GET',
183 renderer=None)
184 renderer=None)
185 @view_config(
186 route_name='rss_feed_home_old', request_method='GET',
187 renderer=None)
184 def rss(self):
188 def rss(self):
185 """
189 """
186 Produce an rss2 feed via feedgenerator module
190 Produce an rss2 feed via feedgenerator module
187 """
191 """
188 self.load_default_context()
192 self.load_default_context()
189
193
190 cache_namespace_uid = 'cache_repo_instance.{}_{}'.format(
194 cache_namespace_uid = 'cache_repo_instance.{}_{}'.format(
191 self.db_repo.repo_id, CacheKey.CACHE_TYPE_FEED)
195 self.db_repo.repo_id, CacheKey.CACHE_TYPE_FEED)
192 invalidation_namespace = CacheKey.REPO_INVALIDATION_NAMESPACE.format(
196 invalidation_namespace = CacheKey.REPO_INVALIDATION_NAMESPACE.format(
193 repo_id=self.db_repo.repo_id)
197 repo_id=self.db_repo.repo_id)
194 region = rc_cache.get_or_create_region('cache_repo_longterm',
198 region = rc_cache.get_or_create_region('cache_repo_longterm',
195 cache_namespace_uid)
199 cache_namespace_uid)
196
200
197 condition = not self.path_filter.is_enabled
201 condition = not self.path_filter.is_enabled
198
202
199 @region.conditional_cache_on_arguments(namespace=cache_namespace_uid,
203 @region.conditional_cache_on_arguments(namespace=cache_namespace_uid,
200 condition=condition)
204 condition=condition)
201 def generate_rss_feed(repo_id, _repo_name, _feed_type):
205 def generate_rss_feed(repo_id, _repo_name, _feed_type):
202 feed = Rss201rev2Feed(
206 feed = Rss201rev2Feed(
203 title=self.title % _repo_name,
207 title=self.title % _repo_name,
204 link=h.route_url('repo_summary', repo_name=_repo_name),
208 link=h.route_url('repo_summary', repo_name=_repo_name),
205 description=self.description % _repo_name,
209 description=self.description % _repo_name,
206 language=self.language,
210 language=self.language,
207 ttl=self.ttl
211 ttl=self.ttl
208 )
212 )
209
213
210 for commit in reversed(self._get_commits()):
214 for commit in reversed(self._get_commits()):
211 date = self._set_timezone(commit.date)
215 date = self._set_timezone(commit.date)
212 feed.add_item(
216 feed.add_item(
213 unique_id=self.uid(repo_id, commit.raw_id),
217 unique_id=self.uid(repo_id, commit.raw_id),
214 title=self._get_title(commit),
218 title=self._get_title(commit),
215 author_name=commit.author,
219 author_name=commit.author,
216 description=self._get_description(commit),
220 description=self._get_description(commit),
217 link=h.route_url(
221 link=h.route_url(
218 'repo_commit', repo_name=_repo_name,
222 'repo_commit', repo_name=_repo_name,
219 commit_id=commit.raw_id),
223 commit_id=commit.raw_id),
220 pubdate=date,)
224 pubdate=date,)
221
225
222 return feed.mime_type, feed.writeString('utf-8')
226 return feed.mime_type, feed.writeString('utf-8')
223
227
224 inv_context_manager = rc_cache.InvalidationContext(
228 inv_context_manager = rc_cache.InvalidationContext(
225 uid=cache_namespace_uid, invalidation_namespace=invalidation_namespace)
229 uid=cache_namespace_uid, invalidation_namespace=invalidation_namespace)
226 with inv_context_manager as invalidation_context:
230 with inv_context_manager as invalidation_context:
227 args = (self.db_repo.repo_id, self.db_repo.repo_name, 'rss',)
231 args = (self.db_repo.repo_id, self.db_repo.repo_name, 'rss',)
228 # re-compute and store cache if we get invalidate signal
232 # re-compute and store cache if we get invalidate signal
229 if invalidation_context.should_invalidate():
233 if invalidation_context.should_invalidate():
230 mime_type, feed = generate_rss_feed.refresh(*args)
234 mime_type, feed = generate_rss_feed.refresh(*args)
231 else:
235 else:
232 mime_type, feed = generate_rss_feed(*args)
236 mime_type, feed = generate_rss_feed(*args)
233 log.debug(
237 log.debug(
234 'Repo RSS feed computed in %.3fs', inv_context_manager.compute_time)
238 'Repo RSS feed computed in %.3fs', inv_context_manager.compute_time)
235
239
236 response = Response(feed)
240 response = Response(feed)
237 response.content_type = mime_type
241 response.content_type = mime_type
238 return response
242 return response
@@ -1,107 +1,134 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Copyright (C) 2011-2019 RhodeCode GmbH
3 # Copyright (C) 2011-2019 RhodeCode GmbH
4 #
4 #
5 # This program is free software: you can redistribute it and/or modify
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License, version 3
6 # it under the terms of the GNU Affero General Public License, version 3
7 # (only), as published by the Free Software Foundation.
7 # (only), as published by the Free Software Foundation.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU Affero General Public License
14 # You should have received a copy of the GNU Affero General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16 #
16 #
17 # This program is dual-licensed. If you wish to learn more about the
17 # This program is dual-licensed. If you wish to learn more about the
18 # RhodeCode Enterprise Edition, including its added features, Support services,
18 # RhodeCode Enterprise Edition, including its added features, Support services,
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
19 # and proprietary license terms, please see https://rhodecode.com/licenses/
20
20
21 import logging
21 import logging
22
22
23 from pyramid.httpexceptions import HTTPFound
23 from pyramid.httpexceptions import HTTPFound
24 from pyramid.view import view_config
24 from pyramid.view import view_config
25
25
26 from rhodecode import events
26 from rhodecode import events
27 from rhodecode.apps._base import RepoAppView
27 from rhodecode.apps._base import RepoAppView
28 from rhodecode.lib import helpers as h
28 from rhodecode.lib import helpers as h
29 from rhodecode.lib import audit_logger
29 from rhodecode.lib import audit_logger
30 from rhodecode.lib.auth import (
30 from rhodecode.lib.auth import (
31 LoginRequired, HasRepoPermissionAnyDecorator, CSRFRequired)
31 LoginRequired, HasRepoPermissionAnyDecorator, CSRFRequired)
32 from rhodecode.lib.utils2 import safe_int
32 from rhodecode.lib.utils2 import safe_int
33 from rhodecode.model.db import UserGroup
33 from rhodecode.model.db import UserGroup
34 from rhodecode.model.forms import RepoPermsForm
34 from rhodecode.model.forms import RepoPermsForm
35 from rhodecode.model.meta import Session
35 from rhodecode.model.meta import Session
36 from rhodecode.model.repo import RepoModel
36 from rhodecode.model.repo import RepoModel
37
37
38 log = logging.getLogger(__name__)
38 log = logging.getLogger(__name__)
39
39
40
40
41 class RepoSettingsPermissionsView(RepoAppView):
41 class RepoSettingsPermissionsView(RepoAppView):
42
42
43 def load_default_context(self):
43 def load_default_context(self):
44 c = self._get_local_tmpl_context()
44 c = self._get_local_tmpl_context()
45 return c
45 return c
46
46
47 @LoginRequired()
47 @LoginRequired()
48 @HasRepoPermissionAnyDecorator('repository.admin')
48 @HasRepoPermissionAnyDecorator('repository.admin')
49 @view_config(
49 @view_config(
50 route_name='edit_repo_perms', request_method='GET',
50 route_name='edit_repo_perms', request_method='GET',
51 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
51 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
52 def edit_permissions(self):
52 def edit_permissions(self):
53 _ = self.request.translate
53 _ = self.request.translate
54 c = self.load_default_context()
54 c = self.load_default_context()
55 c.active = 'permissions'
55 c.active = 'permissions'
56 if self.request.GET.get('branch_permissions'):
56 if self.request.GET.get('branch_permissions'):
57 h.flash(_('Explicitly add user or user group with write+ '
57 h.flash(_('Explicitly add user or user group with write+ '
58 'permission to modify their branch permissions.'),
58 'permission to modify their branch permissions.'),
59 category='notice')
59 category='notice')
60 return self._get_template_context(c)
60 return self._get_template_context(c)
61
61
62 @LoginRequired()
62 @LoginRequired()
63 @HasRepoPermissionAnyDecorator('repository.admin')
63 @HasRepoPermissionAnyDecorator('repository.admin')
64 @CSRFRequired()
64 @CSRFRequired()
65 @view_config(
65 @view_config(
66 route_name='edit_repo_perms', request_method='POST',
66 route_name='edit_repo_perms', request_method='POST',
67 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
67 renderer='rhodecode:templates/admin/repos/repo_edit.mako')
68 def edit_permissions_update(self):
68 def edit_permissions_update(self):
69 _ = self.request.translate
69 _ = self.request.translate
70 c = self.load_default_context()
70 c = self.load_default_context()
71 c.active = 'permissions'
71 c.active = 'permissions'
72 data = self.request.POST
72 data = self.request.POST
73 # store private flag outside of HTML to verify if we can modify
73 # store private flag outside of HTML to verify if we can modify
74 # default user permissions, prevents submission of FAKE post data
74 # default user permissions, prevents submission of FAKE post data
75 # into the form for private repos
75 # into the form for private repos
76 data['repo_private'] = self.db_repo.private
76 data['repo_private'] = self.db_repo.private
77 form = RepoPermsForm(self.request.translate)().to_python(data)
77 form = RepoPermsForm(self.request.translate)().to_python(data)
78 changes = RepoModel().update_permissions(
78 changes = RepoModel().update_permissions(
79 self.db_repo_name, form['perm_additions'], form['perm_updates'],
79 self.db_repo_name, form['perm_additions'], form['perm_updates'],
80 form['perm_deletions'])
80 form['perm_deletions'])
81
81
82 action_data = {
82 action_data = {
83 'added': changes['added'],
83 'added': changes['added'],
84 'updated': changes['updated'],
84 'updated': changes['updated'],
85 'deleted': changes['deleted'],
85 'deleted': changes['deleted'],
86 }
86 }
87 audit_logger.store_web(
87 audit_logger.store_web(
88 'repo.edit.permissions', action_data=action_data,
88 'repo.edit.permissions', action_data=action_data,
89 user=self._rhodecode_user, repo=self.db_repo)
89 user=self._rhodecode_user, repo=self.db_repo)
90
90
91 Session().commit()
91 Session().commit()
92 h.flash(_('Repository permissions updated'), category='success')
92 h.flash(_('Repository permissions updated'), category='success')
93
93
94 affected_user_ids = []
94 affected_user_ids = []
95 for change in changes['added'] + changes['updated'] + changes['deleted']:
95 for change in changes['added'] + changes['updated'] + changes['deleted']:
96 if change['type'] == 'user':
96 if change['type'] == 'user':
97 affected_user_ids.append(change['id'])
97 affected_user_ids.append(change['id'])
98 if change['type'] == 'user_group':
98 if change['type'] == 'user_group':
99 user_group = UserGroup.get(safe_int(change['id']))
99 user_group = UserGroup.get(safe_int(change['id']))
100 if user_group:
100 if user_group:
101 group_members_ids = [x.user_id for x in user_group.members]
101 group_members_ids = [x.user_id for x in user_group.members]
102 affected_user_ids.extend(group_members_ids)
102 affected_user_ids.extend(group_members_ids)
103
103
104 events.trigger(events.UserPermissionsChange(affected_user_ids))
104 events.trigger(events.UserPermissionsChange(affected_user_ids))
105
105
106 raise HTTPFound(
106 raise HTTPFound(
107 h.route_path('edit_repo_perms', repo_name=self.db_repo_name))
107 h.route_path('edit_repo_perms', repo_name=self.db_repo_name))
108
109 @LoginRequired()
110 @HasRepoPermissionAnyDecorator('repository.admin')
111 @CSRFRequired()
112 @view_config(
113 route_name='edit_repo_perms_set_private', request_method='POST',
114 renderer='json_ext')
115 def edit_permissions_set_private_repo(self):
116 _ = self.request.translate
117 self.load_default_context()
118
119 try:
120 RepoModel().update(
121 self.db_repo, **{'repo_private': True, 'repo_name': self.db_repo_name})
122 Session().commit()
123
124 h.flash(_('Repository `{}` private mode set successfully').format(self.db_repo_name),
125 category='success')
126 except Exception:
127 log.exception("Exception during update of repository")
128 h.flash(_('Error occurred during update of repository {}').format(
129 self.db_repo_name), category='error')
130
131 return {
132 'redirect_url': h.route_path('edit_repo_perms', repo_name=self.db_repo_name),
133 'private': True
134 }
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
General Comments 0
You need to be logged in to leave comments. Login now