From ac1a57a63dec0f68361147f9e130ad1da46cc097 Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Thu, 17 Dec 2020 17:45:37 -0500 Subject: [PATCH 01/12] work in progress updating to django 3.1+ --- .python-version | 2 +- Pipfile | 6 +- Pipfile.lock | 646 ++++++++++-------- README.asciidoc | 5 + .../apps/content/templates/book_list.html | 2 +- .../content/templates/book_list_page.html | 4 +- .../apps/content/templates/browsebooks.html | 2 +- gitensite/apps/content/templates/faq.html | 2 +- gitensite/apps/content/templates/frame.html | 5 +- .../apps/content/templates/get-involved.html | 2 +- gitensite/apps/content/templates/header.html | 4 +- gitensite/apps/content/templates/home.html | 4 +- gitensite/apps/content/templates/license.html | 4 +- gitensite/apps/content/templates/listing.html | 2 +- .../partials/featured-books.htmldjango | 4 +- gitensite/apps/content/templates/updates.html | 2 +- gitensite/settings.py | 4 +- gitensite/urls.py | 4 +- 18 files changed, 380 insertions(+), 324 deletions(-) diff --git a/.python-version b/.python-version index 5b34131..a5c4c76 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.6.7 +3.9.0 diff --git a/Pipfile b/Pipfile index 2896248..25badcf 100644 --- a/Pipfile +++ b/Pipfile @@ -6,12 +6,12 @@ verify_ssl = true [dev-packages] [packages] -django = "==1.11.28" +django = ">=3.1.4" gitberg = "==0.7.2" sorl-thumbnail = "*" django-extensions = "*" django-zurb-foundation = "*" -django-fontawesome = "*" +django-fontawesome-5 = "*" django-storages = "*" django-el-pagination = "*" django-debug-toolbar = "*" @@ -24,4 +24,4 @@ boto3 = "*" appdirs = "==1.4.3" [requires] -python_version = "3.6" +python_version = "3.9" diff --git a/Pipfile.lock b/Pipfile.lock index 2f8456e..36c7219 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "f8b52754aa59db9ac41595ca8851917cffbb398828d2411c9e625623704969ef" + "sha256": "a04081e70ece6c612b4563e02f17f3d375767925861a479ef6cdee466e16b211" }, "pipfile-spec": 6, "requires": { - "python_version": "3.6" + "python_version": "3.9" }, "sources": [ { @@ -24,28 +24,36 @@ "index": "pypi", "version": "==1.4.3" }, + "asgiref": { + "hashes": [ + "sha256:5ee950735509d04eb673bd7f7120f8fa1c9e2df495394992c73234d526907e17", + "sha256:7162a3cb30ab0609f1a4c95938fd73e8604f63bdba516a7f7d64b83ff09478f0" + ], + "markers": "python_version >= '3.5'", + "version": "==3.3.1" + }, "beautifulsoup4": { "hashes": [ - "sha256:05fd825eb01c290877657a56df4c6e4c311b3965bda790c613a3d6fb01a5462a", - "sha256:9fbb4d6e48ecd30bcacc5b63b94088192dcda178513b2ae3c394229f8911b887", - "sha256:e1505eeed31b0f4ce2dbb3bc8eb256c04cc2b3b72af7d551a4ab6efd5cbe5dae" + "sha256:4c98143716ef1cb40bf7f39a8e3eec8f8b009509e74904ba3a7b315431577e35", + "sha256:84729e322ad1d5b4d25f805bfa05b902dd96450f43842c4e99067d5e1369eb25", + "sha256:fff47e031e34ec82bf17e00da8f592fe7de69aeea38be00523c04623c04fb666" ], - "version": "==4.8.2" + "version": "==4.9.3" }, "boto3": { "hashes": [ - "sha256:629ce3be236b6e0aed52358146eea9ffa7679d6cd1cc9b3e12332226270d6499", - "sha256:b1351e62136fae29be8fcbb1c4890f1d72017d57e33051d435a8bf9f71212fde" + "sha256:18d7ba5d623d4794f439201ab900c9c14a50019bc52d9113b0a2bb2e1ef9af2c", + "sha256:1ddfd307d409e7bc792bd12923078f59c2f56fbba4065c320b3f768481bbbbf7" ], "index": "pypi", - "version": "==1.11.14" + "version": "==1.16.38" }, "botocore": { "hashes": [ - "sha256:34ad4d73e6bef5c8ad956c66354611628cdebd431fe2927261ed9c068b9cfb7a", - "sha256:6570f2ba046956d5b548ab2346d32f713ecf8b8cb098a839d73fcf832ccfa223" + "sha256:1f1ecb1b0c6ffc8fcdd5eeb40f33e986dfe9724dc66c83017014a0506af6378a", + "sha256:38ccc132c5b9d1e7a4dd37af78061fd2dd0e4fd611f527b409a4e9a679a85cdb" ], - "version": "==1.14.14" + "version": "==1.19.38" }, "cachecontrol": { "hashes": [ @@ -63,76 +71,86 @@ }, "certifi": { "hashes": [ - "sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3", - "sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f" + "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c", + "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830" ], - "version": "==2019.11.28" + "version": "==2020.12.5" }, "cffi": { "hashes": [ - "sha256:001bf3242a1bb04d985d63e138230802c6c8d4db3668fb545fb5005ddf5bb5ff", - "sha256:00789914be39dffba161cfc5be31b55775de5ba2235fe49aa28c148236c4e06b", - "sha256:028a579fc9aed3af38f4892bdcc7390508adabc30c6af4a6e4f611b0c680e6ac", - "sha256:14491a910663bf9f13ddf2bc8f60562d6bc5315c1f09c704937ef17293fb85b0", - "sha256:1cae98a7054b5c9391eb3249b86e0e99ab1e02bb0cc0575da191aedadbdf4384", - "sha256:2089ed025da3919d2e75a4d963d008330c96751127dd6f73c8dc0c65041b4c26", - "sha256:2d384f4a127a15ba701207f7639d94106693b6cd64173d6c8988e2c25f3ac2b6", - "sha256:337d448e5a725bba2d8293c48d9353fc68d0e9e4088d62a9571def317797522b", - "sha256:399aed636c7d3749bbed55bc907c3288cb43c65c4389964ad5ff849b6370603e", - "sha256:3b911c2dbd4f423b4c4fcca138cadde747abdb20d196c4a48708b8a2d32b16dd", - "sha256:3d311bcc4a41408cf5854f06ef2c5cab88f9fded37a3b95936c9879c1640d4c2", - "sha256:62ae9af2d069ea2698bf536dcfe1e4eed9090211dbaafeeedf5cb6c41b352f66", - "sha256:66e41db66b47d0d8672d8ed2708ba91b2f2524ece3dee48b5dfb36be8c2f21dc", - "sha256:675686925a9fb403edba0114db74e741d8181683dcf216be697d208857e04ca8", - "sha256:7e63cbcf2429a8dbfe48dcc2322d5f2220b77b2e17b7ba023d6166d84655da55", - "sha256:8a6c688fefb4e1cd56feb6c511984a6c4f7ec7d2a1ff31a10254f3c817054ae4", - "sha256:8c0ffc886aea5df6a1762d0019e9cb05f825d0eec1f520c51be9d198701daee5", - "sha256:95cd16d3dee553f882540c1ffe331d085c9e629499ceadfbda4d4fde635f4b7d", - "sha256:99f748a7e71ff382613b4e1acc0ac83bf7ad167fb3802e35e90d9763daba4d78", - "sha256:b8c78301cefcf5fd914aad35d3c04c2b21ce8629b5e4f4e45ae6812e461910fa", - "sha256:c420917b188a5582a56d8b93bdd8e0f6eca08c84ff623a4c16e809152cd35793", - "sha256:c43866529f2f06fe0edc6246eb4faa34f03fe88b64a0a9a942561c8e22f4b71f", - "sha256:cab50b8c2250b46fe738c77dbd25ce017d5e6fb35d3407606e7a4180656a5a6a", - "sha256:cef128cb4d5e0b3493f058f10ce32365972c554572ff821e175dbc6f8ff6924f", - "sha256:cf16e3cf6c0a5fdd9bc10c21687e19d29ad1fe863372b5543deaec1039581a30", - "sha256:e56c744aa6ff427a607763346e4170629caf7e48ead6921745986db3692f987f", - "sha256:e577934fc5f8779c554639376beeaa5657d54349096ef24abe8c74c5d9c117c3", - "sha256:f2b0fa0c01d8a0c7483afd9f31d7ecf2d71760ca24499c8697aeb5ca37dc090c" - ], - "version": "==1.14.0" + "sha256:00a1ba5e2e95684448de9b89888ccd02c98d512064b4cb987d48f4b40aa0421e", + "sha256:00e28066507bfc3fe865a31f325c8391a1ac2916219340f87dfad602c3e48e5d", + "sha256:045d792900a75e8b1e1b0ab6787dd733a8190ffcf80e8c8ceb2fb10a29ff238a", + "sha256:0638c3ae1a0edfb77c6765d487fee624d2b1ee1bdfeffc1f0b58c64d149e7eec", + "sha256:105abaf8a6075dc96c1fe5ae7aae073f4696f2905fde6aeada4c9d2926752362", + "sha256:155136b51fd733fa94e1c2ea5211dcd4c8879869008fc811648f16541bf99668", + "sha256:1a465cbe98a7fd391d47dce4b8f7e5b921e6cd805ef421d04f5f66ba8f06086c", + "sha256:1d2c4994f515e5b485fd6d3a73d05526aa0fcf248eb135996b088d25dfa1865b", + "sha256:2c24d61263f511551f740d1a065eb0212db1dbbbbd241db758f5244281590c06", + "sha256:51a8b381b16ddd370178a65360ebe15fbc1c71cf6f584613a7ea08bfad946698", + "sha256:594234691ac0e9b770aee9fcdb8fa02c22e43e5c619456efd0d6c2bf276f3eb2", + "sha256:5cf4be6c304ad0b6602f5c4e90e2f59b47653ac1ed9c662ed379fe48a8f26b0c", + "sha256:64081b3f8f6f3c3de6191ec89d7dc6c86a8a43911f7ecb422c60e90c70be41c7", + "sha256:6bc25fc545a6b3d57b5f8618e59fc13d3a3a68431e8ca5fd4c13241cd70d0009", + "sha256:798caa2a2384b1cbe8a2a139d80734c9db54f9cc155c99d7cc92441a23871c03", + "sha256:7c6b1dece89874d9541fc974917b631406233ea0440d0bdfbb8e03bf39a49b3b", + "sha256:840793c68105fe031f34d6a086eaea153a0cd5c491cde82a74b420edd0a2b909", + "sha256:8d6603078baf4e11edc4168a514c5ce5b3ba6e3e9c374298cb88437957960a53", + "sha256:9cc46bc107224ff5b6d04369e7c595acb700c3613ad7bcf2e2012f62ece80c35", + "sha256:9f7a31251289b2ab6d4012f6e83e58bc3b96bd151f5b5262467f4bb6b34a7c26", + "sha256:9ffb888f19d54a4d4dfd4b3f29bc2c16aa4972f1c2ab9c4ab09b8ab8685b9c2b", + "sha256:a5ed8c05548b54b998b9498753fb9cadbfd92ee88e884641377d8a8b291bcc01", + "sha256:a7711edca4dcef1a75257b50a2fbfe92a65187c47dab5a0f1b9b332c5919a3fb", + "sha256:af5c59122a011049aad5dd87424b8e65a80e4a6477419c0c1015f73fb5ea0293", + "sha256:b18e0a9ef57d2b41f5c68beefa32317d286c3d6ac0484efd10d6e07491bb95dd", + "sha256:b4e248d1087abf9f4c10f3c398896c87ce82a9856494a7155823eb45a892395d", + "sha256:ba4e9e0ae13fc41c6b23299545e5ef73055213e466bd107953e4a013a5ddd7e3", + "sha256:c6332685306b6417a91b1ff9fae889b3ba65c2292d64bd9245c093b1b284809d", + "sha256:d5ff0621c88ce83a28a10d2ce719b2ee85635e85c515f12bac99a95306da4b2e", + "sha256:d9efd8b7a3ef378dd61a1e77367f1924375befc2eba06168b6ebfa903a5e59ca", + "sha256:df5169c4396adc04f9b0a05f13c074df878b6052430e03f50e68adf3a57aa28d", + "sha256:ebb253464a5d0482b191274f1c8bf00e33f7e0b9c66405fbffc61ed2c839c775", + "sha256:ec80dc47f54e6e9a78181ce05feb71a0353854cc26999db963695f950b5fb375", + "sha256:f032b34669220030f905152045dfa27741ce1a6db3324a5bc0b96b6c7420c87b", + "sha256:f60567825f791c6f8a592f3c6e3bd93dd2934e3f9dac189308426bd76b00ef3b", + "sha256:f803eaa94c2fcda012c047e62bc7a51b0bdabda1cad7a92a522694ea2d76e49f" + ], + "version": "==1.14.4" }, "chardet": { "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" + "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa", + "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5" ], - "version": "==3.0.4" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==4.0.0" }, "cryptography": { "hashes": [ - "sha256:02079a6addc7b5140ba0825f542c0869ff4df9a69c360e339ecead5baefa843c", - "sha256:1df22371fbf2004c6f64e927668734070a8953362cd8370ddd336774d6743595", - "sha256:369d2346db5934345787451504853ad9d342d7f721ae82d098083e1f49a582ad", - "sha256:3cda1f0ed8747339bbdf71b9f38ca74c7b592f24f65cdb3ab3765e4b02871651", - "sha256:44ff04138935882fef7c686878e1c8fd80a723161ad6a98da31e14b7553170c2", - "sha256:4b1030728872c59687badcca1e225a9103440e467c17d6d1730ab3d2d64bfeff", - "sha256:58363dbd966afb4f89b3b11dfb8ff200058fbc3b947507675c19ceb46104b48d", - "sha256:6ec280fb24d27e3d97aa731e16207d58bd8ae94ef6eab97249a2afe4ba643d42", - "sha256:7270a6c29199adc1297776937a05b59720e8a782531f1f122f2eb8467f9aab4d", - "sha256:73fd30c57fa2d0a1d7a49c561c40c2f79c7d6c374cc7750e9ac7c99176f6428e", - "sha256:7f09806ed4fbea8f51585231ba742b58cbcfbfe823ea197d8c89a5e433c7e912", - "sha256:90df0cc93e1f8d2fba8365fb59a858f51a11a394d64dbf3ef844f783844cc793", - "sha256:971221ed40f058f5662a604bd1ae6e4521d84e6cad0b7b170564cc34169c8f13", - "sha256:a518c153a2b5ed6b8cc03f7ae79d5ffad7315ad4569b2d5333a13c38d64bd8d7", - "sha256:b0de590a8b0979649ebeef8bb9f54394d3a41f66c5584fff4220901739b6b2f0", - "sha256:b43f53f29816ba1db8525f006fa6f49292e9b029554b3eb56a189a70f2a40879", - "sha256:d31402aad60ed889c7e57934a03477b572a03af7794fa8fb1780f21ea8f6551f", - "sha256:de96157ec73458a7f14e3d26f17f8128c959084931e8997b9e655a39c8fde9f9", - "sha256:df6b4dca2e11865e6cfbfb708e800efb18370f5a46fd601d3755bc7f85b3a8a2", - "sha256:ecadccc7ba52193963c0475ac9f6fa28ac01e01349a2ca48509667ef41ffd2cf", - "sha256:fb81c17e0ebe3358486cd8cc3ad78adbae58af12fc2bf2bc0bb84e8090fa5ce8" - ], - "version": "==2.8" + "sha256:0003a52a123602e1acee177dc90dd201f9bb1e73f24a070db7d36c588e8f5c7d", + "sha256:0e85aaae861d0485eb5a79d33226dd6248d2a9f133b81532c8f5aae37de10ff7", + "sha256:594a1db4511bc4d960571536abe21b4e5c3003e8750ab8365fafce71c5d86901", + "sha256:69e836c9e5ff4373ce6d3ab311c1a2eed274793083858d3cd4c7d12ce20d5f9c", + "sha256:788a3c9942df5e4371c199d10383f44a105d67d401fb4304178020142f020244", + "sha256:7e177e4bea2de937a584b13645cab32f25e3d96fc0bc4a4cf99c27dc77682be6", + "sha256:83d9d2dfec70364a74f4e7c70ad04d3ca2e6a08b703606993407bf46b97868c5", + "sha256:84ef7a0c10c24a7773163f917f1cb6b4444597efd505a8aed0a22e8c4780f27e", + "sha256:9e21301f7a1e7c03dbea73e8602905a4ebba641547a462b26dd03451e5769e7c", + "sha256:9f6b0492d111b43de5f70052e24c1f0951cb9e6022188ebcb1cc3a3d301469b0", + "sha256:a69bd3c68b98298f490e84519b954335154917eaab52cf582fa2c5c7efc6e812", + "sha256:b4890d5fb9b7a23e3bf8abf5a8a7da8e228f1e97dc96b30b95685df840b6914a", + "sha256:c366df0401d1ec4e548bebe8f91d55ebcc0ec3137900d214dd7aac8427ef3030", + "sha256:dc42f645f8f3a489c3dd416730a514e7a91a59510ddaadc09d04224c098d3302" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==3.3.1" + }, + "distlib": { + "hashes": [ + "sha256:8c09de2c67b3e7deef7184574fc060ab8a793e7adbb183d942c389c8b13c52fb", + "sha256:edf6116872c863e1aa9d5bb7cb5e05a022c519a4594dc703843343a9ddd9bff1" + ], + "version": "==0.3.1" }, "dj-database-url": { "hashes": [ @@ -144,49 +162,50 @@ }, "django": { "hashes": [ - "sha256:a3b01cdff845a43830d7ccacff55e0b8ff08305a4cbf894517a686e53ba3ad2d", - "sha256:b33ce35f47f745fea6b5aa3cf3f4241069803a3712d423ac748bd673a39741eb" + "sha256:5c866205f15e7a7123f1eec6ab939d22d5bde1416635cab259684af66d8e48a2", + "sha256:edb10b5c45e7e9c0fb1dc00b76ec7449aca258a39ffd613dbd078c51d19c9f03" ], "index": "pypi", - "version": "==1.11.28" + "version": "==3.1.4" }, "django-debug-toolbar": { "hashes": [ - "sha256:eabbefe89881bbe4ca7c980ff102e3c35c8e8ad6eb725041f538988f2f39a943", - "sha256:ff94725e7aae74b133d0599b9bf89bd4eb8f5d2c964106e61d11750228c8774c" + "sha256:84e2607d900dbd571df0a2acf380b47c088efb787dce9805aefeb407341961d2", + "sha256:9e5a25d0c965f7e686f6a8ba23613ca9ca30184daa26487706d4829f5cfb697a" ], "index": "pypi", - "version": "==2.2" + "version": "==3.2" }, "django-el-pagination": { "hashes": [ - "sha256:4ef652f65350b754028f0c23d72dcd60461215b589f269bc23f78ee00b96d0f8" + "sha256:46cb7311b4c7a35690ff0a972e71c782f3cfcd42968ef78993b7980377e9860e" ], "index": "pypi", - "version": "==3.2.4" + "version": "==3.3.0" }, "django-extensions": { "hashes": [ - "sha256:1a03c4e8bade575f8c2be6c76456f8a2be3f9b02ab9f47d3535afa9562dc0493", - "sha256:2699cc1d6fb4bd393c0b5832fea4bc685f2ace5800b3c9ff222b2080f161ac04" + "sha256:7cd002495ff0a0e5eb6cdd6be759600905b4e4079232ea27618fc46bdd853651", + "sha256:c7f88625a53f631745d4f2bef9ec4dcb999ed59476393bdbbe99db8596778846" ], "index": "pypi", - "version": "==2.2.8" + "version": "==3.1.0" }, - "django-fontawesome": { + "django-fontawesome-5": { "hashes": [ - "sha256:595dccc2836a23a54247025c305bf7c0aa080331a6a3b0f0cdf14ae66d0a14df" + "sha256:1be340e795a6a68ebd9ba5d75e26bd72a839515c351786ff45e16b90bf50c3a0", + "sha256:4fc4a7f5d0fe6e10d542ac9f1c143ad5e92aa61c6f310ea297c3c26bfc6001dd" ], "index": "pypi", - "version": "==1.0" + "version": "==1.0.18" }, "django-storages": { "hashes": [ - "sha256:3103991c2ee8cef8a2ff096709973ffe7106183d211a79f22cf855f33533d924", - "sha256:a59e9923cbce7068792f75344ed7727021ee4ac20f227cf17297d0d03d141e91" + "sha256:056ec3e9e2b0c6f363913976072ffba2923e79e4859578047da139ba1637497e", + "sha256:7af56611c62a1c174aab4e862efb7fdd98296dccf76f42135f5b6851fc313c97" ], "index": "pypi", - "version": "==1.9.1" + "version": "==1.11" }, "django-zurb-foundation": { "hashes": [ @@ -201,14 +220,6 @@ ], "version": "==0.6.2" }, - "docutils": { - "hashes": [ - "sha256:6c4f696463b79f1fb8ba0c594b63840ebd41f059e92b31957c46b74a4599b6d0", - "sha256:9e4d7ecfc600058e07ba661411a2b7de2fd0fafa17d1a7f7361cd47b1175c827", - "sha256:a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99" - ], - "version": "==0.15.2" - }, "filelock": { "hashes": [ "sha256:18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59", @@ -223,12 +234,13 @@ "index": "pypi", "version": "==0.7.2" }, - "gitdb2": { + "gitdb": { "hashes": [ - "sha256:1b6df1433567a51a4a9c1a5a0de977aa351a405cc56d7d35f3388bad1f630350", - "sha256:96bbb507d765a7f51eb802554a9cfe194a174582f772e0d89f4e87288c288b7b" + "sha256:91f36bfb1ab7949b3b40e23736db18231bf7593edada2ba5c3a174a7b23657ac", + "sha256:c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9" ], - "version": "==2.0.6" + "markers": "python_version >= '3.4'", + "version": "==4.0.5" }, "github3.py": { "hashes": [ @@ -239,33 +251,19 @@ }, "gitpython": { "hashes": [ - "sha256:99c77677f31f255e130f3fed4c8e0eebb35f1a09df98ff965fff6774f71688cf", - "sha256:99cd0403cecd8a13b95d2e045b9fcaa7837137fcc5ec3105f2c413305d82c143" + "sha256:6eea89b655917b500437e9668e4a12eabdcf00229a0df1762aabd692ef9b746b", + "sha256:befa4d101f91bad1b632df4308ec64555db684c360bd7d2130b4807d49ce86b8" ], - "version": "==3.0.7" + "markers": "python_version >= '3.4'", + "version": "==3.1.11" }, "idna": { "hashes": [ - "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", - "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" - ], - "version": "==2.8" - }, - "importlib-metadata": { - "hashes": [ - "sha256:06f5b3a99029c7134207dd882428a66992a9de2bef7c2b699b5641f9886c3302", - "sha256:b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b" - ], - "markers": "python_version < '3.8'", - "version": "==1.5.0" - }, - "importlib-resources": { - "hashes": [ - "sha256:6e2783b2538bd5a14678284a3962b0660c715e5a0f10243fd5e00a4b5974f50b", - "sha256:d3279fd0f6f847cced9f7acc19bd3e5df54d34f93a2e7bb5f238f81545787078" + "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6", + "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0" ], - "markers": "python_version < '3.7'", - "version": "==1.0.2" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.10" }, "isodate": { "hashes": [ @@ -276,57 +274,69 @@ }, "jinja2": { "hashes": [ - "sha256:93187ffbc7808079673ef52771baa950426fd664d3aad1d0fa3e95644360e250", - "sha256:b0eaf100007721b5c16c1fc1eecb87409464edc10469ddc9a22a27a99123be49" + "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0", + "sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035" ], - "version": "==2.11.1" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==2.11.2" }, "jmespath": { "hashes": [ - "sha256:3720a4b1bd659dd2eecad0666459b9788813e032b83e7ba58578e48254e0a0e6", - "sha256:bde2aef6f44302dfb30320115b17d030798de8c4110e28d5cf6cf91a7a31074c" + "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9", + "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f" ], - "version": "==0.9.4" + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==0.10.0" }, "jwcrypto": { "hashes": [ - "sha256:a87ac0922d09d9a65011f76d99849f1fbad3d95439c7452cebf4ab0871c2b665", - "sha256:e6c517d8998956e531f0a1c158b2f324c29a532a9c4b677bc30b3be14d60ad4d" + "sha256:16e17faa4dce36551ade3a3ccb06236a61e5924ea1db163c9be9827acf935a82", + "sha256:b7fee2635bbefdf145399392f5be26ad54161c8271c66b5fe107b4b452f06c24" ], - "version": "==0.6.0" + "version": "==0.8" }, "lxml": { "hashes": [ - "sha256:06d4e0bbb1d62e38ae6118406d7cdb4693a3fa34ee3762238bcb96c9e36a93cd", - "sha256:0701f7965903a1c3f6f09328c1278ac0eee8f56f244e66af79cb224b7ef3801c", - "sha256:1f2c4ec372bf1c4a2c7e4bb20845e8bcf8050365189d86806bad1e3ae473d081", - "sha256:4235bc124fdcf611d02047d7034164897ade13046bda967768836629bc62784f", - "sha256:5828c7f3e615f3975d48f40d4fe66e8a7b25f16b5e5705ffe1d22e43fb1f6261", - "sha256:585c0869f75577ac7a8ff38d08f7aac9033da2c41c11352ebf86a04652758b7a", - "sha256:5d467ce9c5d35b3bcc7172c06320dddb275fea6ac2037f72f0a4d7472035cea9", - "sha256:63dbc21efd7e822c11d5ddbedbbb08cd11a41e0032e382a0fd59b0b08e405a3a", - "sha256:7bc1b221e7867f2e7ff1933165c0cec7153dce93d0cdba6554b42a8beb687bdb", - "sha256:8620ce80f50d023d414183bf90cc2576c2837b88e00bea3f33ad2630133bbb60", - "sha256:8a0ebda56ebca1a83eb2d1ac266649b80af8dd4b4a3502b2c1e09ac2f88fe128", - "sha256:90ed0e36455a81b25b7034038e40880189169c308a3df360861ad74da7b68c1a", - "sha256:95e67224815ef86924fbc2b71a9dbd1f7262384bca4bc4793645794ac4200717", - "sha256:afdb34b715daf814d1abea0317b6d672476b498472f1e5aacbadc34ebbc26e89", - "sha256:b4b2c63cc7963aedd08a5f5a454c9f67251b1ac9e22fd9d72836206c42dc2a72", - "sha256:d068f55bda3c2c3fcaec24bd083d9e2eede32c583faf084d6e4b9daaea77dde8", - "sha256:d5b3c4b7edd2e770375a01139be11307f04341ec709cf724e0f26ebb1eef12c3", - "sha256:deadf4df349d1dcd7b2853a2c8796593cc346600726eff680ed8ed11812382a7", - "sha256:df533af6f88080419c5a604d0d63b2c33b1c0c4409aba7d0cb6de305147ea8c8", - "sha256:e4aa948eb15018a657702fee0b9db47e908491c64d36b4a90f59a64741516e77", - "sha256:e5d842c73e4ef6ed8c1bd77806bf84a7cb535f9c0cf9b2c74d02ebda310070e1", - "sha256:ebec08091a22c2be870890913bdadd86fcd8e9f0f22bcb398abd3af914690c15", - "sha256:edc15fcfd77395e24543be48871c251f38132bb834d9fdfdad756adb6ea37679", - "sha256:f2b74784ed7e0bc2d02bd53e48ad6ba523c9b36c194260b7a5045071abbb1012", - "sha256:fa071559f14bd1e92077b1b5f6c22cf09756c6de7139370249eb372854ce51e6", - "sha256:fd52e796fee7171c4361d441796b64df1acfceb51f29e545e812f16d023c4bbc", - "sha256:fe976a0f1ef09b3638778024ab9fb8cde3118f203364212c198f71341c0715ca" + "sha256:0448576c148c129594d890265b1a83b9cd76fd1f0a6a04620753d9a6bcfd0a4d", + "sha256:127f76864468d6630e1b453d3ffbbd04b024c674f55cf0a30dc2595137892d37", + "sha256:1471cee35eba321827d7d53d104e7b8c593ea3ad376aa2df89533ce8e1b24a01", + "sha256:2363c35637d2d9d6f26f60a208819e7eafc4305ce39dc1d5005eccc4593331c2", + "sha256:2e5cc908fe43fe1aa299e58046ad66981131a66aea3129aac7770c37f590a644", + "sha256:2e6fd1b8acd005bd71e6c94f30c055594bbd0aa02ef51a22bbfa961ab63b2d75", + "sha256:366cb750140f221523fa062d641393092813b81e15d0e25d9f7c6025f910ee80", + "sha256:42ebca24ba2a21065fb546f3e6bd0c58c3fe9ac298f3a320147029a4850f51a2", + "sha256:4e751e77006da34643ab782e4a5cc21ea7b755551db202bc4d3a423b307db780", + "sha256:4fb85c447e288df535b17ebdebf0ec1cf3a3f1a8eba7e79169f4f37af43c6b98", + "sha256:50c348995b47b5a4e330362cf39fc503b4a43b14a91c34c83b955e1805c8e308", + "sha256:535332fe9d00c3cd455bd3dd7d4bacab86e2d564bdf7606079160fa6251caacf", + "sha256:535f067002b0fd1a4e5296a8f1bf88193080ff992a195e66964ef2a6cfec5388", + "sha256:5be4a2e212bb6aa045e37f7d48e3e1e4b6fd259882ed5a00786f82e8c37ce77d", + "sha256:60a20bfc3bd234d54d49c388950195d23a5583d4108e1a1d47c9eef8d8c042b3", + "sha256:648914abafe67f11be7d93c1a546068f8eff3c5fa938e1f94509e4a5d682b2d8", + "sha256:681d75e1a38a69f1e64ab82fe4b1ed3fd758717bed735fb9aeaa124143f051af", + "sha256:68a5d77e440df94011214b7db907ec8f19e439507a70c958f750c18d88f995d2", + "sha256:69a63f83e88138ab7642d8f61418cf3180a4d8cd13995df87725cb8b893e950e", + "sha256:6e4183800f16f3679076dfa8abf2db3083919d7e30764a069fb66b2b9eff9939", + "sha256:6fd8d5903c2e53f49e99359b063df27fdf7acb89a52b6a12494208bf61345a03", + "sha256:791394449e98243839fa822a637177dd42a95f4883ad3dec2a0ce6ac99fb0a9d", + "sha256:7a7669ff50f41225ca5d6ee0a1ec8413f3a0d8aa2b109f86d540887b7ec0d72a", + "sha256:7e9eac1e526386df7c70ef253b792a0a12dd86d833b1d329e038c7a235dfceb5", + "sha256:7ee8af0b9f7de635c61cdd5b8534b76c52cd03536f29f51151b377f76e214a1a", + "sha256:8246f30ca34dc712ab07e51dc34fea883c00b7ccb0e614651e49da2c49a30711", + "sha256:8c88b599e226994ad4db29d93bc149aa1aff3dc3a4355dd5757569ba78632bdf", + "sha256:923963e989ffbceaa210ac37afc9b906acebe945d2723e9679b643513837b089", + "sha256:94d55bd03d8671686e3f012577d9caa5421a07286dd351dfef64791cf7c6c505", + "sha256:97db258793d193c7b62d4e2586c6ed98d51086e93f9a3af2b2034af01450a74b", + "sha256:a9d6bc8642e2c67db33f1247a77c53476f3a166e09067c0474facb045756087f", + "sha256:cd11c7e8d21af997ee8079037fff88f16fda188a9776eb4b81c7e4c9c0a7d7fc", + "sha256:d8d3d4713f0c28bdc6c806a278d998546e8efc3498949e3ace6e117462ac0a5e", + "sha256:e0bfe9bb028974a481410432dbe1b182e8191d5d40382e5b8ff39cdd2e5c5931", + "sha256:f4822c0660c3754f1a41a655e37cb4dbbc9be3d35b125a37fab6f82d47674ebc", + "sha256:f83d281bb2a6217cd806f4cf0ddded436790e66f393e124dfe9731f6b3fb9afe", + "sha256:fc37870d6716b137e80d19241d0e2cff7a7643b925dfa49b4c8ebd1295eb506e" ], "index": "pypi", - "version": "==4.5.0" + "version": "==4.6.2" }, "markupsafe": { "hashes": [ @@ -364,6 +374,7 @@ "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7", "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.1.1" }, "mock": { @@ -375,160 +386,197 @@ }, "msgpack": { "hashes": [ - "sha256:0cc7ca04e575ba34fea7cfcd76039f55def570e6950e4155a4174368142c8e1b", - "sha256:187794cd1eb73acccd528247e3565f6760bd842d7dc299241f830024a7dd5610", - "sha256:1904b7cb65342d0998b75908304a03cb004c63ef31e16c8c43fee6b989d7f0d7", - "sha256:229a0ccdc39e9b6c6d1033cd8aecd9c296823b6c87f0de3943c59b8bc7c64bee", - "sha256:24149a75643aeaa81ece4259084d11b792308a6cf74e796cbb35def94c89a25a", - "sha256:30b88c47e0cdb6062daed88ca283b0d84fa0d2ad6c273aa0788152a1c643e408", - "sha256:32fea0ea3cd1ef820286863a6202dcfd62a539b8ec3edcbdff76068a8c2cc6ce", - "sha256:355f7fd0f90134229eaeefaee3cf42e0afc8518e8f3cd4b25f541a7104dcb8f9", - "sha256:4abdb88a9b67e64810fb54b0c24a1fd76b12297b4f7a1467d85a14dd8367191a", - "sha256:757bd71a9b89e4f1db0622af4436d403e742506dbea978eba566815dc65ec895", - "sha256:76df51492bc6fa6cc8b65d09efdb67cbba3cbfe55004c3afc81352af92b4a43c", - "sha256:774f5edc3475917cd95fe593e625d23d8580f9b48b570d8853d06cac171cd170", - "sha256:8a3ada8401736df2bf497f65589293a86c56e197a80ae7634ec2c3150a2f5082", - "sha256:a06efd0482a1942aad209a6c18321b5e22d64eb531ea20af138b28172d8f35ba", - "sha256:b24afc52e18dccc8c175de07c1d680bdf315844566f4952b5bedb908894bec79", - "sha256:b8b4bd3dafc7b92608ae5462add1c8cc881851c2d4f5d8977fdea5b081d17f21", - "sha256:c6e5024fc0cdf7f83b6624850309ddd7e06c48a75fa0d1c5173de4d93300eb19", - "sha256:db7ff14abc73577b0bcbcf73ecff97d3580ecaa0fc8724babce21fdf3fe08ef6", - "sha256:dedf54d72d9e7b6d043c244c8213fe2b8bbfe66874b9a65b39c4cc892dd99dd4", - "sha256:ea3c2f859346fcd55fc46e96885301d9c2f7a36d453f5d8f2967840efa1e1830", - "sha256:f0f47bafe9c9b8ed03e19a100a743662dd8c6d0135e684feea720a0d0046d116" - ], - "version": "==0.6.2" + "sha256:01835e300967e5ad6fdbfc36eafe74df67ff47e16e0d6dee8766630550315903", + "sha256:03c5554315317d76c25a15569dd52ac6047b105df71e861f24faf9675672b72d", + "sha256:0968b368a9a9081435bfcb7a57a1e8b75c7bf038ef911b369acd2e038c7f873a", + "sha256:1d7ab166401f7789bf11262439336c0a01b878f0d602e48f35c35d2e3a555820", + "sha256:1e8d27bac821f8aa909904a704a67e5e8bc2e42b153415fc3621b7afbc06702b", + "sha256:1fc9f21da9fd77088ebfd3c9941b044ca3f4a048e85f7ff5727f26bcdbffed61", + "sha256:20196229acc193939223118c7420838749d5b0cece49cd397739a3a6ffcfe2d1", + "sha256:2933443313289725f16bd7b99a8c3aa6a2cca1549e661d7407f056a0af80bf7b", + "sha256:2966b155356fd231fa441131d7301e1596ee38974ad56dc57fd752fdbe2bb63f", + "sha256:29a6fb3729215b6fcab786ef4f460a5406a5c056f7021191f70ff7712a3f6ba4", + "sha256:35cbefa7d7bddfb4b0770a1b9ff721cd8dfe9a680947a68457974d5e3e6acc2f", + "sha256:35ff1ac162a77fb78be360d9f771d36cbf1202e94fc6d70e284ad5db6ab72608", + "sha256:40dd1ac7420f071e96b3e4a4a7b8e69546a6f8065ff5995dbacf53f86207eb98", + "sha256:4bea1938e484c9caca9585105f447d6807c496c153b7244fa726b3cc4a68ec9e", + "sha256:4e58b9f4a99bc3a90859bb006ec4422448a5ce39e5cd6e7498c56de5dcec9c34", + "sha256:66d47e952856bfcde46d8351380d0b5b928a73112b66bc06d5367dfcc077c06a", + "sha256:69f6aa503378548ea1e760c11aeb6fc91952bf3634fd806a38a0e47edb507fcd", + "sha256:7033215267a0e9f60f4a5e4fb2228a932c404f237817caff8dc3115d9e7cd975", + "sha256:7b50afd767cc053ad92fad39947c3670db27305fd1c49acded44d9d9ac8b56fd", + "sha256:99ea9e65876546743b2b8bb5bc7adefbb03b9da78a899827467da197a48f790b", + "sha256:abcc62303ac4d789878d4aac4cdba1bbe2adb478d67be99cd4a6d56ac3a4028f", + "sha256:b107f9b36665bf7d7c6176a938a361a7aba16aa179d833919448f77287866484", + "sha256:b5b27923b6c98a2616b7e906a29e4e10e1b4424aea87a0e0d5636327dc6ea315", + "sha256:bf8eedc7bfbf63cbc9abe58287c32d78780a347835e82c23033c68f11f80bb05", + "sha256:c144ff4954a6ea40aa603600c8be175349588fc68696092889fa34ab6e055060", + "sha256:c4e5f96a1d0d916ce7a16decb7499e8923ddef007cf7d68412fb68767766648a", + "sha256:c60e8b2bf754b8dcc1075c5bee0b177ed9193e7cbd2377faaf507120a948e697", + "sha256:c82fc6cdba5737eb6ed0c926a30a5d56e7b050297375a16d6c5ad89b576fd979", + "sha256:ce4ebe2c79411cd5671b20862831880e7850a2de699cff6626f48853fde61ae6", + "sha256:d113c6b1239c62669ef3063693842605a3edbfebc39a333cf91ba60d314afe6d", + "sha256:d3cea07ad16919a44e8d1ea67efa5244855cdce807d672f41694acc24d08834e", + "sha256:d76672602db16e3f44bc1a85c7ee5f15d79e02fcf5bc9d133c2954753be6eddc", + "sha256:decf2091b75987ca2564e3b742f9614eb7d57e39ff04eaa68af7a3fc5648f7ed", + "sha256:e13b9007af66a3f62574bc0a13843df0e4402f5ee4b00a02aa1803f01d26b9fb", + "sha256:e157edf4213dacafb0f862e0b7a3a18448250cec91aa1334f432f49028acc650", + "sha256:e234ff83628ca3ab345bf97fb36ccbf6d2f1700f5e08868643bf4489edc960f8", + "sha256:f08d9dd3ce0c5e972dc4653f0fb66d2703941e65356388c13032b578dd718261", + "sha256:f20d7d4f1f0728560408ba6933154abccf0c20f24642a2404b43d5c23e4119ab" + ], + "version": "==1.0.1" }, "packaging": { "hashes": [ - "sha256:170748228214b70b672c581a3dd610ee51f733018650740e98c7df862a583f73", - "sha256:e665345f9eef0c621aa0bf2f8d78cf6d21904eef16a93f020240b704a57f1334" + "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858", + "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093" ], - "version": "==20.1" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==20.8" }, "pbr": { "hashes": [ - "sha256:139d2625547dbfa5fb0b81daebb39601c478c21956dc57e2e07b74450a8c506b", - "sha256:61aa52a0f18b71c5cc58232d2cf8f8d09cd67fcad60b742a60124cb8d6951488" + "sha256:5fad80b613c402d5b7df7bd84812548b2a61e9977387a80a5fc5c396492b13c9", + "sha256:b236cde0ac9a6aedd5e3c34517b423cd4fd97ef723849da6b0d2231142d89c00" ], - "version": "==5.4.4" + "markers": "python_version >= '2.6'", + "version": "==5.5.1" }, "pillow": { "hashes": [ - "sha256:0a628977ac2e01ca96aaae247ec2bd38e729631ddf2221b4b715446fd45505be", - "sha256:4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946", - "sha256:54ebae163e8412aff0b9df1e88adab65788f5f5b58e625dc5c7f51eaf14a6837", - "sha256:5bfef0b1cdde9f33881c913af14e43db69815c7e8df429ceda4c70a5e529210f", - "sha256:5f3546ceb08089cedb9e8ff7e3f6a7042bb5b37c2a95d392fb027c3e53a2da00", - "sha256:5f7ae9126d16194f114435ebb79cc536b5682002a4fa57fa7bb2cbcde65f2f4d", - "sha256:62a889aeb0a79e50ecf5af272e9e3c164148f4bd9636cc6bcfa182a52c8b0533", - "sha256:7406f5a9b2fd966e79e6abdaf700585a4522e98d6559ce37fc52e5c955fade0a", - "sha256:8453f914f4e5a3d828281a6628cf517832abfa13ff50679a4848926dac7c0358", - "sha256:87269cc6ce1e3dee11f23fa515e4249ae678dbbe2704598a51cee76c52e19cda", - "sha256:875358310ed7abd5320f21dd97351d62de4929b0426cdb1eaa904b64ac36b435", - "sha256:8ac6ce7ff3892e5deaab7abaec763538ffd011f74dc1801d93d3c5fc541feee2", - "sha256:91b710e3353aea6fc758cdb7136d9bbdcb26b53cefe43e2cba953ac3ee1d3313", - "sha256:9d2ba4ed13af381233e2d810ff3bab84ef9f18430a9b336ab69eaf3cd24299ff", - "sha256:a62ec5e13e227399be73303ff301f2865bf68657d15ea50b038d25fc41097317", - "sha256:ab76e5580b0ed647a8d8d2d2daee170e8e9f8aad225ede314f684e297e3643c2", - "sha256:bf4003aa538af3f4205c5fac56eacaa67a6dd81e454ffd9e9f055fff9f1bc614", - "sha256:bf598d2e37cf8edb1a2f26ed3fb255191f5232badea4003c16301cb94ac5bdd0", - "sha256:c18f70dc27cc5d236f10e7834236aff60aadc71346a5bc1f4f83a4b3abee6386", - "sha256:c5ed816632204a2fc9486d784d8e0d0ae754347aba99c811458d69fcdfd2a2f9", - "sha256:dc058b7833184970d1248135b8b0ab702e6daa833be14035179f2acb78ff5636", - "sha256:ff3797f2f16bf9d17d53257612da84dd0758db33935777149b3334c01ff68865" + "sha256:006de60d7580d81f4a1a7e9f0173dc90a932e3905cc4d47ea909bc946302311a", + "sha256:0a2e8d03787ec7ad71dc18aec9367c946ef8ef50e1e78c71f743bc3a770f9fae", + "sha256:0eeeae397e5a79dc088d8297a4c2c6f901f8fb30db47795113a4a605d0f1e5ce", + "sha256:11c5c6e9b02c9dac08af04f093eb5a2f84857df70a7d4a6a6ad461aca803fb9e", + "sha256:2fb113757a369a6cdb189f8df3226e995acfed0a8919a72416626af1a0a71140", + "sha256:4b0ef2470c4979e345e4e0cc1bbac65fda11d0d7b789dbac035e4c6ce3f98adb", + "sha256:59e903ca800c8cfd1ebe482349ec7c35687b95e98cefae213e271c8c7fffa021", + "sha256:5abd653a23c35d980b332bc0431d39663b1709d64142e3652890df4c9b6970f6", + "sha256:5f9403af9c790cc18411ea398a6950ee2def2a830ad0cfe6dc9122e6d528b302", + "sha256:6b4a8fd632b4ebee28282a9fef4c341835a1aa8671e2770b6f89adc8e8c2703c", + "sha256:6c1aca8231625115104a06e4389fcd9ec88f0c9befbabd80dc206c35561be271", + "sha256:795e91a60f291e75de2e20e6bdd67770f793c8605b553cb6e4387ce0cb302e09", + "sha256:7ba0ba61252ab23052e642abdb17fd08fdcfdbbf3b74c969a30c58ac1ade7cd3", + "sha256:7c9401e68730d6c4245b8e361d3d13e1035cbc94db86b49dc7da8bec235d0015", + "sha256:81f812d8f5e8a09b246515fac141e9d10113229bc33ea073fec11403b016bcf3", + "sha256:895d54c0ddc78a478c80f9c438579ac15f3e27bf442c2a9aa74d41d0e4d12544", + "sha256:8de332053707c80963b589b22f8e0229f1be1f3ca862a932c1bcd48dafb18dd8", + "sha256:92c882b70a40c79de9f5294dc99390671e07fc0b0113d472cbea3fde15db1792", + "sha256:95edb1ed513e68bddc2aee3de66ceaf743590bf16c023fb9977adc4be15bd3f0", + "sha256:b63d4ff734263ae4ce6593798bcfee6dbfb00523c82753a3a03cbc05555a9cc3", + "sha256:bd7bf289e05470b1bc74889d1466d9ad4a56d201f24397557b6f65c24a6844b8", + "sha256:cc3ea6b23954da84dbee8025c616040d9aa5eaf34ea6895a0a762ee9d3e12e11", + "sha256:cc9ec588c6ef3a1325fa032ec14d97b7309db493782ea8c304666fb10c3bd9a7", + "sha256:d3d07c86d4efa1facdf32aa878bd508c0dc4f87c48125cc16b937baa4e5b5e11", + "sha256:d8a96747df78cda35980905bf26e72960cba6d355ace4780d4bdde3b217cdf1e", + "sha256:e38d58d9138ef972fceb7aeec4be02e3f01d383723965bfcef14d174c8ccd039", + "sha256:eb472586374dc66b31e36e14720747595c2b265ae962987261f044e5cce644b5", + "sha256:fbd922f702582cb0d71ef94442bfca57624352622d75e3be7a1e7e9360b07e72" ], "index": "pypi", - "version": "==7.0.0" + "version": "==8.0.1" }, "pluggy": { "hashes": [ "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0", "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==0.13.1" }, "psycopg2": { "hashes": [ - "sha256:4212ca404c4445dc5746c0d68db27d2cbfb87b523fe233dc84ecd24062e35677", - "sha256:47fc642bf6f427805daf52d6e52619fe0637648fe27017062d898f3bf891419d", - "sha256:72772181d9bad1fa349792a1e7384dde56742c14af2b9986013eb94a240f005b", - "sha256:8396be6e5ff844282d4d49b81631772f80dabae5658d432202faf101f5283b7c", - "sha256:893c11064b347b24ecdd277a094413e1954f8a4e8cdaf7ffbe7ca3db87c103f0", - "sha256:92a07dfd4d7c325dd177548c4134052d4842222833576c8391aab6f74038fc3f", - "sha256:965c4c93e33e6984d8031f74e51227bd755376a9df6993774fd5b6fb3288b1f4", - "sha256:9ab75e0b2820880ae24b7136c4d230383e07db014456a476d096591172569c38", - "sha256:b0845e3bdd4aa18dc2f9b6fb78fbd3d9d371ad167fd6d1b7ad01c0a6cdad4fc6", - "sha256:dca2d7203f0dfce8ea4b3efd668f8ea65cd2b35112638e488a4c12594015f67b", - "sha256:ed686e5926929887e2c7ae0a700e32c6129abb798b4ad2b846e933de21508151", - "sha256:ef6df7e14698e79c59c7ee7cf94cd62e5b869db369ed4b1b8f7b729ea825712a", - "sha256:f898e5cc0a662a9e12bde6f931263a1bbd350cfb18e1d5336a12927851825bb6" + "sha256:00195b5f6832dbf2876b8bf77f12bdce648224c89c880719c745b90515233301", + "sha256:068115e13c70dc5982dfc00c5d70437fe37c014c808acce119b5448361c03725", + "sha256:26e7fd115a6db75267b325de0fba089b911a4a12ebd3d0b5e7acb7028bc46821", + "sha256:2c93d4d16933fea5bbacbe1aaf8fa8c1348740b2e50b3735d1b0bf8154cbf0f3", + "sha256:56007a226b8e95aa980ada7abdea6b40b75ce62a433bd27cec7a8178d57f4051", + "sha256:56fee7f818d032f802b8eed81ef0c1232b8b42390df189cab9cfa87573fe52c5", + "sha256:6a3d9efb6f36f1fe6aa8dbb5af55e067db802502c55a9defa47c5a1dad41df84", + "sha256:a49833abfdede8985ba3f3ec641f771cca215479f41523e99dace96d5b8cce2a", + "sha256:ad2fe8a37be669082e61fb001c185ffb58867fdbb3e7a6b0b0d2ffe232353a3e", + "sha256:b8cae8b2f022efa1f011cc753adb9cbadfa5a184431d09b273fb49b4167561ad", + "sha256:d160744652e81c80627a909a0e808f3c6653a40af435744de037e3172cf277f5", + "sha256:d5062ae50b222da28253059880a871dc87e099c25cb68acf613d9d227413d6f7", + "sha256:f22ea9b67aea4f4a1718300908a2fb62b3e4276cf00bd829a97ab5894af42ea3", + "sha256:f974c96fca34ae9e4f49839ba6b78addf0346777b46c4da27a7bf54f48d3057d", + "sha256:fb23f6c71107c37fd667cb4ea363ddeb936b348bbd6449278eb92c189699f543" ], "index": "pypi", - "version": "==2.8.4" + "version": "==2.8.6" }, "py": { "hashes": [ - "sha256:5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa", - "sha256:c20fdd83a5dbc0af9efd622bee9a5564e278f6380fffcacc43ba6f43db2813b0" + "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3", + "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a" ], - "version": "==1.8.1" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.10.0" }, "pycparser": { "hashes": [ - "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3" + "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0", + "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705" ], - "version": "==2.19" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.20" }, "pymarc": { "hashes": [ - "sha256:936ba146c0368577e9f1630f69ace96c77bbc1febd94cd09e6204c1cf7b68778" + "sha256:e5abe4d9243babd89811ddb3b841e3dbc18ae5dc6c062813e102bf42e0b09067" ], - "version": "==3.2.0" + "markers": "python_version >= '3.6'", + "version": "==4.0.0" }, "pyopenssl": { "hashes": [ - "sha256:621880965a720b8ece2f1b2f54ea2071966ab00e2970ad2ce11d596102063504", - "sha256:9a24494b2602aaf402be5c9e30a0b82d4a5c67528fe8fb475e3f3bc00dd69507" + "sha256:4c231c759543ba02560fcd2480c48dcec4dae34c9da7d3747c508227e0624b51", + "sha256:818ae18e06922c066f777a33f1fca45786d85edfe71cd043de6379337a7f274b" ], - "version": "==19.1.0" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==20.0.1" }, "pyparsing": { "hashes": [ - "sha256:4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f", - "sha256:c342dccb5250c08d45fd6f8b4a559613ca603b57498511740e65cd11a2e7dcec" + "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", + "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" ], - "version": "==2.4.6" + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.4.7" }, "python-dateutil": { "hashes": [ "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.8.1" }, "pytz": { "hashes": [ - "sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d", - "sha256:b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be" + "sha256:3e6b7dd2d1e0a59084bcee14a17af60c5c562cdc16d828e8eba2e683d3a7e268", + "sha256:5c55e189b682d420be27c6995ba6edce0c0a77dd67bfbe2ae6607134d5851ffd" ], - "version": "==2019.3" + "version": "==2020.4" }, "pyyaml": { "hashes": [ - "sha256:059b2ee3194d718896c0ad077dd8c043e5e909d9180f387ce42012662a4946d6", - "sha256:1cf708e2ac57f3aabc87405f04b86354f66799c8e62c28c5fc5f88b5521b2dbf", - "sha256:24521fa2890642614558b492b473bee0ac1f8057a7263156b02e8b14c88ce6f5", - "sha256:4fee71aa5bc6ed9d5f116327c04273e25ae31a3020386916905767ec4fc5317e", - "sha256:70024e02197337533eef7b85b068212420f950319cc8c580261963aefc75f811", - "sha256:74782fbd4d4f87ff04159e986886931456a1894c61229be9eaf4de6f6e44b99e", - "sha256:940532b111b1952befd7db542c370887a8611660d2b9becff75d39355303d82d", - "sha256:cb1f2f5e426dc9f07a7681419fe39cee823bb74f723f36f70399123f439e9b20", - "sha256:dbbb2379c19ed6042e8f11f2a2c66d39cceb8aeace421bfc29d085d93eda3689", - "sha256:e3a057b7a64f1222b56e47bcff5e4b94c4f61faac04c7c4ecb1985e18caa3994", - "sha256:e9f45bd5b92c7974e59bcd2dcc8631a6b6cc380a904725fce7bc08872e691615" - ], - "version": "==5.3" + "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97", + "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76", + "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2", + "sha256:6034f55dab5fea9e53f436aa68fa3ace2634918e8b5994d82f3621c04ff5ed2e", + "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648", + "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf", + "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f", + "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2", + "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee", + "sha256:ad9c67312c84def58f3c04504727ca879cb0013b2517c85a9a253f0cb6380c0a", + "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d", + "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c", + "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a" + ], + "version": "==5.3.1" }, "rdflib": { "hashes": [ @@ -545,10 +593,11 @@ }, "requests": { "hashes": [ - "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4", - "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31" + "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804", + "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e" ], - "version": "==2.22.0" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==2.25.1" }, "s3transfer": { "hashes": [ @@ -559,108 +608,111 @@ }, "semver": { "hashes": [ - "sha256:76bbf4422c53d938c194201698a911c8cbc41fa974e1ef9f88d1e8e614c29f5c" + "sha256:76bbf4422c53d938c194201698a911c8cbc41fa974e1ef9f88d1e8e614c29f5c", + "sha256:8b4097a54db887aef105b8c91c273f450555becf079c3cfe234e6a57f6445d73" ], "version": "==2.2.0" }, "sh": { "hashes": [ - "sha256:ae3258c5249493cebe73cb4e18253a41ed69262484bad36fdb3efcb8ad8870bb", - "sha256:b52bf5833ed01c7b5c5fb73a7f71b3d98d48e9b9b8764236237bdc7ecae850fc" + "sha256:39aa9af22f6558a0c5d132881cf43e34828ca03e4ae11114852ca6a55c7c1d8e", + "sha256:75e86a836f47de095d4531718fe8489e6f7446c75ddfa5596f632727b919ffae" ], - "version": "==1.12.14" + "version": "==1.14.1" }, "six": { "hashes": [ - "sha256:236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a", - "sha256:8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c" + "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", + "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced" ], - "version": "==1.14.0" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.15.0" }, - "smmap2": { + "smmap": { "hashes": [ - "sha256:0555a7bf4df71d1ef4218e4807bbf9b201f910174e6e08af2e138d4e517b4dde", - "sha256:29a9ffa0497e7f2be94ca0ed1ca1aa3cd4cf25a1f6b4f5f87f74b46ed91d609a" + "sha256:54c44c197c819d5ef1991799a7e30b662d1e520f2ac75c9efbeb54a742214cf4", + "sha256:9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24" ], - "version": "==2.0.5" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==3.0.4" }, "sorl-thumbnail": { "hashes": [ - "sha256:838e1b7907eec6039471f3604ac1ac9cdb9e8cabecde17330599bca61c28d48c", - "sha256:ab42da28892f5aa4d95fb84f1a9f498af3a0535fd27d5cc501b11f87903fe8c4" + "sha256:c56cd651feab3bdc415d5301600198e2e70c08234dad48b8f6cfa4746cc102c7", + "sha256:fbe6dfd66a1aceb7e0203895ff5622775e50266f8d8cfd841fe1500bd3e19018" ], "index": "pypi", - "version": "==12.6.2" + "version": "==12.7.0" }, "soupsieve": { "hashes": [ - "sha256:bdb0d917b03a1369ce964056fc195cfdff8819c40de04695a80bc813c3cfa1f5", - "sha256:e2c1c5dee4a1c36bcb790e0fabd5492d874b8ebd4617622c4f6a731701060dda" + "sha256:4bb21a6ee4707bf43b61230e80740e71bfe56e55d1f1f50924b087bb2975c851", + "sha256:6dc52924dc0bc710a5d16794e6b3480b2c7c08b07729505feab2b2c16661ff6e" ], - "version": "==1.9.5" + "markers": "python_version >= '3.0'", + "version": "==2.1" }, "sparqlwrapper": { "hashes": [ "sha256:2899dae6baa88d5c3209408e70a1a9de04f0f4dd25f4e9480eb6707a398d1693", - "sha256:7ccdde7ba7be47cfbaaa7221906245e711400f0ea09b454e264cdf9e05d5b06c" + "sha256:7ccdde7ba7be47cfbaaa7221906245e711400f0ea09b454e264cdf9e05d5b06c", + "sha256:fed51fe51f9b595a1ae99173aab449dfe973a69ffc6b828635b94e2401692dff" ], "version": "==1.6.4" }, "sqlparse": { "hashes": [ - "sha256:40afe6b8d4b1117e7dff5504d7a8ce07d9a1b15aeeade8a2d10f130a834f8177", - "sha256:7c3dca29c022744e95b547e867cee89f4fce4373f3549ccd8797d8eb52cdb873" + "sha256:017cde379adbd6a1f15a61873f43e8274179378e95ef3fede90b5aa64d304ed0", + "sha256:0f91fd2e829c44362cbcfab3e9ae12e22badaa8a29ad5ff599f9ec109f0454e8" ], - "version": "==0.3.0" + "markers": "python_version >= '3.5'", + "version": "==0.4.1" }, "toml": { "hashes": [ - "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", - "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e" + "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", + "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" ], - "version": "==0.10.0" + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==0.10.2" }, "tox": { "hashes": [ - "sha256:06ba73b149bf838d5cd25dc30c2dd2671ae5b2757cf98e5c41a35fe449f131b3", - "sha256:806d0a9217584558cc93747a945a9d9bff10b141a5287f0c8429a08828a22192" + "sha256:42ce19ce5dc2f6d6b1fdc5666c476e1f1e2897359b47e0aa3a5b774f335d57c2", + "sha256:4321052bfe28f9d85082341ca8e233e3ea901fdd14dab8a5d3fbd810269fbaf6" ], - "version": "==3.14.3" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==3.20.1" }, "uritemplate": { "hashes": [ "sha256:07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f", "sha256:5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae" ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==3.0.1" }, "urllib3": { "hashes": [ - "sha256:2f3db8b19923a873b3e5256dc9c2dedfa883e33d87c690d9c7913e1f40673cdc", - "sha256:87716c2d2a7121198ebcb7ce7cccf6ce5e9ba539041cfbaeecfb641dc0bf6acc" + "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08", + "sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473" ], "markers": "python_version != '3.4'", - "version": "==1.25.8" + "version": "==1.26.2" }, "virtualenv": { "hashes": [ - "sha256:09740201a02918564a84eea071708c46ac26f3bd9b688b48fc6a86f331c536b7", - "sha256:ef3fd938ef165956e51bba0d0623508de920ca9f3ccd30c6e9f74381677e0cbb" + "sha256:54b05fc737ea9c9ee9f8340f579e5da5b09fb64fd010ab5757eb90268616907c", + "sha256:b7a8ec323ee02fb2312f098b6b4c9de99559b462775bc8fe3627a73706603c1b" ], - "version": "==20.0.1" + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==20.2.2" }, "wikipedia": { "hashes": [ "sha256:db0fad1829fdd441b1852306e9856398204dc0786d2996dd2e0c8bb8e26133b2" ], "version": "==1.4.0" - }, - "zipp": { - "hashes": [ - "sha256:5c56e330306215cd3553342cfafc73dda2c60792384117893f3a83f8a1209f50", - "sha256:d65287feb793213ffe11c0f31b81602be31448f38aeb8ffc2eb286c4f6f6657e" - ], - "version": "==2.2.0" } }, "develop": {} diff --git a/README.asciidoc b/README.asciidoc index aa38470..a0b95a2 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -13,6 +13,7 @@ This is a django/python project, so you are going to want to use some standard p === environment Copy `example.env` to `.env` and store your local db secret and other values there. +QUESTION: are you using dotenv to auto-load these, or should we prefix the lines with `export` and run `source .env`? Virtual environments in python are a way of separating and reproducing the python package requirements. @@ -23,6 +24,10 @@ From the root of the project For every new terminal, or when returning to work on the project, you will need to run source venv/bin/activate + source .env + +==== Linux +You need the debian packages `libxml2-dev libxslt1-dev libjpeg9-dev libpq-dev` to install the python requirements. === Database(s) diff --git a/gitensite/apps/content/templates/book_list.html b/gitensite/apps/content/templates/book_list.html index 18c6704..f4515cb 100644 --- a/gitensite/apps/content/templates/book_list.html +++ b/gitensite/apps/content/templates/book_list.html @@ -3,7 +3,7 @@ {% block body_content %} {% block body_js %} - {% load staticfiles %} + {% load static %} {{ block.super }} diff --git a/gitensite/apps/content/templates/book_list_page.html b/gitensite/apps/content/templates/book_list_page.html index 9dda7de..db3a629 100644 --- a/gitensite/apps/content/templates/book_list_page.html +++ b/gitensite/apps/content/templates/book_list_page.html @@ -1,5 +1,5 @@ {% load el_pagination_tags %} -{% load staticfiles %} +{% load static %} {% lazy_paginate object_list %} @@ -34,4 +34,4 @@
diff --git a/gitensite/apps/content/templates/faq.html b/gitensite/apps/content/templates/faq.html index e0698a3..5c5df0c 100644 --- a/gitensite/apps/content/templates/faq.html +++ b/gitensite/apps/content/templates/faq.html @@ -1,4 +1,4 @@ -{% extends 'frame.html' %} {% load fontawesome %} {% load staticfiles %} {% block title %} GITenberg - Making beautiful books in the public domain {% endblock title %} {% block body_content %} +{% extends 'frame.html' %} {% load fontawesome_5 %} {% load static %} {% block title %} GITenberg - Making beautiful books in the public domain {% endblock title %} {% block body_content %}
diff --git a/gitensite/apps/content/templates/frame.html b/gitensite/apps/content/templates/frame.html index 4837b9a..3369790 100644 --- a/gitensite/apps/content/templates/frame.html +++ b/gitensite/apps/content/templates/frame.html @@ -1,6 +1,6 @@ {% extends 'foundation/base.html' %} -{% load fontawesome %} -{% load staticfiles %} +{% load fontawesome_5 %} +{% load static %} {% block meta %} @@ -11,7 +11,6 @@ {# Custom CSS #} {% block css %} -{% fontawesome_stylesheet %} {% endblock css %} diff --git a/gitensite/apps/content/templates/get-involved.html b/gitensite/apps/content/templates/get-involved.html index 3f6716b..0678588 100644 --- a/gitensite/apps/content/templates/get-involved.html +++ b/gitensite/apps/content/templates/get-involved.html @@ -1,4 +1,4 @@ -{% extends 'frame.html' %} {% load fontawesome %} {% load staticfiles %} {% block title %} GITenberg - Making beautiful books in the public domain {% endblock title %} {% block body_content %} +{% extends 'frame.html' %} {% load fontawesome_5 %} {% load static %} {% block title %} GITenberg - Making beautiful books in the public domain {% endblock title %} {% block body_content %} {% include "header.html" %} diff --git a/gitensite/apps/content/templates/header.html b/gitensite/apps/content/templates/header.html index 795048b..6da7f85 100644 --- a/gitensite/apps/content/templates/header.html +++ b/gitensite/apps/content/templates/header.html @@ -1,4 +1,4 @@ -{% load staticfiles %} +{% load static %}
-
\ No newline at end of file +
diff --git a/gitensite/apps/content/templates/home.html b/gitensite/apps/content/templates/home.html index 72637c7..5efa1dc 100644 --- a/gitensite/apps/content/templates/home.html +++ b/gitensite/apps/content/templates/home.html @@ -1,6 +1,6 @@ {% extends 'frame.html' %} -{% load fontawesome %} -{% load staticfiles %} +{% load fontawesome_5 %} +{% load static %} {% load thumbnail %} {% block title %} GITenberg - Maintaining our Cultural Heritage in eBooks {% endblock title %} diff --git a/gitensite/apps/content/templates/license.html b/gitensite/apps/content/templates/license.html index dcf824f..2ef5cfe 100644 --- a/gitensite/apps/content/templates/license.html +++ b/gitensite/apps/content/templates/license.html @@ -1,6 +1,6 @@ {% extends 'frame.html' %} -{% load fontawesome %} -{% load staticfiles %} +{% load fontawesome_5 %} +{% load static %} {% block title %} License -- GITenberg - Making beautiful books in the public domain {% endblock title %} diff --git a/gitensite/apps/content/templates/listing.html b/gitensite/apps/content/templates/listing.html index f1b50a0..aa2179d 100644 --- a/gitensite/apps/content/templates/listing.html +++ b/gitensite/apps/content/templates/listing.html @@ -1,4 +1,4 @@ -{% extends 'frame.html' %} {% load fontawesome %} {% load staticfiles %} {% block title %} GITenberg - Making beautiful books in the public domain {% endblock title %} {% block body_content %} +{% extends 'frame.html' %} {% load fontawesome_5 %} {% load static %} {% block title %} GITenberg - Making beautiful books in the public domain {% endblock title %} {% block body_content %} {% include "header.html" %}
diff --git a/gitensite/apps/content/templates/partials/featured-books.htmldjango b/gitensite/apps/content/templates/partials/featured-books.htmldjango index 9fd529c..6e9d6c8 100644 --- a/gitensite/apps/content/templates/partials/featured-books.htmldjango +++ b/gitensite/apps/content/templates/partials/featured-books.htmldjango @@ -1,4 +1,4 @@ -{% load staticfiles %} +{% load static %} {% load thumbnail %}

\ No newline at end of file +

diff --git a/gitensite/apps/content/templates/updates.html b/gitensite/apps/content/templates/updates.html index 9cc0a40..c097b64 100644 --- a/gitensite/apps/content/templates/updates.html +++ b/gitensite/apps/content/templates/updates.html @@ -1,4 +1,4 @@ -{% extends 'frame.html' %} {% load fontawesome %} {% load staticfiles %} {% block title %} GITenberg - Making beautiful books in the public domain {% endblock title %} {% block body_content %} +{% extends 'frame.html' %} {% load fontawesome_5 %} {% load static %} {% block title %} GITenberg - Making beautiful books in the public domain {% endblock title %} {% block body_content %} {% include "header.html" %} diff --git a/gitensite/settings.py b/gitensite/settings.py index db5054e..78c1903 100644 --- a/gitensite/settings.py +++ b/gitensite/settings.py @@ -32,7 +32,7 @@ 'django_extensions', 'foundation', - 'fontawesome', + 'fontawesome_5', 'storages', 'sorl.thumbnail', 'el_pagination', @@ -121,7 +121,7 @@ AWS_STORAGE_BUCKET_NAME = 'gitensite' AWS_ACCESS_KEY_ID = 'AKIAIDP7I26XHV4SCSLA' # use environment variable to set AWS_SECRET_ACCESS_KEY -AWS_SECRET_ACCESS_KEY = os.environ['AWS_SECRET_ACCESS_KEY'] +AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY') # Tell django-storages that when coming up with the URL for an item in S3 storage, keep # it simple - just use this domain plus the path. (If this isn't set, things get complicated). diff --git a/gitensite/urls.py b/gitensite/urls.py index 3467f25..99de649 100644 --- a/gitensite/urls.py +++ b/gitensite/urls.py @@ -3,9 +3,9 @@ from django.conf.urls import include, url from django.contrib import admin -from django.contrib.staticfiles import views from django.conf import settings from django.views.generic.base import TemplateView +from django.views.static import serve as serve_static from gitensite.apps.content.views import HomePageView from gitensite.apps.content.views import NewsletterView @@ -39,5 +39,5 @@ if settings.DEBUG: urlpatterns += [ - url(r'^static/(?P.*)$', views.serve), + url(r'^static/(?P.*)$', serve_static), ] From 7a6c3e3152873351168e8b7c276bac2fb18891d4 Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Thu, 17 Dec 2020 20:26:16 -0500 Subject: [PATCH 02/12] remove requirements.txt file in favor of Pipenv --- requirements.txt | 70 ------------------------------------------------ 1 file changed, 70 deletions(-) delete mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 09c1072..0000000 --- a/requirements.txt +++ /dev/null @@ -1,70 +0,0 @@ --i https://pypi.org/simple -appdirs==1.4.3 -beautifulsoup4==4.9.1 -boto3==1.14.48 -botocore==1.17.48 -cachecontrol==0.12.6 -cairocffi==0.8.0 -certifi==2020.6.20 -cffi==1.14.2 -chardet==3.0.4 -cryptography==3.0 -distlib==0.3.1 -dj-database-url==0.5.0 -django-debug-toolbar==2.2 -django-el-pagination==3.3.0 -django-extensions==3.0.5 -django-fontawesome==1.0 -django-storages==1.9.1 -django-zurb-foundation==5.5.0 -django==2.2.15 -docopt==0.6.2 -docutils==0.15.2 -filelock==3.0.12 -gitberg==0.7.2 -gitdb==4.0.5 -github3.py==1.3.0 -gitpython==3.1.7 -idna==2.10 -importlib-metadata==1.7.0 ; python_version < '3.8' -importlib-resources==3.0.0 ; python_version < '3.7' -isodate==0.6.0 -jinja2==2.11.2 -jmespath==0.10.0 -jwcrypto==0.8 -lxml==4.5.2 -markupsafe==1.1.1 -mock==2.0.0 -msgpack==1.0.0 -packaging==20.4 -pbr==5.4.5 -pillow==7.2.0 -pluggy==0.13.1 -psycopg2==2.8.5 -py==1.9.0 -pycparser==2.20 -pymarc==4.0.0 -pyopenssl==19.1.0 -pyparsing==2.4.7 -python-dateutil==2.8.1 -pytz==2020.1 -pyyaml==5.3.1 -rdflib-jsonld==0.4.0 -rdflib==4.2.2 -requests==2.24.0 -s3transfer==0.3.3 -semver==2.2.0 -sh==1.13.1 -six==1.15.0 -smmap==3.0.4 -sorl-thumbnail==12.6.3 -soupsieve==2.0.1 -sparqlwrapper==1.6.4 -sqlparse==0.3.1 -toml==0.10.1 -tox==3.19.0 -uritemplate==3.0.1 -urllib3==1.25.10 ; python_version != '3.4' -virtualenv==20.0.31 -wikipedia==1.4.0 -zipp==3.1.0 ; python_version < '3.8' \ No newline at end of file From 88da6e83bd72161cb2a1992e5737b3b4790b0d48 Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Thu, 17 Dec 2020 20:27:52 -0500 Subject: [PATCH 03/12] add ipython and ipdb dev requirements to Pipenv --- Pipfile | 2 + Pipfile.lock | 122 +++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 116 insertions(+), 8 deletions(-) diff --git a/Pipfile b/Pipfile index 25badcf..1d56306 100644 --- a/Pipfile +++ b/Pipfile @@ -4,6 +4,8 @@ url = "https://pypi.org/simple" verify_ssl = true [dev-packages] +ipython = "*" +ipdb = "*" [packages] django = ">=3.1.4" diff --git a/Pipfile.lock b/Pipfile.lock index 36c7219..8fc53b3 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "a04081e70ece6c612b4563e02f17f3d375767925861a479ef6cdee466e16b211" + "sha256": "2a11c9e819bace60075f4c9136835554db74d5d2e070734556acaf2d4d5c6d54" }, "pipfile-spec": 6, "requires": { @@ -42,18 +42,18 @@ }, "boto3": { "hashes": [ - "sha256:18d7ba5d623d4794f439201ab900c9c14a50019bc52d9113b0a2bb2e1ef9af2c", - "sha256:1ddfd307d409e7bc792bd12923078f59c2f56fbba4065c320b3f768481bbbbf7" + "sha256:a05614300fd404c7952a55ae92e106b9400ae65886425aaab3104527be833848", + "sha256:c7556b0861d982b71043fbc0df024644320c817ad796391c442d0c2f15a77223" ], "index": "pypi", - "version": "==1.16.38" + "version": "==1.16.39" }, "botocore": { "hashes": [ - "sha256:1f1ecb1b0c6ffc8fcdd5eeb40f33e986dfe9724dc66c83017014a0506af6378a", - "sha256:38ccc132c5b9d1e7a4dd37af78061fd2dd0e4fd611f527b409a4e9a679a85cdb" + "sha256:449e4196160ff58ee27d2a626a7ce4cfff2640fe1806d7a279e73a30ad286347", + "sha256:e0d0386098a072abd7b6c087e6149d997377c969a823ebe01b3f5bfabe9bfac0" ], - "version": "==1.19.38" + "version": "==1.19.39" }, "cachecontrol": { "hashes": [ @@ -715,5 +715,111 @@ "version": "==1.4.0" } }, - "develop": {} + "develop": { + "backcall": { + "hashes": [ + "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", + "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255" + ], + "version": "==0.2.0" + }, + "decorator": { + "hashes": [ + "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760", + "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7" + ], + "version": "==4.4.2" + }, + "ipdb": { + "hashes": [ + "sha256:c85398b5fb82f82399fc38c44fe3532c0dde1754abee727d8f5cfcc74547b334" + ], + "index": "pypi", + "version": "==0.13.4" + }, + "ipython": { + "hashes": [ + "sha256:c987e8178ced651532b3b1ff9965925bfd445c279239697052561a9ab806d28f", + "sha256:cbb2ef3d5961d44e6a963b9817d4ea4e1fa2eb589c371a470fed14d8d40cbd6a" + ], + "index": "pypi", + "version": "==7.19.0" + }, + "ipython-genutils": { + "hashes": [ + "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8", + "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8" + ], + "version": "==0.2.0" + }, + "jedi": { + "hashes": [ + "sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20", + "sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.17.2" + }, + "parso": { + "hashes": [ + "sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea", + "sha256:caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==0.7.1" + }, + "pexpect": { + "hashes": [ + "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937", + "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c" + ], + "markers": "sys_platform != 'win32'", + "version": "==4.8.0" + }, + "pickleshare": { + "hashes": [ + "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", + "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56" + ], + "version": "==0.7.5" + }, + "prompt-toolkit": { + "hashes": [ + "sha256:25c95d2ac813909f813c93fde734b6e44406d1477a9faef7c915ff37d39c0a8c", + "sha256:7debb9a521e0b1ee7d2fe96ee4bd60ef03c6492784de0547337ca4433e46aa63" + ], + "markers": "python_full_version >= '3.6.1'", + "version": "==3.0.8" + }, + "ptyprocess": { + "hashes": [ + "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0", + "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f" + ], + "version": "==0.6.0" + }, + "pygments": { + "hashes": [ + "sha256:ccf3acacf3782cbed4a989426012f1c535c9a90d3a7fc3f16d231b9372d2b716", + "sha256:f275b6c0909e5dafd2d6269a656aa90fa58ebf4a74f8fcf9053195d226b24a08" + ], + "markers": "python_version >= '3.5'", + "version": "==2.7.3" + }, + "traitlets": { + "hashes": [ + "sha256:178f4ce988f69189f7e523337a3e11d91c786ded9360174a3d9ca83e79bc5396", + "sha256:69ff3f9d5351f31a7ad80443c2674b7099df13cc41fc5fa6e2f6d3b0330b0426" + ], + "markers": "python_version >= '3.7'", + "version": "==5.0.5" + }, + "wcwidth": { + "hashes": [ + "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784", + "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83" + ], + "version": "==0.2.5" + } + } } From ca3035be6644d0104793897de45d81a16f69bfc3 Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Fri, 18 Dec 2020 17:17:19 -0500 Subject: [PATCH 04/12] move foundation_base.html inside project, update refs, use fontawesome5's version of fa-code-fork > fa-code-branch --- .../content/templates/foundation_base.html | 53 +++++++++++++++++++ gitensite/apps/content/templates/frame.html | 7 ++- gitensite/apps/content/templates/home.html | 2 +- 3 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 gitensite/apps/content/templates/foundation_base.html diff --git a/gitensite/apps/content/templates/foundation_base.html b/gitensite/apps/content/templates/foundation_base.html new file mode 100644 index 0000000..0dbde8a --- /dev/null +++ b/gitensite/apps/content/templates/foundation_base.html @@ -0,0 +1,53 @@ +{% load static %} + + + + + + {% block meta %}{% endblock meta %} + {% block base_title %} + {% block title %}Foundation 5.5.0{% endblock title %} + {% endblock base_title %} + + {# Base Foundation CSS #} + {% block foundation_css %} + + + {% endblock foundation_css %} + + {# Custom CSS #} + {% block css %}{% endblock css %} + + {# Override if you need another version of modernizr #} + {% block foundation_modernizer %} + + {% endblock foundation_modernizer %} + + {# Custom head JS #} + {% block head_js %}{% endblock head_js %} + + + {# Main content goes here #} + {% block base_body %}{% endblock base_body %} + + {# Override if you need another version of jQuery #} + {% block foundation_jquery %} + + {% endblock foundation_jquery %} + + {# Foundation JS #} + {% block foundation_js %} + + {% endblock foundation_js %} + + {# Custom JS #} + {% block body_js %}{% endblock body_js %} + + {# Init Foundation #} + {% block foundation_js_init %} + + {% endblock foundation_js_init %} + + diff --git a/gitensite/apps/content/templates/frame.html b/gitensite/apps/content/templates/frame.html index 3369790..6e48dbc 100644 --- a/gitensite/apps/content/templates/frame.html +++ b/gitensite/apps/content/templates/frame.html @@ -1,4 +1,4 @@ -{% extends 'foundation/base.html' %} +{% extends 'foundation_base.html' %} {% load fontawesome_5 %} {% load static %} @@ -11,8 +11,11 @@ {# Custom CSS #} {% block css %} - + + +{% fontawesome_5_static %} + {% endblock css %} diff --git a/gitensite/apps/content/templates/home.html b/gitensite/apps/content/templates/home.html index 5efa1dc..1cec325 100644 --- a/gitensite/apps/content/templates/home.html +++ b/gitensite/apps/content/templates/home.html @@ -23,7 +23,7 @@

Books

- +

Git

From 9ad316ba12c446b28cf74140ffc5c6c2007752a5 Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Mon, 21 Dec 2020 13:41:31 -0500 Subject: [PATCH 05/12] Update footer social media icons with new font-awesome prefixes for brands --- gitensite/apps/content/templates/footer.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gitensite/apps/content/templates/footer.html b/gitensite/apps/content/templates/footer.html index 8a5a3cd..ad18f7b 100644 --- a/gitensite/apps/content/templates/footer.html +++ b/gitensite/apps/content/templates/footer.html @@ -9,9 +9,9 @@
From 7f548d84b4518f215157cf0fc513395129ae42a8 Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Mon, 21 Dec 2020 13:41:52 -0500 Subject: [PATCH 06/12] Update DEBUG mode static route setup --- gitensite/urls.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gitensite/urls.py b/gitensite/urls.py index 99de649..ba64053 100644 --- a/gitensite/urls.py +++ b/gitensite/urls.py @@ -1,11 +1,9 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - from django.conf.urls import include, url from django.contrib import admin from django.conf import settings from django.views.generic.base import TemplateView from django.views.static import serve as serve_static +from django.urls import re_path from gitensite.apps.content.views import HomePageView from gitensite.apps.content.views import NewsletterView @@ -36,8 +34,7 @@ url(r'^browse/?$', BrowseBooksView.as_view(), name='browse'), url(r'^external/(?P\d+)$', ExternalLinksView.as_view(), name='external') ] - if settings.DEBUG: urlpatterns += [ - url(r'^static/(?P.*)$', serve_static), + re_path(r'^static/(?P.*)$', serve_static), ] From 6625e97cf129ce8828c92aa64f31ef64c4f8dc3a Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Mon, 21 Dec 2020 13:44:17 -0500 Subject: [PATCH 07/12] Nest many prod settings under if not debug flag --- gitensite/settings.py | 85 +++++++++++++++++++++---------------------- 1 file changed, 41 insertions(+), 44 deletions(-) diff --git a/gitensite/settings.py b/gitensite/settings.py index 78c1903..64b64a0 100644 --- a/gitensite/settings.py +++ b/gitensite/settings.py @@ -1,25 +1,20 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 """ Django settings for gitensite project. - -For more information on this file, see -https://docs.djangoproject.com/en/1.7/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/1.7/ref/settings/ """ import os +import logging + # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(__file__)) # use environment variable to set DJANGO_SECRET_KEY -SECRET_KEY = os.environ['DJANGO_SECRET_KEY'] +SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY', 'asdf') # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = bool(os.environ.get('DJANGO_DEBUG',False)) - +DEBUG = bool(os.environ.get('DJANGO_DEBUG', False)) +from sorl.thumbnail.log import ThumbnailLogHandler # Application definition COMMON_APPS = [ @@ -29,7 +24,6 @@ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', - 'django_extensions', 'foundation', 'fontawesome_5', @@ -98,8 +92,8 @@ 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'gitensite', - 'USER': 'postgres', - 'PASSWORD': 'gitensite', + 'USER': 'seth', + 'PASSWORD': 'asdf', 'HOST': 'localhost', 'PORT': '5432', } @@ -114,37 +108,41 @@ USE_TZ = True -AWS_S3_OBJECT_PARAMETERS = { # see http://developer.yahoo.com/performance/rules.html#expires - 'Expires': 'Thu, 31 Dec 2099 20:00:00 GMT', - 'CacheControl': 'max-age=94608000', -} -AWS_STORAGE_BUCKET_NAME = 'gitensite' -AWS_ACCESS_KEY_ID = 'AKIAIDP7I26XHV4SCSLA' -# use environment variable to set AWS_SECRET_ACCESS_KEY -AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY') +if not DEBUG: + AWS_S3_OBJECT_PARAMETERS = { # see http://developer.yahoo.com/performance/rules.html#expires + 'Expires': 'Thu, 31 Dec 2099 20:00:00 GMT', + 'CacheControl': 'max-age=94608000', + } + AWS_STORAGE_BUCKET_NAME = 'gitensite' + # TODO: make secret + AWS_ACCESS_KEY_ID = 'AKIAIDP7I26XHV4SCSLA' + # use environment variable to set AWS_SECRET_ACCESS_KEY + AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY') + + # Tell django-storages that when coming up with the URL for an item in S3 storage, keep + # it simple - just use this domain plus the path. (If this isn't set, things get complicated). + # This controls how the `static` template tag from `staticfiles` gets expanded, if you're using it. + # We also use it in the next setting. + AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME + + # inherit the bucket's ACL + AWS_DEFAULT_ACL = None -# Tell django-storages that when coming up with the URL for an item in S3 storage, keep -# it simple - just use this domain plus the path. (If this isn't set, things get complicated). -# This controls how the `static` template tag from `staticfiles` gets expanded, if you're using it. -# We also use it in the next setting. -AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME + # This is used by the `static` template tag from `static`, if you're using that. Or if anything else + # refers directly to STATIC_URL. So it's safest to always set it. + STATIC_URL = f"https://{AWS_S3_CUSTOM_DOMAIN}" if not DEBUG else "/static/" -# inherit the bucket's ACL -AWS_DEFAULT_ACL = None + # Tell the staticfiles app to use S3Boto storage when writing the collected static files (when + # you run `collectstatic`). + STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' + DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' -# This is used by the `static` template tag from `static`, if you're using that. Or if anything else -# refers directly to STATIC_URL. So it's safest to always set it. -STATIC_URL = "https://%s/" % AWS_S3_CUSTOM_DOMAIN +if DEBUG: + STATIC_URL = "/static/" +print(STATIC_URL) -# Tell the staticfiles app to use S3Boto storage when writing the collected static files (when -# you run `collectstatic`). -STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' -DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/1.8/howto/static-files/ -STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, "static") STATICFILES_DIRS = ( os.path.join(BASE_DIR, "assets"), @@ -154,8 +152,6 @@ # The in-development settings and the default configuration. if 'ENVIRONMENT' in os.environ and os.environ['ENVIRONMENT'] == 'DEVELOPMENT': - DEBUG = True - ALLOWED_HOSTS = [] INSTALLED_APPS = COMMON_APPS + LOCAL_APPS + [ @@ -222,14 +218,15 @@ } }, } -#MEDIA_URL = '/static/media/' +MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, "upload/media") -import logging -from sorl.thumbnail.log import ThumbnailLogHandler handler = ThumbnailLogHandler() handler.setLevel(logging.ERROR) logging.getLogger('sorl.thumbnail').addHandler(handler) +if DEBUG: + STATIC_URL = '/static/' + MEDIA_URL = '/media/' From 2e803797121fdc2d15292903e4ec54d461474da2 Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Mon, 21 Dec 2020 19:33:03 -0500 Subject: [PATCH 08/12] Update gitberg to >=0.7.4 --- Pipfile | 2 +- gitensite/{settings.py => settings/prod.py} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename gitensite/{settings.py => settings/prod.py} (100%) diff --git a/Pipfile b/Pipfile index 1d56306..2d2c986 100644 --- a/Pipfile +++ b/Pipfile @@ -9,7 +9,7 @@ ipdb = "*" [packages] django = ">=3.1.4" -gitberg = "==0.7.2" +gitberg = ">=0.7.4" sorl-thumbnail = "*" django-extensions = "*" django-zurb-foundation = "*" diff --git a/gitensite/settings.py b/gitensite/settings/prod.py similarity index 100% rename from gitensite/settings.py rename to gitensite/settings/prod.py From ec1fe54813ae7e77a1aa9aa48c01e11e78a36cb3 Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Mon, 21 Dec 2020 19:38:28 -0500 Subject: [PATCH 09/12] remove readme question --- README.asciidoc | 1 - 1 file changed, 1 deletion(-) diff --git a/README.asciidoc b/README.asciidoc index a0b95a2..48953c9 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -13,7 +13,6 @@ This is a django/python project, so you are going to want to use some standard p === environment Copy `example.env` to `.env` and store your local db secret and other values there. -QUESTION: are you using dotenv to auto-load these, or should we prefix the lines with `export` and run `source .env`? Virtual environments in python are a way of separating and reproducing the python package requirements. From 148d446774b49363220c5204822fedb337aad3a7 Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Mon, 21 Dec 2020 19:39:08 -0500 Subject: [PATCH 10/12] revert readme changes --- README.asciidoc | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.asciidoc b/README.asciidoc index 48953c9..aa38470 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -23,10 +23,6 @@ From the root of the project For every new terminal, or when returning to work on the project, you will need to run source venv/bin/activate - source .env - -==== Linux -You need the debian packages `libxml2-dev libxslt1-dev libjpeg9-dev libpq-dev` to install the python requirements. === Database(s) From aa6437ce706153a4f9b4d3fadf578f0da909631e Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Mon, 29 Mar 2021 21:50:00 -0400 Subject: [PATCH 11/12] Update some README installation and use instructions --- README.asciidoc | 7 +++++-- gitensite/settings/__init__.py | 0 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 gitensite/settings/__init__.py diff --git a/README.asciidoc b/README.asciidoc index aa38470..8907d3c 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -18,11 +18,14 @@ Virtual environments in python are a way of separating and reproducing the pytho From the root of the project - pipenv install -r requirements.txt + pipenv install For every new terminal, or when returning to work on the project, you will need to run - source venv/bin/activate + pipenv shell + +==== Linux +You need the debian packages `libxml2-dev libxslt1-dev libjpeg9-dev libpq-dev` to install the python requirements. === Database(s) diff --git a/gitensite/settings/__init__.py b/gitensite/settings/__init__.py new file mode 100644 index 0000000..e69de29 From c100fea7d8e67fe49417869625c9f0a7171f36ca Mon Sep 17 00:00:00 2001 From: Seth Woodworth Date: Mon, 29 Mar 2021 21:50:21 -0400 Subject: [PATCH 12/12] add a pin for the local development python version --- .python-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.python-version b/.python-version index a5c4c76..2009c7d 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.9.0 +3.9.2