From 0eaa19009f6e1b1f6dfde7212b83b3069b79e225 Mon Sep 17 00:00:00 2001 From: th3r00t Date: Sat, 17 Dec 2022 19:29:17 -0500 Subject: [PATCH] Refactored configuration system --- Pipfile | 1 + Pipfile.lock | 338 ++++++++++++++++++------------------- configure | 29 ---- install.sh | 4 + pyShelf.py | 1 + src/backend/lib/config.py | 31 +++- src/backend/lib/storage.py | 7 +- 7 files changed, 206 insertions(+), 205 deletions(-) create mode 100644 install.sh diff --git a/Pipfile b/Pipfile index b7d8d83..72ee684 100644 --- a/Pipfile +++ b/Pipfile @@ -22,6 +22,7 @@ debugpy = "*" pudb = "*" jinja2 = "*" libsass = "*" +nodejs-bin = "*" [dev-packages] diff --git a/Pipfile.lock b/Pipfile.lock index 22d4e55..2741121 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "948140f6eb3bbc1378f6e60765f0ee4a827eeff3e43449d8a7570da5ad523afe" + "sha256": "ef9b8c6d1ecf30fa5192c479c2ab9780678c8fbaae6e765ffdde42c2ab85427b" }, "pipfile-spec": 6, "requires": { @@ -56,11 +56,11 @@ }, "certifi": { "hashes": [ - "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14", - "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382" + "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3", + "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18" ], "markers": "python_version >= '3.6'", - "version": "==2022.9.24" + "version": "==2022.12.7" }, "cfgv": { "hashes": [ @@ -88,27 +88,27 @@ }, "debugpy": { "hashes": [ - "sha256:34d2cdd3a7c87302ba5322b86e79c32c2115be396f3f09ca13306d8a04fe0f16", - "sha256:3c9f985944a30cfc9ae4306ac6a27b9c31dba72ca943214dad4a0ab3840f6161", - "sha256:4e255982552b0edfe3a6264438dbd62d404baa6556a81a88f9420d3ed79b06ae", - "sha256:5ad571a36cec137ae6ed951d0ff75b5e092e9af6683da084753231150cbc5b25", - "sha256:6efc30325b68e451118b795eff6fe8488253ca3958251d5158106d9c87581bc6", - "sha256:7c302095a81be0d5c19f6529b600bac971440db3e226dce85347cc27e6a61908", - "sha256:84c39940a0cac410bf6aa4db00ba174f973eef521fbe9dd058e26bcabad89c4f", - "sha256:86d784b72c5411c833af1cd45b83d80c252b77c3bfdb43db17c441d772f4c734", - "sha256:adcfea5ea06d55d505375995e150c06445e2b20cd12885bcae566148c076636b", - "sha256:b8deaeb779699350deeed835322730a3efec170b88927debc9ba07a1a38e2585", - "sha256:c4b2bd5c245eeb49824bf7e539f95fb17f9a756186e51c3e513e32999d8846f3", - "sha256:c4cd6f37e3c168080d61d698390dfe2cd9e74ebf80b448069822a15dadcda57d", - "sha256:cca23cb6161ac89698d629d892520327dd1be9321c0960e610bbcb807232b45d", - "sha256:d5c814596a170a0a58fa6fad74947e30bfd7e192a5d2d7bd6a12156c2899e13a", - "sha256:daadab4403427abd090eccb38d8901afd8b393e01fd243048fab3f1d7132abb4", - "sha256:dda8652520eae3945833e061cbe2993ad94a0b545aebd62e4e6b80ee616c76b2", - "sha256:e8922090514a890eec99cfb991bab872dd2e353ebb793164d5f01c362b9a40bf", - "sha256:fc233a0160f3b117b20216f1169e7211b83235e3cd6749bcdd8dbb72177030c7" + "sha256:143f79d0798a9acea21cd1d111badb789f19d414aec95fa6389cfea9485ddfb1", + "sha256:1caee68f7e254267df908576c0d0938f8f88af16383f172cb9f0602e24c30c01", + "sha256:2a39e7da178e1f22f4bc04b57f085e785ed1bcf424aaf318835a1a7129eefe35", + "sha256:3d9c31baf64bf959a593996c108e911c5a9aa1693a296840e5469473f064bcec", + "sha256:40e2a83d31a16b83666f19fa06d97b2cc311af88e6266590579737949971a17e", + "sha256:4ab5e938925e5d973f567d6ef32751b17d10f3be3a8c4d73c52f53e727f69bf1", + "sha256:563f148f94434365ec0ce94739c749aabf60bf67339e68a9446499f3582d62f3", + "sha256:62ba4179b372a62abf9c89b56997d70a4100c6dea6c2a4e0e4be5f45920b3253", + "sha256:67edf033f9e512958f7b472975ff9d9b7ff64bf4440f6f6ae44afdc66b89e6b6", + "sha256:6ae238943482c78867ac707c09122688efb700372b617ffd364261e5e41f7a2f", + "sha256:82229790442856962aec4767b98ba2559fe0998f897e9f21fb10b4fd24b6c436", + "sha256:86bd25f38f8b6c5d430a5e2931eebbd5f580c640f4819fcd236d0498790c7204", + "sha256:d2968e589bda4e485a9c61f113754a28e48d88c5152ed8e0b2564a1fadbe50a5", + "sha256:d5ab9bd3f4e7faf3765fd52c7c43c074104ab1e109621dc73219099ed1a5399d", + "sha256:d8df268e9f72fc06efc2e75e8dc8e2b881d6a397356faec26efb2ee70b6863b7", + "sha256:e62b8034ede98932b92268669318848a0d42133d857087a3b9cec03bb844c615", + "sha256:e886a1296cd20a10172e94788009ce74b759e54229ebd64a43fa5c2b4e62cd76", + "sha256:ea4bf208054e6d41749f17612066da861dff10102729d32c85b47f155223cf2b" ], "index": "pypi", - "version": "==1.6.3" + "version": "==1.6.4" }, "distlib": { "hashes": [ @@ -119,11 +119,11 @@ }, "django": { "hashes": [ - "sha256:678bbfc8604eb246ed54e2063f0765f13b321a50526bdc8cb1f943eda7fa31f1", - "sha256:6b1de6886cae14c7c44d188f580f8ba8da05750f544c80ae5ad43375ab293cd5" + "sha256:0b223bfa55511f950ff741983d408d78d772351284c75e9f77d2b830b6b4d148", + "sha256:d38a4e108d2386cb9637da66a82dc8d0733caede4c83c4afdbda78af4214211b" ], "index": "pypi", - "version": "==4.1.3" + "version": "==4.1.4" }, "dnspython": { "hashes": [ @@ -145,20 +145,20 @@ "all" ], "hashes": [ - "sha256:07032e53df9a57165047b4f38731c38bdcc3be5493220471015e2b4b51b486a4", - "sha256:254453a2e22f64e2a1b4e1d8baf67d239e55b6c8165c079d25746a5220c81bb4" + "sha256:263b718bb384422fe3d042ffc9a0c8dece5e034ab6586ff034f6b4b1667c3eee", + "sha256:915bf304180a0e7c5605ec81097b7d4cd8826ff87a02bb198e336fb9f3b5ff02" ], "index": "pypi", "markers": null, - "version": "==0.87.0" + "version": "==0.88.0" }, "filelock": { "hashes": [ - "sha256:55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc", - "sha256:617eb4e5eedc82fc5f47b6d61e4d11cb837c56cb4544e39081099fa17ad109d4" + "sha256:7565f628ea56bfcd8e54e42bdc55da899c85c1abfe1b5bcfd147e9188cebb3b2", + "sha256:8df285554452285f79c035efb0c861eb33a4bcfa5b7a137016e32e6a90f9792c" ], "markers": "python_version >= '3.7'", - "version": "==3.8.0" + "version": "==3.8.2" }, "greenlet": { "hashes": [ @@ -506,67 +506,75 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'", "version": "==1.7.0" }, + "nodejs-bin": { + "hashes": [ + "sha256:068ca987ed83ea1123775fafe5dc22d8f2ff920d7d31571e1bfe6fb1093833eb", + "sha256:06cfeaa4d26eec94d8edb9927525ce94eb96dadc81f7d1daed42d1a7d003a4c9", + "sha256:16cb1abf7fe8c11c574e1e474d9f934a0df49a480290eae6e733d8bb09512e22", + "sha256:21f1f77ddc8fe05353bb6d6ee8e5a62edb3a8dcdb2740a5f9307fd8d9eef6691", + "sha256:431ee3529f4fb226ddcfd4f14cb37e7df31238c42dfd051f4bf8f0c21029b133", + "sha256:59671fdc563dabb8be8a0b6dae4169d780482b3c9e0fba3f9aa2b7ee8d2261ac", + "sha256:cbd509218b4b17f75ee7841f9c21d5cacc1626d3b823a652a6627dbad18228ec" + ], + "index": "pypi", + "version": "==18.4.0a4" + }, "orjson": { "hashes": [ - "sha256:1463674f8efe6984902473d7b5ce3edf444c1fcd09dc8aa4779638a28fb9ca01", - "sha256:1874c05d0bb994601fa2d51605cb910d09343c6ebd36e84a573293523fab772a", - "sha256:1c3833976ebbeb3b5b6298cb22e23bf18453f6b80802103b7d08f7dd8a61611d", - "sha256:2734086d9a3dd9591c4be7d05aff9beccc086796d3f243685e56b7973ebac5bc", - "sha256:2ab3fd8728e12c36e20c6d9d70c9e15033374682ce5acb6ed6a08a80dacd254d", - "sha256:33edb5379c6e6337f9383c85fe4080ce3aa1057cc2ce29345b7239461f50cbd6", - "sha256:349387ed6989e5db22e08c9af8d7ca14240803edc50de451d48d41a0e7be30f6", - "sha256:3c632a2157fa9ec098d655287e9e44809615af99837c49f53d96bfbca453c5bd", - "sha256:3ecd8936259a5920b52a99faf62d4efeb9f5e25a0aacf0cce1e9fa7c37af154f", - "sha256:43e69b360c2851b45c7dbab3b95f7fa8469df73fab325a683f7389c4db63aa71", - "sha256:4bcce53e9e088f82633f784f79551fcd7637943ab56c51654aaf9d4c1d5cfa54", - "sha256:4e42b19619d6e97e201053b865ca4e62a48da71165f4081508ada8e1b91c6a30", - "sha256:5c9be25c313ba2d5478829d949165445c3bd36c62e07092b4ba8dbe5426574d1", - "sha256:6068a27d59d989d4f2864c2fc3440eb7126a0cfdfaf8a4ad136b0ffd932026ae", - "sha256:64c5da5c9679ef3d85e9bbcbb62f4ccdc1f1975780caa20f2ec1e37b4da6bd36", - "sha256:6b364ea01d1b71b9f97bf97af9eb79ebee892df302e127a9e2e4f8eaa74d6b98", - "sha256:6bf36fa759a1b941fc552ad76b2d7fb10c1d2a20c056be291ea45eb6ae1da09b", - "sha256:6e43cdc3ddf96bdb751b748b1984b701125abacca8fc2226b808d203916e8cba", - "sha256:6fda669211f2ed1fc2c8130187ec90c96b4f77b6a250004e666d2ef8ed524e5f", - "sha256:73ab3f4288389381ae33ab99f914423b69570c88d626d686764634d5e0eeb909", - "sha256:74e7d54d11b3da42558d69a23bf92c2c48fabf69b38432d5eee2c5b09cd4c433", - "sha256:7ea96923e26390b2142602ebb030e2a4db9351134696e0b219e5106bddf9b48e", - "sha256:8cbadc9be748a823f9c743c7631b1ee95d3925a9c0b21de4e862a1d57daa10ec", - "sha256:8d47e7592fe938aec898eb22ea4946298c018133df084bc78442ff18e2c6347c", - "sha256:99c49e49a04bf61fee7aaea6d92ac2b1fcf6507aea894bbdf3fbb25fe792168c", - "sha256:9f3cd0394eb6d265beb2a1572b5663bc910883ddbb5cdfbcb660f5a0444e7fd8", - "sha256:a02c13ae523221576b001071354380e277346722cc6b7fdaacb0fd6db5154b3e", - "sha256:a07d5a8c69a2947d9554a00302734fe3d8516415c8b280963c92bc1033477890", - "sha256:a0d89de876e6f1cef917a2338378a60a98584e1c2e1c67781e20b6ed1c512478", - "sha256:a2fb95a45031ccf278e44341027b3035ab99caa32aa173279b1f0a06324f434b", - "sha256:ab63103f60b516c0fce9b62cb4773f689a82ab56e19ef2387b5a3182f80c0d78", - "sha256:aebd4e80fea0f20578fd0452908b9206a6a0d5ae9f5c99b6e665bbcd989e56cd", - "sha256:b14765ea5aabfeab1a194abfaa0be62c9fee6480a75ac8c6974b4eeede3340b4", - "sha256:b6007e1ac8564b13b2521720929e8bb3ccd3293d9fdf38f28728dcc06db6248f", - "sha256:b98a8c825a59db94fbe8e0cce48618624c5a6fb1436467322d90667c08a0bf80", - "sha256:b9a34519d3d70935e1cd3797fbed8fbb6f61025182bea0140ca84d95b6f8fbe5", - "sha256:bc112c17e607c59d1501e72afb44226fa53d947d364aed053f0c82d153e29616", - "sha256:c13114b345cda33644f64e92fe5d8737828766cf02fbbc7d28271a95ea546832", - "sha256:c1ef75f1d021d817e5c60a42da0b4b7e3123b1b37415260b8415666ddacc7cd7", - "sha256:c3d9f1043f618d0c64228aab9711e5bd822253c50b6c56223951e32b51f81d62", - "sha256:cde11822cf71a7f0daaa84223249b2696a2b6cda7fa587e9fd762dff1a8848e4", - "sha256:d1d8864288f7c5fccc07b43394f83b721ddc999f25dccfb5d0651671a76023f5", - "sha256:d755d94a90a941b91b4d39a6b02e289d8ba358af2d1a911edf266be7942609dc", - "sha256:da35d347115758bbc8bfaf39bb213c42000f2a54e3f504c84374041d20835cd6", - "sha256:ed10600e8b08f1e87b656ad38ab316191ce94f2c9adec57035680c0dc9e93c81", - "sha256:ee39071da2026b11e4352d6fc3608a7b27ee14bc699fd240f4e604770bc7a255", - "sha256:f436132e62e647880ca6988974c8e3165a091cb75cbed6c6fd93e931630c22fa", - "sha256:f63da6309c282a2b58d4a846f0717f6440356b4872838b9871dc843ed1fe2b38", - "sha256:fa2e565cf8ffdb37ce1887bd1592709ada7f701e61aa4b1e710be94b0aecbab4" + "sha256:0379ad4c0246281f136a93ed357e342f24070c7055f00aeff9a69c2352e38d10", + "sha256:0459893746dc80dbfb262a24c08fdba2a737d44d26691e85f27b2223cac8075f", + "sha256:068febdc7e10655a68a381d2db714d0a90ce46dc81519a4962521a0af07697fb", + "sha256:194aef99db88b450b0005406f259ad07df545e6c9632f2a64c04986a0faf2c68", + "sha256:3497dde5c99dd616554f0dcb694b955a2dc3eb920fe36b150f88ce53e3be2a46", + "sha256:37196a7f2219508c6d944d7d5ea0000a226818787dadbbed309bfa6174f0402b", + "sha256:3e9e54ff8c9253d7f01ebc5836a1308d0ebe8e5c2edee620867a49556a158484", + "sha256:4b0c13e05da5bc1a6b2e1d3b117cc669e2267ce0a131e94845056d506ef041c6", + "sha256:4b587ec06ab7dd4fb5acf50af98314487b7d56d6e1a7f05d49d8367e0e0b23bc", + "sha256:4cd0bb7e843ceba759e4d4cc2ca9243d1a878dac42cdcfc2295883fbd5bd2400", + "sha256:4fff44ca121329d62e48582850a247a487e968cfccd5527fab20bd5b650b78c3", + "sha256:52540572c349179e2a7b6a7b98d6e9320e0333533af809359a95f7b57a61c506", + "sha256:54f3ef512876199d7dacd348a0fc53392c6be15bdf857b2d67fa1b089d561b98", + "sha256:65ea3336c2bda31bc938785b84283118dec52eb90a2946b140054873946f60a4", + "sha256:6bf425bba42a8cee49d611ddd50b7fea9e87787e77bf90b2cb9742293f319480", + "sha256:75de90c34db99c42ee7608ff88320442d3ce17c258203139b5a8b0afb4a9b43b", + "sha256:78d69020fa9cf28b363d2494e5f1f10210e8fecf49bf4a767fcffcce7b9d7f58", + "sha256:7f0ec0ca4e81492569057199e042607090ba48289c4f59f29bbc219282b8dc60", + "sha256:83891e9c3a172841f63cae75ff9ce78f12e4c2c5161baec7af725b1d71d4de21", + "sha256:8fe6188ea2a1165280b4ff5fab92753b2007665804e8214be3d00d0b83b5764e", + "sha256:94bd4295fadea984b6284dc55f7d1ea828240057f3b6a1d8ec3fe4d1ea596964", + "sha256:961bc1dcbc3a89b52e8979194b3043e7d28ffc979187e46ad23efa8ada612d04", + "sha256:989bf5980fc8aca43a9d0a50ea0a0eee81257e812aaceb1e9c0dbd0856fc5230", + "sha256:a30503ee24fc3c59f768501d7a7ded5119a631c79033929a5035a4c91901eac7", + "sha256:aa57fe8b32750a64c816840444ec4d1e4310630ecd9d1d7b3db4b45d248b5585", + "sha256:b7018494a7a11bcd04da1173c3a38fa5a866f905c138326504552231824ac9c1", + "sha256:b70782258c73913eb6542c04b6556c841247eb92eeace5db2ee2e1d4cb6ffaa5", + "sha256:ca61e6c5a86efb49b790c8e331ff05db6d5ed773dfc9b58667ea3b260971cfb2", + "sha256:cbdfbd49d58cbaabfa88fcdf9e4f09487acca3d17f144648668ea6ae06cc3183", + "sha256:cf3dad7dbf65f78fefca0eb385d606844ea58a64fe908883a32768dfaee0b952", + "sha256:d30d427a1a731157206ddb1e95620925298e4c7c3f93838f53bd19f6069be244", + "sha256:d46241e63df2d39f4b7d44e2ff2becfb6646052b963afb1a99f4ef8c2a31aba0", + "sha256:d5870ced447a9fbeb5aeb90f362d9106b80a32f729a57b59c64684dbc9175e92", + "sha256:d746da1260bbe7cb06200813cc40482fb1b0595c4c09c3afffe34cfc408d0a4a", + "sha256:dbd74d2d3d0b7ac8ca968c3be51d4cfbecec65c6d6f55dabe95e975c234d0338", + "sha256:dc29ff612030f3c2e8d7c0bc6c74d18b76dde3726230d892524735498f29f4b2", + "sha256:e570fdfa09b84cc7c42a3a6dd22dbd2177cb5f3798feefc430066b260886acae", + "sha256:eda1534a5289168614f21422861cbfb1abb8a82d66c00a8ba823d863c0797178", + "sha256:ef3b4c7931989eb973fbbcc38accf7711d607a2b0ed84817341878ec8effb9c5", + "sha256:f06ef273d8d4101948ebc4262a485737bcfd440fb83dd4b125d3e5f4226117bc", + "sha256:f1612e08b8254d359f9b72c4a4099d46cdc0f58b574da48472625a0e80222b6e", + "sha256:f8ff793a3188c21e646219dc5e2c60a74dde25c26de3075f4c2e33cf25835340", + "sha256:faf44a709f54cf490a27ccb0fb1cb5a99005c36ff7cb127d222306bf84f5493f", + "sha256:ff96c61127550ae25caab325e1f4a4fba2740ca77f8e81640f1b8b575e95f784" ], - "version": "==3.8.2" + "version": "==3.8.3" }, "packaging": { "hashes": [ - "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", - "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" + "sha256:2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3", + "sha256:957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3" ], - "markers": "python_version >= '3.6'", - "version": "==21.3" + "markers": "python_version >= '3.7'", + "version": "==22.0" }, "parso": { "hashes": [ @@ -578,11 +586,11 @@ }, "platformdirs": { "hashes": [ - "sha256:1006647646d80f16130f052404c6b901e80ee4ed6bef6792e1f238a8969106f7", - "sha256:af0276409f9a02373d540bf8480021a048711d572745aef4b7842dad245eba10" + "sha256:1a89a12377800c81983db6be069ec068eee989748799b946cce2a6e80dcc54ca", + "sha256:b46ffafa316e6b83b47489d240ce17173f123a9b9c83282141c3daf26ad9ac2e" ], "markers": "python_version >= '3.7'", - "version": "==2.5.4" + "version": "==2.6.0" }, "pre-commit": { "hashes": [ @@ -734,14 +742,6 @@ "markers": "python_version >= '3.6'", "version": "==2.13.0" }, - "pyparsing": { - "hashes": [ - "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb", - "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc" - ], - "markers": "python_full_version >= '3.6.8'", - "version": "==3.0.9" - }, "pypdf2": { "hashes": [ "sha256:7074034d199a817f3c0190c533a1a64ed4237cc060cdb1ebc3a6da796a2c71c0", @@ -923,11 +923,11 @@ }, "starlette": { "hashes": [ - "sha256:0efc058261bbcddeca93cad577efd36d0c8a317e44376bcfc0e097a2b3dc24a7", - "sha256:b1b52305ee8f7cfc48cde383496f7c11ab897cd7112b33d998b1317dc8ef9027" + "sha256:b092cbc365bea34dd6840b42861bdabb2f507f8671e642e8272d2442e08ea4ff", + "sha256:b5eda991ad5f0ee5d8ce4c4540202a573bb6691ecd0c712262d0bc85cf8f2c50" ], "markers": "python_version >= '3.7'", - "version": "==0.21.0" + "version": "==0.22.0" }, "toml": { "hashes": [ @@ -954,73 +954,73 @@ }, "ujson": { "hashes": [ - "sha256:0762a4fdf86e01f3f8d8b6b7158d01fdd870799ff3f402b676e358fcd879e7eb", - "sha256:10095160dbe6bba8059ad6677a01da251431f4c68041bf796dcac0956b34f8f7", - "sha256:1a485117f97312bef45f5d79d2ff97eff4da503b8a04f3691f59d31141686459", - "sha256:1cef44ea4973344baed3d50a5da4a8843de3a6af7dea7fadf0a594e53ce5892f", - "sha256:1dc2f46c31ef22b0aaa28cd71be897bea271e700636658d573df9c43c49ebbd0", - "sha256:21678d7e068707e4d54bdfeb8c250ebc548b51e499aed778b22112ca31a79669", - "sha256:278aa9d7cb56435c96d19f5d702e026bcf69f824e24b41e9b52706abd3565837", - "sha256:2ab011e3556a9a1d9461bd686870c527327765ed02fe53550531d6609a8a33ff", - "sha256:2d90414e3b4b44b39825049185959488e084ea7fcaf6124afd5c00893938b09d", - "sha256:2e506ecf89b6b9d304362ccef770831ec242a52c89dab1b4aabf1ab0eb1d5ed6", - "sha256:33cd9084fefc74cbacf88c92fd260b61211e00bcde38d640c369e5dc34a2b4e1", - "sha256:3b74467564814fbce322427a5664e6bcc7dae6dbc8acbef76300fe43ca4072ab", - "sha256:3f3f4240d99d55eb97cb012e9adf401f5ed9cd827af0341ac44603832202b0d2", - "sha256:3fe1aea596f9539fc20cd9e52f098c842afc090168824fd4ca9744fe13151a03", - "sha256:4a8cb3c8637006c5bd8237ebb5992a76ba06e39988ad5cff2096227443e8fd6a", - "sha256:4ef4ab8352861b99bd7fedb1fc6df3ea7f7d5216c789ba6d859e4ea06f1a4c45", - "sha256:5035bb997d163f346c22abcec75190e7e756a5349e7c708bd3d5fd7066a9a854", - "sha256:593a0f6fb0e186c5ba65465ed6f6215a30d1efa898c25e74de1c8577a1bff6d0", - "sha256:59cdcd934385f36e8bd76aedc234371cc75c848d95bdce804ac8aa8744cfeffa", - "sha256:5a9b1320d8363a42d857fae8065a2174d38217cdd58cd8dc4f48d54e0591271e", - "sha256:5f9681ec4c60d0da590552427d770636d9079038c30b265f507ccde23caa7823", - "sha256:5fd797a4837ba10671954e7c09010cec7aca67e09d193f4920a16beea5f66f65", - "sha256:6019e3480d933d3698f2ecb4b46d64bfadd64e718f04fac36e681f3254b49a93", - "sha256:603607f56a0ee84d9cd2c7e9b1d29b18a70684b94ee34f07b9ffe8dc9c8a9f81", - "sha256:60a4b481978ea2aad8fe8af1ecc271624d01b3cf4b09e9b643dd2fe19c07634c", - "sha256:6b9812638d7aa8ecda2e8e1513fb4da999249603bffab7439a5f8f0bb362b0db", - "sha256:6c7ae6e0778ab9610f5e80e0595957d101ab8de18c32a8c053a19943ef4831d0", - "sha256:6f83be8257b2f2dd6dea5ee62cd28db90584da7a7af1fba77a2102fc7943638a", - "sha256:701e81e047f5c0cffd4ac828efca68b0bd270c616654966a051e9a5f836b385e", - "sha256:703fd69d9cb21d6ec2086789df9be2cf8140a76ff127050c24007ea8940dcd3b", - "sha256:7471d4486f23518cff343f1eec6c68d1b977ed74c3e6cc3e1ac896b9b7d68645", - "sha256:765d46f3d5e7a1d48075035e2d1a9164f683e3fccde834ca04602e6c588835bc", - "sha256:7a09d203983104918c62f2eef9406f24c355511f9217967df23e70fa7f5b54ff", - "sha256:7c20cc83b0df47129ec6ed8a47fa7dcfc309c5bad029464004162738502568bb", - "sha256:7d7cfac2547c93389fa303fc0c0eb6698825564e8389c41c9b60009c746207b6", - "sha256:7d87c817b292efb748f1974f37e8bb8a8772ef92f05f84e507159360814bcc3f", - "sha256:8141f654432cf75144d6103bfac2286b8adf23467201590b173a74535d6be22d", - "sha256:849f2ff40264152f25589cb48ddb4a43d14db811f841ec73989bfc0c8c4853fa", - "sha256:880c84ce59f49776cf120f77e7ca04877c97c6887917078dbc369eb47004d7cf", - "sha256:94874584b733a18b310b0e954d53168e62cd4a0fd9db85b1903f0902a7eb33e8", - "sha256:95603eff711b8f3b9596e1c961dbeb745a792ba1904141612f194e07edd71e5f", - "sha256:9585892091ae86045135d6a6129a644142d6a51b23e1428bb5de6d10bc0ce0c7", - "sha256:977bf5be704a88d46bf5b228df8b44521b1f3119d741062191608b3a6a38f224", - "sha256:9cdc46859024501c20ab74ad542cdf2f08b94b5ce384f2f569483fa3ed926d04", - "sha256:a34a5f034b339f69ef7f6a134c22d04b92e07b6ddc1dd65382e7e4ec65d6437d", - "sha256:a655f7b755cfc5c07f2116b6dcf0ba148c89adef9a6d40c1b0f1fada878c4345", - "sha256:a7d12f2d2df195c8c4e49d2cdbad640353a856c62ca2c624d8b47aa33b65a2a2", - "sha256:abfe83e082c9208891e2158c1b5044a650ecec408b823bf6bf16cd7f8085cafa", - "sha256:b25077a971c7da47bd6846a912a747f6963776d90720c88603b1b55d81790780", - "sha256:bf416a93e1331820c77e3429df26946dbd4fe105e9b487cd2d1b7298b75784a8", - "sha256:c04ae27e076d81a3839047d8eed57c1e17e361640616fd520d752375e3ba8f0c", - "sha256:d5bea13c73f36c4346808df3fa806596163a7962b6d28001ca2a391cab856089", - "sha256:d75bef34e69e7effb7b4849e3f830e3174d2cc6ec7273503fdde111c222dc9b3", - "sha256:d93940664a5ccfd79f72dcb939b0c31a3479889f14f0eb95ec52976f8c0cae7d", - "sha256:d9c89c521dc90c7564358e525f849b93ad1d710553c1491f66b8cce8113bc901", - "sha256:e0b36257dc90194784531c3b922d8d31fb2b4d8e5adfd27aff4eee7174176365", - "sha256:e1135264bcd40965cd35b0869e36952f54825024befdc7a923df9a7d83cfd800", - "sha256:e510d288e613d6927796dfb728e13e4530fc83b9ccac5888a21f7860486eab21", - "sha256:ee9a2c9a4b2421e77f8fe33ed0621dea03c66c710707553020b1e32f3afb6240", - "sha256:f19f11055ba2961eb39bdb1ff15763a53fca4fa0b5b624da3c7a528e83cdd09c", - "sha256:f26544bc10c83a2ff9aa2e093500c1b473f327faae31fb468d591e5823333376", - "sha256:f4875cafc9a6482c04c7df52a725d1c41beb74913c0ff4ec8f189f1954a2afe9", - "sha256:f5179088ef6487c475604b7898731a6ddeeada7702cfb2162155b016703a8475", - "sha256:f63d1ae1ca17bb2c847e298c7bcf084a73d56d434b4c50509fb93a4b4300b0b2", - "sha256:ff4928dc1e9704b567171c16787238201fdbf023665573c12c02146fe1e02eec" + "sha256:0f0f21157d1a84ad5fb54388f31767cde9c1a48fb29de7ef91d8887fdc2ca92b", + "sha256:1217326ba80eab1ff3f644f9eee065bd4fcc4e0c068a2f86f851cafd05737169", + "sha256:169b3fbd1188647c6ce00cb690915526aff86997c89a94c1b50432010ad7ae0f", + "sha256:1a7e4023c79d9a053c0c6b7c6ec50ea0af78381539ab27412e6af8d9410ae555", + "sha256:20d929a27822cb79e034cc5e0bb62daa0257ab197247cb6f35d5149f2f438983", + "sha256:213e41dc501b4a6d029873039da3e45ba7766b9f9eba97ecc4287c371f5403cc", + "sha256:23051f062bb257a87f3e55ea5a055ea98d56f08185fd415b34313268fa4d814e", + "sha256:24d40e01accbf4f0ba5181c4db1bac83749fdc1a5413466da582529f2a096085", + "sha256:2a24b9a96364f943a4754fa00b47855d0a01b84ac4b8b11ebf058c8fb68c1f77", + "sha256:2cb7a4bd91de97b4c8e57fb5289d1e5f3f019723b59d01d79e2df83783dce5a6", + "sha256:31288f85db6295ec63e128daff7285bb0bc220935e1b5107bd2d67e2dc687b7e", + "sha256:35423460954d0c61602da734697724e8dd5326a8aa7900123e584b935116203e", + "sha256:355ef5311854936b9edc7f1ce638f8257cb45fb6b9873f6b2d16a715eafc9570", + "sha256:3a68a204386648ec92ae9b526c1ffca528f38221eca70f98b4709390c3204275", + "sha256:3ad74eb53ee07e76c82f9ef8e7256c33873b81bd1f97a274fdb65ed87c2801f6", + "sha256:3b49a1014d396b962cb1d6c5f867f88b2c9aa9224c3860ee6ff63b2837a2965b", + "sha256:3f00dff3bf26bbb96791ceaf51ca95a3f34e2a21985748da855a650c38633b99", + "sha256:3f8b9e8c0420ce3dcc193ab6dd5628840ba79ad1b76e1816ac7ca6752c6bf035", + "sha256:52f536712d16a1f4e0f9d084982c28e11b7e70c397a1059069e4d28d53b3f522", + "sha256:551408a5c4306839b4a4f91503c96069204dbef2c7ed91a9dab08874ac1ed679", + "sha256:57904e5b49ffe93189349229dcd83f73862ef9bb8517e8f1e62d0ff73f313847", + "sha256:5e5715b0e2767b1987ceed0066980fc0a53421dd2f197b4f88460d474d6aef4c", + "sha256:61fdf24f7bddc402ce06b25e4bed7bf5ee4f03e23028a0a09116835c21d54888", + "sha256:6d0a60c5f065737a81249c819475d001a86da9a41900d888287e34619c9b4851", + "sha256:6ea9024749a41864bffb12da15aace4a3193c03ea97e77b069557aefa342811f", + "sha256:7174e81c137d480abe2f8036e9fb69157e509f2db0bfdee4488eb61dc3f0ff6b", + "sha256:72fa6e850831280a46704032721c75155fd41b839ddadabb6068ab218c56a37a", + "sha256:74671d1bde8c03daeb92abdbd972960978347b1a1d432c4c1b3c9284ce4094cf", + "sha256:798116b88158f13ed687417526100ef353ba4692e0aef8afbc622bd4bf7e9057", + "sha256:7a66c5a75b46545361271b4cf55560d9ad8bad794dd054a14b3fbb031407948e", + "sha256:7bde16cb18b95a8f68cc48715e4652b394b4fee68cb3f9fee0fd7d26b29a53b6", + "sha256:82bf24ea72a73c7d77402a7adc954931243e7ec4241d5738ae74894b53944458", + "sha256:87578ccfc35461c77e73660fb7d89bc577732f671364f442bda9e2c58b571765", + "sha256:91000612a2c30f50c6a009e6459a677e5c1972e51b59ecefd6063543dc47a4e9", + "sha256:9cf04fcc958bb52a6b6c301b780cb9afab3ec68713b17ca5aa423e1f99c2c1cf", + "sha256:9f4efcac06f45183b6ed8e2321554739a964a02d8aa3089ec343253d86bf2804", + "sha256:a51cbe614acb5ea8e2006e4fd80b4e8ea7c51ae51e42c75290012f4925a9d6ab", + "sha256:a8795de7ceadf84bcef88f947f91900d647eda234a2c6cc89912c25048cc0490", + "sha256:ae723b8308ac17a591bb8be9478b58c2c26fada23fd2211fc323796801ad7ff5", + "sha256:aff708a1b9e2d4979f74375ade0bff978be72c8bd90422a756d24d8a46d78059", + "sha256:b2aece7a92dffc9c78787f5f36e47e24b95495812270c27abc2fa430435a931d", + "sha256:b4420bfff18ca6aa39cfb22fe35d8aba3811fa1190c4f4e1ad816b0aad72f7e3", + "sha256:b64d2ac99503a9a5846157631addacc9f74e23f64d5a886fe910e9662660fa10", + "sha256:b72d4d948749e9c6afcd3d7af9ecc780fccde84e26d275c97273dd83c68a488b", + "sha256:b74396a655ac8a5299dcb765b4a17ba706e45c0df95818bcc6c13c4645a1c38e", + "sha256:b9e9d26600020cf635a4e58763959f5a59f8c70f75d72ebf26ceae94c2efac74", + "sha256:bca074d08f0677f05df8170b25ce6e61db3bcdfda78062444972fa6508dc825f", + "sha256:bca3c06c3f10ce03fa80b1301dce53765815c2578a24bd141ce4e5769bb7b709", + "sha256:bfb1fdf61763fafc0f8a20becf9cc4287c14fc41c0e14111d28c0d0dfda9ba56", + "sha256:c169e12642f0edf1dde607fb264721b88787b55a6da5fb3824302a9cac6f9405", + "sha256:c4277f6b1d24be30b7f87ec5346a87693cbc1e55bbc5877f573381b2250c4dd6", + "sha256:ceee5aef3e234c7e998fdb52e5236c41e50cdedc116360f7f1874a04829f6490", + "sha256:d1b5e233e42f53bbbc6961caeb492986e9f3aeacd30be811467583203873bad2", + "sha256:d6f4be832d97836d62ac0c148026ec021f9f36481f38e455b51538fcd949ed2a", + "sha256:dd5ccc036b0f4721b98e1c03ccc604e7f3e1db53866ccc92b2add40ace1782f7", + "sha256:dde59d2f06297fc4e70b2bae6e4a6b3ce89ca89697ab2c41e641abae3be96b0c", + "sha256:e4be7d865cb5161824e12db71cee83290ab72b3523566371a30d6ba1bd63402a", + "sha256:e97af10b6f13a498de197fb852e9242064217c25dfca79ebe7ad0cf2b0dd0cb7", + "sha256:f2d70b7f0b485f85141bbc518d0581ae96b912d9f8b070eaf68a9beef8eb1e60", + "sha256:f3e651f04b7510fae7d4706a4600cd43457f015df08702ece82a71339fc15c3d", + "sha256:f63535d51e039a984b2fb67ff87057ffe4216d4757c3cedf2fc846af88253cb7", + "sha256:f881e2d8a022e9285aa2eab6ba8674358dbcb2b57fa68618d88d62937ac3ff04", + "sha256:fadebaddd3eb71a5c986f0bdc7bb28b072bfc585c141eef37474fc66d1830b0a", + "sha256:fb1632b27e12c0b0df62f924c362206daf246a42c0080e959dd465810dc3482e", + "sha256:fecf83b2ef3cbce4f5cc573df6f6ded565e5e27c1af84038bae5ade306686d82" ], - "version": "==5.5.0" + "version": "==5.6.0" }, "urllib3": { "hashes": [ @@ -1089,11 +1089,11 @@ }, "virtualenv": { "hashes": [ - "sha256:8691e3ff9387f743e00f6bb20f70121f5e4f596cae754531f2b3b3a1b1ac696e", - "sha256:efd66b00386fdb7dbe4822d172303f40cd05e50e01740b19ea42425cbe653e29" + "sha256:ce3b1684d6e1a20a3e5ed36795a97dfc6af29bc3970ca8dab93e11ac6094b3c4", + "sha256:f8b927684efc6f1cc206c9db297a570ab9ad0e51c16fa9e45487d36d1905c058" ], "markers": "python_version >= '3.6'", - "version": "==20.16.7" + "version": "==20.17.1" }, "watchfiles": { "hashes": [ diff --git a/configure b/configure index 86968f1..6b3977e 100755 --- a/configure +++ b/configure @@ -1,37 +1,8 @@ #!/usr/bin/env python3 import os -import json from src.backend.lib.storage import Storage from src.backend.lib.config import Config - -def load_config(): - """Load program configuration.""" - with open('config.json', "r") as file: - config = json.load(file) - file.close() - return config - - -def write_config(config): - """Write program configuration.""" - with open('config.json', "w") as file: - json.dump(config, file) - file.close() - - -def set_book_directory(config=load_config(), *args): - """Set book directory.""" - if config["BOOKPATH"] == "": - try: - config["BOOKPATH"] = args[0] - except IndexError: - config["BOOKPATH"] = input("Input Book Directory ") - - -config_file = load_config() config = Config(os.path.split(os.path.realpath(__file__))[0]) -set_book_directory(config_file) -write_config(config_file) storage = Storage(config) storage.create_tables() diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..063f4fa --- /dev/null +++ b/install.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +pip install pipenv & +pipenv install & +cd src/frontend diff --git a/pyShelf.py b/pyShelf.py index ddaecb8..20a7af7 100755 --- a/pyShelf.py +++ b/pyShelf.py @@ -18,6 +18,7 @@ sys.path.insert(0, PRG_PATH) def run_import(): + asdfas """Begin live import of books.""" config.logger.info("Begining book import.") execute_scan(PRG_PATH, config=config) diff --git a/src/backend/lib/config.py b/src/backend/lib/config.py index 7daef9e..0a140f7 100755 --- a/src/backend/lib/config.py +++ b/src/backend/lib/config.py @@ -17,6 +17,7 @@ class Config: Attributes ---------- root : str() stores root. + config_structure : dict() Default Configuration Structure. _fp : str() file pointer to main configuration. _cp : Path() object of configuration file. _data : dict() parsed json of _fp. @@ -48,13 +49,32 @@ class Config: def __init__(self, root): """Initialize main configuration options.""" self.root = root + self.config_structure = { + "TITLE": "pyShelf E-Book Server", + "VERSION": "0.7.0", + "BOOKPATH": "/books", + "DB_HOST": "localhost", + "DB_PORT": "5432", + "DB_ENGINE": "sqlite", + "DATABASE": "pyshelf", + "USER": "pyshelf", + "PASSWORD": "pyshelf", + "BOOKSHELF": "data/shelf.json", + "ALLOWED_HOSTS": [ + "localhost", + "127.0.0.1", + "[::1]", + "0.0.0.0" + ], + "BUILD_MODE": "development" + } env = os.environ.copy() self._fp = "config.json" try: self._cp = pathlib.Path.joinpath(root, self._fp) except AttributeError: self._cp = pathlib.Path(root, self._fp) - self._data = self.open_file() + self._data = self.init_config() try: self.logger except AttributeError: @@ -78,6 +98,15 @@ class Config: self.db_pass = env.get("PASSWORD", self._data["PASSWORD"]) self.build_mode = env.get("BUILD_MODE", self._data["BUILD_MODE"]) + def init_config(self): + try: + return self.open_file() + except FileNotFoundError: + with open(self._fp, 'w') as _config_file: + json.dump(self.config_structure, _config_file) + _config_file.close() + return self.open_file() + def get_logger(self): """Instantiate logging system.""" _logger = logger diff --git a/src/backend/lib/storage.py b/src/backend/lib/storage.py index a073dee..77ce9e1 100644 --- a/src/backend/lib/storage.py +++ b/src/backend/lib/storage.py @@ -49,12 +49,7 @@ class Storage: str : sqlalchemy Connection String """ if self.config.db_engine == "sqlite": - if os.path.exists(f"{self.config.root}/pyshelf.db"): - return f"sqlite:////{self.config.root}/pyshelf.db" - else: - sqlite_file = open(f'{self.config.root}/pyshelf.db', 'w') - sqlite_file.close() - return f"sqlite://{self.config.root}/pyshelf.db" + return f"sqlite:////{self.config.root}/pyshelf.db" elif self.config.db_engine == "psql": return f"postgresql://{self.user}:{self.password}\ @{self.db_host}:{self.db_port}/{self.sql}"