From 713dc39b9ecadcd2663713b1efaccfd86c8c1fbb Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sat, 13 Jul 2019 20:21:15 +0200 Subject: [PATCH 1/8] Ignore JetBrains IDE files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d096524..0ba3238 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ dist/ htmlcov/ build/ _build/ +.idea/ From 12a6b34550081b2fbd681a440d8aabb7cf85a62e Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sat, 13 Jul 2019 21:51:27 +0200 Subject: [PATCH 2/8] Start 0.2.5 development - Use pipenv to manage dependencies during development - Bump version number to 0.2.5.dev1 --- Pipfile | 15 ++ Pipfile.lock | 447 ++++++++++++++++++++++++++++++++++++++++++ jandd/sphinxext/ip.py | 2 +- setup.py | 2 +- 4 files changed, 464 insertions(+), 2 deletions(-) create mode 100644 Pipfile create mode 100644 Pipfile.lock diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..1cd0e5c --- /dev/null +++ b/Pipfile @@ -0,0 +1,15 @@ +[[source]] +name = "pypi" +url = "https://pypi.org/simple" +verify_ssl = true + +[dev-packages] +sphinx = ">=2" +path-py = ">=8.2.1" +ipcalc = ">=1.99" + +[packages] +jandd-sphinxext-ip = {editable = true,path = "."} + +[requires] +python_version = "3.7" diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 0000000..8b55181 --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,447 @@ +{ + "_meta": { + "hash": { + "sha256": "96edfa7ba368051ba2cc33bd6acfb1406f2b4f5f999d306d9ef62309a67fd324" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.7" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "alabaster": { + "hashes": [ + "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359", + "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02" + ], + "version": "==0.7.12" + }, + "babel": { + "hashes": [ + "sha256:af92e6106cb7c55286b25b38ad7695f8b4efb36a90ba483d7f7a6628c46158ab", + "sha256:e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28" + ], + "version": "==2.7.0" + }, + "certifi": { + "hashes": [ + "sha256:046832c04d4e752f37383b628bc601a7ea7211496b4638f6514d0e5b9acc4939", + "sha256:945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695" + ], + "version": "==2019.6.16" + }, + "chardet": { + "hashes": [ + "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", + "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + ], + "version": "==3.0.4" + }, + "docutils": { + "hashes": [ + "sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6", + "sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274", + "sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6" + ], + "version": "==0.14" + }, + "idna": { + "hashes": [ + "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", + "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" + ], + "version": "==2.8" + }, + "imagesize": { + "hashes": [ + "sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8", + "sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5" + ], + "version": "==1.1.0" + }, + "ipcalc": { + "hashes": [ + "sha256:17b9d85859ef70e1996426a723d3891f6b99dd0e283986ea92c37a06601725d9" + ], + "version": "==1.99.0" + }, + "jandd-sphinxext-ip": { + "editable": true, + "path": "." + }, + "jinja2": { + "hashes": [ + "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013", + "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b" + ], + "version": "==2.10.1" + }, + "markupsafe": { + "hashes": [ + "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", + "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", + "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", + "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", + "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", + "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", + "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", + "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", + "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", + "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", + "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", + "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", + "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", + "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", + "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", + "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", + "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", + "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", + "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", + "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", + "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", + "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", + "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", + "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", + "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", + "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", + "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", + "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7" + ], + "version": "==1.1.1" + }, + "packaging": { + "hashes": [ + "sha256:0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af", + "sha256:9e1cbf8c12b1f1ce0bb5344b8d7ecf66a6f8a6e91bcb0c84593ed6d3ab5c4ab3" + ], + "version": "==19.0" + }, + "pygments": { + "hashes": [ + "sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127", + "sha256:881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297" + ], + "version": "==2.4.2" + }, + "pyparsing": { + "hashes": [ + "sha256:1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a", + "sha256:9b6323ef4ab914af344ba97510e966d64ba91055d6b9afa6b30799340e89cc03" + ], + "version": "==2.4.0" + }, + "pytz": { + "hashes": [ + "sha256:303879e36b721603cc54604edcac9d20401bdbe31e1e4fdee5b9f98d5d31dfda", + "sha256:d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141" + ], + "version": "==2019.1" + }, + "requests": { + "hashes": [ + "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4", + "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31" + ], + "version": "==2.22.0" + }, + "six": { + "hashes": [ + "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", + "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73" + ], + "version": "==1.12.0" + }, + "snowballstemmer": { + "hashes": [ + "sha256:9f3b9ffe0809d174f7047e121431acf99c89a7040f0ca84f94ba53a498e6d0c9" + ], + "version": "==1.9.0" + }, + "sphinx": { + "hashes": [ + "sha256:22538e1bbe62b407cf5a8aabe1bb15848aa66bb79559f42f5202bbce6b757a69", + "sha256:f9a79e746b87921cabc3baa375199c6076d1270cee53915dbd24fdbeaaacc427" + ], + "version": "==2.1.2" + }, + "sphinxcontrib-applehelp": { + "hashes": [ + "sha256:edaa0ab2b2bc74403149cb0209d6775c96de797dfd5b5e2a71981309efab3897", + "sha256:fb8dee85af95e5c30c91f10e7eb3c8967308518e0f7488a2828ef7bc191d0d5d" + ], + "version": "==1.0.1" + }, + "sphinxcontrib-devhelp": { + "hashes": [ + "sha256:6c64b077937330a9128a4da74586e8c2130262f014689b4b89e2d08ee7294a34", + "sha256:9512ecb00a2b0821a146736b39f7aeb90759834b07e81e8cc23a9c70bacb9981" + ], + "version": "==1.0.1" + }, + "sphinxcontrib-htmlhelp": { + "hashes": [ + "sha256:4670f99f8951bd78cd4ad2ab962f798f5618b17675c35c5ac3b2132a14ea8422", + "sha256:d4fd39a65a625c9df86d7fa8a2d9f3cd8299a3a4b15db63b50aac9e161d8eff7" + ], + "version": "==1.0.2" + }, + "sphinxcontrib-jsmath": { + "hashes": [ + "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", + "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8" + ], + "version": "==1.0.1" + }, + "sphinxcontrib-qthelp": { + "hashes": [ + "sha256:513049b93031beb1f57d4daea74068a4feb77aa5630f856fcff2e50de14e9a20", + "sha256:79465ce11ae5694ff165becda529a600c754f4bc459778778c7017374d4d406f" + ], + "version": "==1.0.2" + }, + "sphinxcontrib-serializinghtml": { + "hashes": [ + "sha256:c0efb33f8052c04fd7a26c0a07f1678e8512e0faec19f4aa8f2473a8b81d5227", + "sha256:db6615af393650bf1151a6cd39120c29abaf93cc60db8c48eb2dddbfdc3a9768" + ], + "version": "==1.1.3" + }, + "urllib3": { + "hashes": [ + "sha256:b246607a25ac80bedac05c6f282e3cdaf3afb65420fd024ac94435cabe6e18d1", + "sha256:dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232" + ], + "version": "==1.25.3" + } + }, + "develop": { + "alabaster": { + "hashes": [ + "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359", + "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02" + ], + "version": "==0.7.12" + }, + "babel": { + "hashes": [ + "sha256:af92e6106cb7c55286b25b38ad7695f8b4efb36a90ba483d7f7a6628c46158ab", + "sha256:e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28" + ], + "version": "==2.7.0" + }, + "certifi": { + "hashes": [ + "sha256:046832c04d4e752f37383b628bc601a7ea7211496b4638f6514d0e5b9acc4939", + "sha256:945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695" + ], + "version": "==2019.6.16" + }, + "chardet": { + "hashes": [ + "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", + "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + ], + "version": "==3.0.4" + }, + "docutils": { + "hashes": [ + "sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6", + "sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274", + "sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6" + ], + "version": "==0.14" + }, + "idna": { + "hashes": [ + "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", + "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" + ], + "version": "==2.8" + }, + "imagesize": { + "hashes": [ + "sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8", + "sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5" + ], + "version": "==1.1.0" + }, + "importlib-metadata": { + "hashes": [ + "sha256:6dfd58dfe281e8d240937776065dd3624ad5469c835248219bd16cf2e12dbeb7", + "sha256:cb6ee23b46173539939964df59d3d72c3e0c1b5d54b84f1d8a7e912fe43612db" + ], + "version": "==0.18" + }, + "ipcalc": { + "hashes": [ + "sha256:17b9d85859ef70e1996426a723d3891f6b99dd0e283986ea92c37a06601725d9" + ], + "version": "==1.99.0" + }, + "jinja2": { + "hashes": [ + "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013", + "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b" + ], + "version": "==2.10.1" + }, + "markupsafe": { + "hashes": [ + "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", + "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", + "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", + "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", + "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", + "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", + "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", + "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", + "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", + "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", + "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", + "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", + "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", + "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", + "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", + "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", + "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", + "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", + "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", + "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", + "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", + "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", + "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", + "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", + "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", + "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", + "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", + "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7" + ], + "version": "==1.1.1" + }, + "packaging": { + "hashes": [ + "sha256:0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af", + "sha256:9e1cbf8c12b1f1ce0bb5344b8d7ecf66a6f8a6e91bcb0c84593ed6d3ab5c4ab3" + ], + "version": "==19.0" + }, + "path-py": { + "hashes": [ + "sha256:e107a3a8834a97be2a047f4b641822afc76a2b78352610102782732e6b389aa3" + ], + "index": "pypi", + "version": "==12.0.1" + }, + "pygments": { + "hashes": [ + "sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127", + "sha256:881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297" + ], + "version": "==2.4.2" + }, + "pyparsing": { + "hashes": [ + "sha256:1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a", + "sha256:9b6323ef4ab914af344ba97510e966d64ba91055d6b9afa6b30799340e89cc03" + ], + "version": "==2.4.0" + }, + "pytz": { + "hashes": [ + "sha256:303879e36b721603cc54604edcac9d20401bdbe31e1e4fdee5b9f98d5d31dfda", + "sha256:d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141" + ], + "version": "==2019.1" + }, + "requests": { + "hashes": [ + "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4", + "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31" + ], + "version": "==2.22.0" + }, + "six": { + "hashes": [ + "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", + "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73" + ], + "version": "==1.12.0" + }, + "snowballstemmer": { + "hashes": [ + "sha256:9f3b9ffe0809d174f7047e121431acf99c89a7040f0ca84f94ba53a498e6d0c9" + ], + "version": "==1.9.0" + }, + "sphinx": { + "hashes": [ + "sha256:22538e1bbe62b407cf5a8aabe1bb15848aa66bb79559f42f5202bbce6b757a69", + "sha256:f9a79e746b87921cabc3baa375199c6076d1270cee53915dbd24fdbeaaacc427" + ], + "version": "==2.1.2" + }, + "sphinxcontrib-applehelp": { + "hashes": [ + "sha256:edaa0ab2b2bc74403149cb0209d6775c96de797dfd5b5e2a71981309efab3897", + "sha256:fb8dee85af95e5c30c91f10e7eb3c8967308518e0f7488a2828ef7bc191d0d5d" + ], + "version": "==1.0.1" + }, + "sphinxcontrib-devhelp": { + "hashes": [ + "sha256:6c64b077937330a9128a4da74586e8c2130262f014689b4b89e2d08ee7294a34", + "sha256:9512ecb00a2b0821a146736b39f7aeb90759834b07e81e8cc23a9c70bacb9981" + ], + "version": "==1.0.1" + }, + "sphinxcontrib-htmlhelp": { + "hashes": [ + "sha256:4670f99f8951bd78cd4ad2ab962f798f5618b17675c35c5ac3b2132a14ea8422", + "sha256:d4fd39a65a625c9df86d7fa8a2d9f3cd8299a3a4b15db63b50aac9e161d8eff7" + ], + "version": "==1.0.2" + }, + "sphinxcontrib-jsmath": { + "hashes": [ + "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", + "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8" + ], + "version": "==1.0.1" + }, + "sphinxcontrib-qthelp": { + "hashes": [ + "sha256:513049b93031beb1f57d4daea74068a4feb77aa5630f856fcff2e50de14e9a20", + "sha256:79465ce11ae5694ff165becda529a600c754f4bc459778778c7017374d4d406f" + ], + "version": "==1.0.2" + }, + "sphinxcontrib-serializinghtml": { + "hashes": [ + "sha256:c0efb33f8052c04fd7a26c0a07f1678e8512e0faec19f4aa8f2473a8b81d5227", + "sha256:db6615af393650bf1151a6cd39120c29abaf93cc60db8c48eb2dddbfdc3a9768" + ], + "version": "==1.1.3" + }, + "urllib3": { + "hashes": [ + "sha256:b246607a25ac80bedac05c6f282e3cdaf3afb65420fd024ac94435cabe6e18d1", + "sha256:dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232" + ], + "version": "==1.25.3" + }, + "zipp": { + "hashes": [ + "sha256:4970c3758f4e89a7857a973b1e2a5d75bcdc47794442f2e2dd4fe8e0466e809a", + "sha256:8a5712cfd3bb4248015eb3b0b3c54a5f6ee3f2425963ef2a0125b8bc40aafaec" + ], + "version": "==0.5.2" + } + } +} diff --git a/jandd/sphinxext/ip.py b/jandd/sphinxext/ip.py index e390667..ed2dc04 100644 --- a/jandd/sphinxext/ip.py +++ b/jandd/sphinxext/ip.py @@ -23,7 +23,7 @@ from sphinx.locale import l_ from sphinx.roles import XRefRole from sphinx.util.nodes import make_refnode -__version__ = '0.2.4' +__version__ = '0.2.5.dev1' def ip_object_anchor(typ, path): diff --git a/setup.py b/setup.py index 77907b8..c9596fc 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages -version = '0.2.4' +version = '0.2.5.dev1' with open('README.rst') as readme: description = readme.read() + "\n\n" From fc809c10413738abdea7477efa0a1131746efc10 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sat, 13 Jul 2019 21:52:26 +0200 Subject: [PATCH 3/8] Document new repository location --- README.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 522567b..da40be4 100644 --- a/README.rst +++ b/README.rst @@ -13,10 +13,8 @@ Development The extension is developed in a git repository that can be cloned by running:: - git clone https://git.dittberner.info/sphinxext-ip.git + git clone https://git.dittberner.info/jan/sphinxext-ip.git -A repository browser is available at -https://git.dittberner.info/?p=sphinxext-ip.git. Contributors ============ From 585085250ec44c757e5c8e939075476684d0b085 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sat, 13 Jul 2019 21:52:52 +0200 Subject: [PATCH 4/8] Fix compatibility with Sphinx 2.1 - Fix deprecation warnings - Fix missing API in tests - Fix relative imports in tests - use proper logger --- jandd/sphinxext/ip.py | 54 +++++++++++++++++++++++++++---------------- tests/run.py | 6 ++--- tests/test_ip.py | 2 +- tests/util.py | 23 +++++++++--------- 4 files changed, 48 insertions(+), 37 deletions(-) diff --git a/jandd/sphinxext/ip.py b/jandd/sphinxext/ip.py index ed2dc04..96efbe8 100644 --- a/jandd/sphinxext/ip.py +++ b/jandd/sphinxext/ip.py @@ -18,14 +18,18 @@ from docutils.parsers.rst import Directive from sphinx import addnodes from sphinx.domains import Domain, ObjType -from sphinx.environment import NoUri -from sphinx.locale import l_ +from sphinx.errors import NoUri +from sphinx.locale import _ from sphinx.roles import XRefRole +from sphinx.util import logging from sphinx.util.nodes import make_refnode __version__ = '0.2.5.dev1' +logger = logging.getLogger(__name__) + + def ip_object_anchor(typ, path): path = re.sub(r'[.:/]', '-', path) return typ.lower() + '-' + path @@ -52,13 +56,17 @@ class IPXRefRole(XRefRole): super(IPXRefRole, self).__init__( innernodeclass=innernodeclass, **kwargs) - def __call__(self, typ, rawtext, text, lineno, inliner, - options={}, content=[]): + def __cal__(self, typ, rawtext, text, lineno, inliner, + options=None, content=None): + if content is None: + content = [] + if options is None: + options = {} try: Network(text) except ValueError as e: env = inliner.document.settings.env - env.warn(env.docname, "invalid ip address/range %s" % text, lineno) + logger.warning("invalid ip address/range %s" % text, location=(env.docname, lineno)) return [nodes.literal(text, text), []] return super(IPXRefRole, self).__call__( typ, rawtext, text, lineno, inliner, options, content) @@ -140,20 +148,20 @@ class IPv4Range(IPRange): typ = 'v4range' def get_prefix_title(self): - return l_('IPv4 address range ') + return _('IPv4 address range ') def get_index_text(self): - return "%s; %s" % (l_('IPv4 range'), self.rangespec) + return "%s; %s" % (_('IPv4 range'), self.rangespec) class IPv6Range(IPRange): typ = 'v6range' def get_prefix_title(self): - return l_('IPv6 address range ') + return _('IPv6 address range ') def get_index_text(self): - return "%s; %s" % (l_('IPv6 range'), self.rangespec) + return "%s; %s" % (_('IPv6 range'), self.rangespec) class IPDomain(Domain): @@ -164,10 +172,10 @@ class IPDomain(Domain): label = 'IP addresses and ranges.' object_types = { - 'v4': ObjType(l_('v4'), 'v4', 'obj'), - 'v6': ObjType(l_('v6'), 'v6', 'obj'), - 'v4range': ObjType(l_('v4range'), 'v4range', 'obj'), - 'v6range': ObjType(l_('v6range'), 'v6range', 'obj'), + 'v4': ObjType(_('v4'), 'v4', 'obj'), + 'v6': ObjType(_('v6'), 'v6', 'obj'), + 'v4range': ObjType(_('v4range'), 'v4range', 'obj'), + 'v6range': ObjType(_('v6range'), 'v6range', 'obj'), } directives = { @@ -176,10 +184,10 @@ class IPDomain(Domain): } roles = { - 'v4': IPXRefRole('v4', l_('IPv4 address')), - 'v6': IPXRefRole('v6', l_('IPv6 address')), - 'v4range': IPXRefRole('v4range', l_('IPv4 range')), - 'v6range': IPXRefRole('v6range', l_('IPv6 range')), + 'v4': IPXRefRole('v4', _('IPv4 address')), + 'v6': IPXRefRole('v6', _('IPv6 address')), + 'v4range': IPXRefRole('v4range', _('IPv4 range')), + 'v6range': IPXRefRole('v6range', _('IPv6 range')), } initial_data = { @@ -277,7 +285,7 @@ def process_ip_nodes(app, doctree, fromdocname): env = app.builder.env domaindata = env.domaindata[IPDomain.name] - header = (l_('IP address'), l_('Used by')) + header = (_('IP address'), _('Used by')) colwidths = (1, 3) for node in doctree.traverse(ip_range): @@ -286,8 +294,14 @@ def process_ip_nodes(app, doctree, fromdocname): ips = {} for key, value in [ (ip_info['ip'], ip_info) for ip_info in - domaindata['ips'] if ip_info['ip'] in net + domaindata['ips'] ]: + try: + if not key in net: + continue + except ValueError as e: + logger.info("invalid IP address info %s", e.args) + continue addrlist = ips.get(key, []) addrlist.append(value) ips[key] = addrlist @@ -337,7 +351,7 @@ def process_ip_nodes(app, doctree, fromdocname): tbody += create_table_row([para, refnode]) content.append(table) else: - para = nodes.paragraph(l_('No IP addresses in this range')) + para = nodes.paragraph(_('No IP addresses in this range')) content.append(para) node.replace_self(content) diff --git a/tests/run.py b/tests/run.py index 95236c2..64be58a 100755 --- a/tests/run.py +++ b/tests/run.py @@ -29,13 +29,11 @@ def run(extra_args=[]): print("The sphinx package is needed to run the jandd.sphinxext.ip " "test suite.") - import test_ip + from .test_ip import TestIPExtension print("Running jandd.sphinxext.ip test suite ...") - suite = unittest.TestLoader().loadTestsFromTestCase( - test_ip.TestIPExtension - ) + suite = unittest.TestLoader().loadTestsFromTestCase(TestIPExtension) unittest.TextTestRunner(verbosity=2).run(suite) diff --git a/tests/test_ip.py b/tests/test_ip.py index 8d83348..a150025 100644 --- a/tests/test_ip.py +++ b/tests/test_ip.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from io import StringIO -from util import TestApp, test_root +from .util import TestApp, test_root import unittest diff --git a/tests/util.py b/tests/util.py index 1420769..d3df98a 100644 --- a/tests/util.py +++ b/tests/util.py @@ -7,21 +7,14 @@ :license: BSD, see LICENSE for details. """ -import sys import io -import tempfile import shutil - -try: - from functools import wraps -except ImportError: - # functools is new in 2.4 - wraps = lambda f: (lambda w: w) - -from sphinx import application -from sphinx.ext.autodoc import AutoDirective +import sys +import tempfile +from functools import wraps from path import Path +from sphinx import application __all__ = [ 'test_root', @@ -40,6 +33,7 @@ def _excstr(exc): return str(tuple(map(_excstr, exc))) return exc.__name__ + def raises(exc, func, *args, **kwds): """ Raise :exc:`AssertionError` if ``func(*args, **kwds)`` does not @@ -53,6 +47,7 @@ def raises(exc, func, *args, **kwds): raise AssertionError('%s did not raise %s' % (func.__name__, _excstr(exc))) + def raises_msg(exc, msg, func, *args, **kwds): """ Raise :exc:`AssertionError` if ``func(*args, **kwds)`` does not @@ -71,6 +66,7 @@ class Struct(object): def __init__(self, **kwds): self.__dict__.update(kwds) + class ListOutput(object): """ File-like object that collects written text in a list. @@ -85,6 +81,7 @@ class ListOutput(object): def write(self, text): self.content.append(text) + class TestApp(application.Sphinx): """ A subclass of :class:`Sphinx` that runs on the test root, with some @@ -139,7 +136,6 @@ class TestApp(application.Sphinx): freshenv, warningiserror, tags) def cleanup(self, doctrees=False): - AutoDirective._registry.clear() for tree in self.cleanup_trees: shutil.rmtree(tree, True) @@ -176,6 +172,7 @@ def gen_with_app(*args, **kwargs): return deco return generator + def with_tempdir(func): def new_func(): tempdir = Path(tempfile.mkdtemp()) @@ -184,10 +181,12 @@ def with_tempdir(func): new_func.__name__ = func.__name__ return new_func + def write_file(name, contents): f = open(str(name), 'wb') f.write(contents) f.close() + def sprint(*args): sys.stderr.write(' '.join(map(str, args)) + '\n') From b243fc6249f4c2ef48267b31b6dd7479bbb79e86 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sat, 13 Jul 2019 21:54:14 +0200 Subject: [PATCH 5/8] Document changes --- CHANGES.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 6a9b6bd..adc87db 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,6 +1,11 @@ Changes ======= +0.2.5 - 2019-07-13 +------------------ + +* update to Sphinx 2.1 API + 0.2.4 - 2016-05-07 ------------------ From 281f740589dff59a17316223b13fa051c51769e5 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sat, 13 Jul 2019 22:02:42 +0200 Subject: [PATCH 6/8] Bump version to 0.3.0 --- CHANGES.rst | 2 +- jandd/sphinxext/ip.py | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index adc87db..254dbe2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,7 +1,7 @@ Changes ======= -0.2.5 - 2019-07-13 +0.3.0 - 2019-07-13 ------------------ * update to Sphinx 2.1 API diff --git a/jandd/sphinxext/ip.py b/jandd/sphinxext/ip.py index 96efbe8..a984823 100644 --- a/jandd/sphinxext/ip.py +++ b/jandd/sphinxext/ip.py @@ -24,7 +24,7 @@ from sphinx.roles import XRefRole from sphinx.util import logging from sphinx.util.nodes import make_refnode -__version__ = '0.2.5.dev1' +__version__ = '0.3.0' logger = logging.getLogger(__name__) diff --git a/setup.py b/setup.py index c9596fc..625549e 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages -version = '0.2.5.dev1' +version = '0.3.0' with open('README.rst') as readme: description = readme.read() + "\n\n" From 94ad22758782672ec7ba5e50bfbdfc2ca0c1602c Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sat, 13 Jul 2019 22:03:46 +0200 Subject: [PATCH 7/8] Add coverage to dev dependencies --- Pipfile | 1 + Pipfile.lock | 39 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/Pipfile b/Pipfile index 1cd0e5c..ec4aaa1 100644 --- a/Pipfile +++ b/Pipfile @@ -7,6 +7,7 @@ verify_ssl = true sphinx = ">=2" path-py = ">=8.2.1" ipcalc = ">=1.99" +coverage = "*" [packages] jandd-sphinxext-ip = {editable = true,path = "."} diff --git a/Pipfile.lock b/Pipfile.lock index 8b55181..03e8090 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "96edfa7ba368051ba2cc33bd6acfb1406f2b4f5f999d306d9ef62309a67fd324" + "sha256": "edcc5620a12672fb3be533e7efc2c73137336fb931ae5d554e7b3ff1df538e2a" }, "pipfile-spec": 6, "requires": { @@ -250,6 +250,43 @@ ], "version": "==3.0.4" }, + "coverage": { + "hashes": [ + "sha256:3684fabf6b87a369017756b551cef29e505cb155ddb892a7a29277b978da88b9", + "sha256:39e088da9b284f1bd17c750ac672103779f7954ce6125fd4382134ac8d152d74", + "sha256:3c205bc11cc4fcc57b761c2da73b9b72a59f8d5ca89979afb0c1c6f9e53c7390", + "sha256:465ce53a8c0f3a7950dfb836438442f833cf6663d407f37d8c52fe7b6e56d7e8", + "sha256:48020e343fc40f72a442c8a1334284620f81295256a6b6ca6d8aa1350c763bbe", + "sha256:5296fc86ab612ec12394565c500b412a43b328b3907c0d14358950d06fd83baf", + "sha256:5f61bed2f7d9b6a9ab935150a6b23d7f84b8055524e7be7715b6513f3328138e", + "sha256:68a43a9f9f83693ce0414d17e019daee7ab3f7113a70c79a3dd4c2f704e4d741", + "sha256:6b8033d47fe22506856fe450470ccb1d8ba1ffb8463494a15cfc96392a288c09", + "sha256:7ad7536066b28863e5835e8cfeaa794b7fe352d99a8cded9f43d1161be8e9fbd", + "sha256:7bacb89ccf4bedb30b277e96e4cc68cd1369ca6841bde7b005191b54d3dd1034", + "sha256:839dc7c36501254e14331bcb98b27002aa415e4af7ea039d9009409b9d2d5420", + "sha256:8f9a95b66969cdea53ec992ecea5406c5bd99c9221f539bca1e8406b200ae98c", + "sha256:932c03d2d565f75961ba1d3cec41ddde00e162c5b46d03f7423edcb807734eab", + "sha256:988529edadc49039d205e0aa6ce049c5ccda4acb2d6c3c5c550c17e8c02c05ba", + "sha256:998d7e73548fe395eeb294495a04d38942edb66d1fa61eb70418871bc621227e", + "sha256:9de60893fb447d1e797f6bf08fdf0dbcda0c1e34c1b06c92bd3a363c0ea8c609", + "sha256:9e80d45d0c7fcee54e22771db7f1b0b126fb4a6c0a2e5afa72f66827207ff2f2", + "sha256:a545a3dfe5082dc8e8c3eb7f8a2cf4f2870902ff1860bd99b6198cfd1f9d1f49", + "sha256:a5d8f29e5ec661143621a8f4de51adfb300d7a476224156a39a392254f70687b", + "sha256:aca06bfba4759bbdb09bf52ebb15ae20268ee1f6747417837926fae990ebc41d", + "sha256:bb23b7a6fd666e551a3094ab896a57809e010059540ad20acbeec03a154224ce", + "sha256:bfd1d0ae7e292105f29d7deaa9d8f2916ed8553ab9d5f39ec65bcf5deadff3f9", + "sha256:c62ca0a38958f541a73cf86acdab020c2091631c137bd359c4f5bddde7b75fd4", + "sha256:c709d8bda72cf4cd348ccec2a4881f2c5848fd72903c185f363d361b2737f773", + "sha256:c968a6aa7e0b56ecbd28531ddf439c2ec103610d3e2bf3b75b813304f8cb7723", + "sha256:df785d8cb80539d0b55fd47183264b7002077859028dfe3070cf6359bf8b2d9c", + "sha256:f406628ca51e0ae90ae76ea8398677a921b36f0bd71aab2099dfed08abd0322f", + "sha256:f46087bbd95ebae244a0eda01a618aff11ec7a069b15a3ef8f6b520db523dcf1", + "sha256:f8019c5279eb32360ca03e9fac40a12667715546eed5c5eb59eb381f2f501260", + "sha256:fc5f4d209733750afd2714e9109816a29500718b32dd9a5db01c0cb3a019b96a" + ], + "index": "pypi", + "version": "==4.5.3" + }, "docutils": { "hashes": [ "sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6", From ba3baef5a149cc883b233819ab45e1db0ef6dfb8 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Sat, 13 Jul 2019 22:06:28 +0200 Subject: [PATCH 8/8] Add twine to dev dependencies --- Pipfile | 1 + Pipfile.lock | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/Pipfile b/Pipfile index ec4aaa1..7952e50 100644 --- a/Pipfile +++ b/Pipfile @@ -8,6 +8,7 @@ sphinx = ">=2" path-py = ">=8.2.1" ipcalc = ">=1.99" coverage = "*" +twine = "*" [packages] jandd-sphinxext-ip = {editable = true,path = "."} diff --git a/Pipfile.lock b/Pipfile.lock index 03e8090..af921a4 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "edcc5620a12672fb3be533e7efc2c73137336fb931ae5d554e7b3ff1df538e2a" + "sha256": "d00501a073a864406cc8ea83dda284c5afa64bf1d883db0fee21ce317536536c" }, "pipfile-spec": 6, "requires": { @@ -236,6 +236,13 @@ ], "version": "==2.7.0" }, + "bleach": { + "hashes": [ + "sha256:213336e49e102af26d9cde77dd2d0397afabc5a6bf2fed985dc35b5d1e285a16", + "sha256:3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa" + ], + "version": "==3.1.0" + }, "certifi": { "hashes": [ "sha256:046832c04d4e752f37383b628bc601a7ea7211496b4638f6514d0e5b9acc4939", @@ -376,6 +383,13 @@ "index": "pypi", "version": "==12.0.1" }, + "pkginfo": { + "hashes": [ + "sha256:7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb", + "sha256:a6d9e40ca61ad3ebd0b72fbadd4fba16e4c0e4df0428c041e01e06eb6ee71f32" + ], + "version": "==1.5.0.1" + }, "pygments": { "hashes": [ "sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127", @@ -397,6 +411,13 @@ ], "version": "==2019.1" }, + "readme-renderer": { + "hashes": [ + "sha256:bb16f55b259f27f75f640acf5e00cf897845a8b3e4731b5c1a436e4b8529202f", + "sha256:c8532b79afc0375a85f10433eca157d6b50f7d6990f337fa498c96cd4bfc203d" + ], + "version": "==24.0" + }, "requests": { "hashes": [ "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4", @@ -404,6 +425,13 @@ ], "version": "==2.22.0" }, + "requests-toolbelt": { + "hashes": [ + "sha256:380606e1d10dc85c3bd47bf5a6095f815ec007be7a8b69c878507068df059e6f", + "sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0" + ], + "version": "==0.9.1" + }, "six": { "hashes": [ "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", @@ -466,6 +494,21 @@ ], "version": "==1.1.3" }, + "tqdm": { + "hashes": [ + "sha256:14a285392c32b6f8222ecfbcd217838f88e11630affe9006cd0e94c7eff3cb61", + "sha256:25d4c0ea02a305a688e7e9c2cdc8f862f989ef2a4701ab28ee963295f5b109ab" + ], + "version": "==4.32.2" + }, + "twine": { + "hashes": [ + "sha256:0fb0bfa3df4f62076cab5def36b1a71a2e4acb4d1fa5c97475b048117b1a6446", + "sha256:d6c29c933ecfc74e9b1d9fa13aa1f87c5d5770e119f5a4ce032092f0ff5b14dc" + ], + "index": "pypi", + "version": "==1.13.0" + }, "urllib3": { "hashes": [ "sha256:b246607a25ac80bedac05c6f282e3cdaf3afb65420fd024ac94435cabe6e18d1", @@ -473,6 +516,13 @@ ], "version": "==1.25.3" }, + "webencodings": { + "hashes": [ + "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", + "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" + ], + "version": "==0.5.1" + }, "zipp": { "hashes": [ "sha256:4970c3758f4e89a7857a973b1e2a5d75bcdc47794442f2e2dd4fe8e0466e809a",