gamersindo1223
commited on
Commit
·
0ec8a97
1
Parent(s):
f492eaf
Updatte?
Browse files- .gitpod.yml +11 -0
- Dockerfile +37 -0
- Pipfile +21 -0
- Pipfile.lock +382 -0
- main.py +35 -42
- requirements.txt +10 -4
.gitpod.yml
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# This configuration file was automatically generated by Gitpod.
|
| 2 |
+
# Please adjust to your needs (see https://www.gitpod.io/docs/introduction/learn-gitpod/gitpod-yaml)
|
| 3 |
+
# and commit this file to your remote git repository to share the goodness with others.
|
| 4 |
+
|
| 5 |
+
# Learn more from ready-to-use templates: https://www.gitpod.io/docs/introduction/getting-started/quickstart
|
| 6 |
+
|
| 7 |
+
tasks:
|
| 8 |
+
- init: pip install -r requirements.txt
|
| 9 |
+
command: python main.py
|
| 10 |
+
|
| 11 |
+
|
Dockerfile
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
ARG PYTHON_VERSION=3.12.6
|
| 2 |
+
FROM python:${PYTHON_VERSION}-slim AS base
|
| 3 |
+
|
| 4 |
+
RUN apt-get update && \
|
| 5 |
+
apt-get install -y pipenv && \
|
| 6 |
+
apt-get install -y \
|
| 7 |
+
fontconfig \
|
| 8 |
+
fonts-dejavu \
|
| 9 |
+
fonts-dejavu-core \
|
| 10 |
+
fonts-dejavu-extra \
|
| 11 |
+
fonts-liberation \
|
| 12 |
+
fonts-noto \
|
| 13 |
+
git && \
|
| 14 |
+
rm -rf /var/lib/apt/lists/*
|
| 15 |
+
|
| 16 |
+
ENV PORT=7860
|
| 17 |
+
|
| 18 |
+
ENV PIPENV_VENV_IN_PROJECT=1
|
| 19 |
+
|
| 20 |
+
WORKDIR /app
|
| 21 |
+
|
| 22 |
+
COPY requirements.txt .
|
| 23 |
+
|
| 24 |
+
RUN pipenv install --dev --ignore-pipfile
|
| 25 |
+
# RUN pipenv install --dev --ignore-pipfile
|
| 26 |
+
|
| 27 |
+
COPY . .
|
| 28 |
+
|
| 29 |
+
EXPOSE 7860
|
| 30 |
+
|
| 31 |
+
# RUN pipenv run pip install git+https://github.com/KuntilBogel/EnkaNetwork.py fastapi asyncio enkacard uvicorn requests
|
| 32 |
+
|
| 33 |
+
# CMD pipenv run python update.py
|
| 34 |
+
# CMD pipenv run python -m gunicorn main:app -b 0.0.0.0:7860 -w 8 --timeout 600
|
| 35 |
+
# CMD ["sh", "-c", "pipenv run python -m gunicorn main:app -b 0.0.0.0:7860 -w 8 --timeout 600"]
|
| 36 |
+
|
| 37 |
+
CMD [ "pipenv", "run", "python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "8", "--timeout-keep-alive", "600" ]
|
Pipfile
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[[source]]
|
| 2 |
+
url = "https://pypi.org/simple"
|
| 3 |
+
verify_ssl = true
|
| 4 |
+
name = "pypi"
|
| 5 |
+
|
| 6 |
+
[packages]
|
| 7 |
+
blinker = "==1.8.2"
|
| 8 |
+
click = "==8.1.7"
|
| 9 |
+
emoji = "==2.14.0"
|
| 10 |
+
flask = "==3.0.3"
|
| 11 |
+
itsdangerous = "==2.2.0"
|
| 12 |
+
pillow = "==11.0.0"
|
| 13 |
+
pilmoji = {ref = "6ff436fe0a28362bd1d411863347face33e3b6ac", git = "git+https://github.com/jay3332/pilmoji"}
|
| 14 |
+
requests = "==2.32.3"
|
| 15 |
+
urllib3 = "==1.26.20"
|
| 16 |
+
werkzeug = "==3.0.6"
|
| 17 |
+
|
| 18 |
+
[dev-packages]
|
| 19 |
+
|
| 20 |
+
[requires]
|
| 21 |
+
python_version = "3.12"
|
Pipfile.lock
ADDED
|
@@ -0,0 +1,382 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_meta": {
|
| 3 |
+
"hash": {
|
| 4 |
+
"sha256": "a462a11c2480a41ffaec395761414dabe2cf9f0a1f7a9ba615a0d924c41e33e0"
|
| 5 |
+
},
|
| 6 |
+
"pipfile-spec": 6,
|
| 7 |
+
"requires": {
|
| 8 |
+
"python_version": "3.12"
|
| 9 |
+
},
|
| 10 |
+
"sources": [
|
| 11 |
+
{
|
| 12 |
+
"name": "pypi",
|
| 13 |
+
"url": "https://pypi.org/simple",
|
| 14 |
+
"verify_ssl": true
|
| 15 |
+
}
|
| 16 |
+
]
|
| 17 |
+
},
|
| 18 |
+
"default": {
|
| 19 |
+
"blinker": {
|
| 20 |
+
"hashes": [
|
| 21 |
+
"sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01",
|
| 22 |
+
"sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83"
|
| 23 |
+
],
|
| 24 |
+
"index": "pypi",
|
| 25 |
+
"markers": "python_version >= '3.8'",
|
| 26 |
+
"version": "==1.8.2"
|
| 27 |
+
},
|
| 28 |
+
"certifi": {
|
| 29 |
+
"hashes": [
|
| 30 |
+
"sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8",
|
| 31 |
+
"sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"
|
| 32 |
+
],
|
| 33 |
+
"markers": "python_version >= '3.6'",
|
| 34 |
+
"version": "==2024.8.30"
|
| 35 |
+
},
|
| 36 |
+
"charset-normalizer": {
|
| 37 |
+
"hashes": [
|
| 38 |
+
"sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621",
|
| 39 |
+
"sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6",
|
| 40 |
+
"sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8",
|
| 41 |
+
"sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912",
|
| 42 |
+
"sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c",
|
| 43 |
+
"sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b",
|
| 44 |
+
"sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d",
|
| 45 |
+
"sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d",
|
| 46 |
+
"sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95",
|
| 47 |
+
"sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e",
|
| 48 |
+
"sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565",
|
| 49 |
+
"sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64",
|
| 50 |
+
"sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab",
|
| 51 |
+
"sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be",
|
| 52 |
+
"sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e",
|
| 53 |
+
"sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907",
|
| 54 |
+
"sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0",
|
| 55 |
+
"sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2",
|
| 56 |
+
"sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62",
|
| 57 |
+
"sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62",
|
| 58 |
+
"sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23",
|
| 59 |
+
"sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc",
|
| 60 |
+
"sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284",
|
| 61 |
+
"sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca",
|
| 62 |
+
"sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455",
|
| 63 |
+
"sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858",
|
| 64 |
+
"sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b",
|
| 65 |
+
"sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594",
|
| 66 |
+
"sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc",
|
| 67 |
+
"sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db",
|
| 68 |
+
"sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b",
|
| 69 |
+
"sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea",
|
| 70 |
+
"sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6",
|
| 71 |
+
"sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920",
|
| 72 |
+
"sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749",
|
| 73 |
+
"sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7",
|
| 74 |
+
"sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd",
|
| 75 |
+
"sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99",
|
| 76 |
+
"sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242",
|
| 77 |
+
"sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee",
|
| 78 |
+
"sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129",
|
| 79 |
+
"sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2",
|
| 80 |
+
"sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51",
|
| 81 |
+
"sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee",
|
| 82 |
+
"sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8",
|
| 83 |
+
"sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b",
|
| 84 |
+
"sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613",
|
| 85 |
+
"sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742",
|
| 86 |
+
"sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe",
|
| 87 |
+
"sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3",
|
| 88 |
+
"sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5",
|
| 89 |
+
"sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631",
|
| 90 |
+
"sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7",
|
| 91 |
+
"sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15",
|
| 92 |
+
"sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c",
|
| 93 |
+
"sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea",
|
| 94 |
+
"sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417",
|
| 95 |
+
"sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250",
|
| 96 |
+
"sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88",
|
| 97 |
+
"sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca",
|
| 98 |
+
"sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa",
|
| 99 |
+
"sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99",
|
| 100 |
+
"sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149",
|
| 101 |
+
"sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41",
|
| 102 |
+
"sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574",
|
| 103 |
+
"sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0",
|
| 104 |
+
"sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f",
|
| 105 |
+
"sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d",
|
| 106 |
+
"sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654",
|
| 107 |
+
"sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3",
|
| 108 |
+
"sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19",
|
| 109 |
+
"sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90",
|
| 110 |
+
"sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578",
|
| 111 |
+
"sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9",
|
| 112 |
+
"sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1",
|
| 113 |
+
"sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51",
|
| 114 |
+
"sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719",
|
| 115 |
+
"sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236",
|
| 116 |
+
"sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a",
|
| 117 |
+
"sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c",
|
| 118 |
+
"sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade",
|
| 119 |
+
"sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944",
|
| 120 |
+
"sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc",
|
| 121 |
+
"sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6",
|
| 122 |
+
"sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6",
|
| 123 |
+
"sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27",
|
| 124 |
+
"sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6",
|
| 125 |
+
"sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2",
|
| 126 |
+
"sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12",
|
| 127 |
+
"sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf",
|
| 128 |
+
"sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114",
|
| 129 |
+
"sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7",
|
| 130 |
+
"sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf",
|
| 131 |
+
"sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d",
|
| 132 |
+
"sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b",
|
| 133 |
+
"sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed",
|
| 134 |
+
"sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03",
|
| 135 |
+
"sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4",
|
| 136 |
+
"sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67",
|
| 137 |
+
"sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365",
|
| 138 |
+
"sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a",
|
| 139 |
+
"sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748",
|
| 140 |
+
"sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b",
|
| 141 |
+
"sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079",
|
| 142 |
+
"sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"
|
| 143 |
+
],
|
| 144 |
+
"markers": "python_full_version >= '3.7.0'",
|
| 145 |
+
"version": "==3.4.0"
|
| 146 |
+
},
|
| 147 |
+
"click": {
|
| 148 |
+
"hashes": [
|
| 149 |
+
"sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
|
| 150 |
+
"sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
|
| 151 |
+
],
|
| 152 |
+
"index": "pypi",
|
| 153 |
+
"markers": "python_version >= '3.7'",
|
| 154 |
+
"version": "==8.1.7"
|
| 155 |
+
},
|
| 156 |
+
"emoji": {
|
| 157 |
+
"hashes": [
|
| 158 |
+
"sha256:f68ac28915a2221667cddb3e6c589303c3c6954c6c5af6fefaec7f9bdf72fdca",
|
| 159 |
+
"sha256:fcc936bf374b1aec67dda5303ae99710ba88cc9cdce2d1a71c5f2204e6d78799"
|
| 160 |
+
],
|
| 161 |
+
"index": "pypi",
|
| 162 |
+
"markers": "python_version >= '3.7'",
|
| 163 |
+
"version": "==2.14.0"
|
| 164 |
+
},
|
| 165 |
+
"flask": {
|
| 166 |
+
"hashes": [
|
| 167 |
+
"sha256:34e815dfaa43340d1d15a5c3a02b8476004037eb4840b34910c6e21679d288f3",
|
| 168 |
+
"sha256:ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842"
|
| 169 |
+
],
|
| 170 |
+
"index": "pypi",
|
| 171 |
+
"markers": "python_version >= '3.8'",
|
| 172 |
+
"version": "==3.0.3"
|
| 173 |
+
},
|
| 174 |
+
"idna": {
|
| 175 |
+
"hashes": [
|
| 176 |
+
"sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9",
|
| 177 |
+
"sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"
|
| 178 |
+
],
|
| 179 |
+
"markers": "python_version >= '3.6'",
|
| 180 |
+
"version": "==3.10"
|
| 181 |
+
},
|
| 182 |
+
"itsdangerous": {
|
| 183 |
+
"hashes": [
|
| 184 |
+
"sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef",
|
| 185 |
+
"sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"
|
| 186 |
+
],
|
| 187 |
+
"index": "pypi",
|
| 188 |
+
"markers": "python_version >= '3.8'",
|
| 189 |
+
"version": "==2.2.0"
|
| 190 |
+
},
|
| 191 |
+
"jinja2": {
|
| 192 |
+
"hashes": [
|
| 193 |
+
"sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369",
|
| 194 |
+
"sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"
|
| 195 |
+
],
|
| 196 |
+
"markers": "python_version >= '3.7'",
|
| 197 |
+
"version": "==3.1.4"
|
| 198 |
+
},
|
| 199 |
+
"markupsafe": {
|
| 200 |
+
"hashes": [
|
| 201 |
+
"sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4",
|
| 202 |
+
"sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30",
|
| 203 |
+
"sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0",
|
| 204 |
+
"sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9",
|
| 205 |
+
"sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396",
|
| 206 |
+
"sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13",
|
| 207 |
+
"sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028",
|
| 208 |
+
"sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca",
|
| 209 |
+
"sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557",
|
| 210 |
+
"sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832",
|
| 211 |
+
"sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0",
|
| 212 |
+
"sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b",
|
| 213 |
+
"sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579",
|
| 214 |
+
"sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a",
|
| 215 |
+
"sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c",
|
| 216 |
+
"sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff",
|
| 217 |
+
"sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c",
|
| 218 |
+
"sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22",
|
| 219 |
+
"sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094",
|
| 220 |
+
"sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb",
|
| 221 |
+
"sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e",
|
| 222 |
+
"sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5",
|
| 223 |
+
"sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a",
|
| 224 |
+
"sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d",
|
| 225 |
+
"sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a",
|
| 226 |
+
"sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b",
|
| 227 |
+
"sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8",
|
| 228 |
+
"sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225",
|
| 229 |
+
"sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c",
|
| 230 |
+
"sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144",
|
| 231 |
+
"sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f",
|
| 232 |
+
"sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87",
|
| 233 |
+
"sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d",
|
| 234 |
+
"sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93",
|
| 235 |
+
"sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf",
|
| 236 |
+
"sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158",
|
| 237 |
+
"sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84",
|
| 238 |
+
"sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb",
|
| 239 |
+
"sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48",
|
| 240 |
+
"sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171",
|
| 241 |
+
"sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c",
|
| 242 |
+
"sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6",
|
| 243 |
+
"sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd",
|
| 244 |
+
"sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d",
|
| 245 |
+
"sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1",
|
| 246 |
+
"sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d",
|
| 247 |
+
"sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca",
|
| 248 |
+
"sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a",
|
| 249 |
+
"sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29",
|
| 250 |
+
"sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe",
|
| 251 |
+
"sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798",
|
| 252 |
+
"sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c",
|
| 253 |
+
"sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8",
|
| 254 |
+
"sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f",
|
| 255 |
+
"sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f",
|
| 256 |
+
"sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a",
|
| 257 |
+
"sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178",
|
| 258 |
+
"sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0",
|
| 259 |
+
"sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79",
|
| 260 |
+
"sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430",
|
| 261 |
+
"sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"
|
| 262 |
+
],
|
| 263 |
+
"markers": "python_version >= '3.9'",
|
| 264 |
+
"version": "==3.0.2"
|
| 265 |
+
},
|
| 266 |
+
"pillow": {
|
| 267 |
+
"hashes": [
|
| 268 |
+
"sha256:00177a63030d612148e659b55ba99527803288cea7c75fb05766ab7981a8c1b7",
|
| 269 |
+
"sha256:006bcdd307cc47ba43e924099a038cbf9591062e6c50e570819743f5607404f5",
|
| 270 |
+
"sha256:084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903",
|
| 271 |
+
"sha256:0ae08bd8ffc41aebf578c2af2f9d8749d91f448b3bfd41d7d9ff573d74f2a6b2",
|
| 272 |
+
"sha256:0e038b0745997c7dcaae350d35859c9715c71e92ffb7e0f4a8e8a16732150f38",
|
| 273 |
+
"sha256:1187739620f2b365de756ce086fdb3604573337cc28a0d3ac4a01ab6b2d2a6d2",
|
| 274 |
+
"sha256:16095692a253047fe3ec028e951fa4221a1f3ed3d80c397e83541a3037ff67c9",
|
| 275 |
+
"sha256:1a61b54f87ab5786b8479f81c4b11f4d61702830354520837f8cc791ebba0f5f",
|
| 276 |
+
"sha256:1c1d72714f429a521d8d2d018badc42414c3077eb187a59579f28e4270b4b0fc",
|
| 277 |
+
"sha256:1e2688958a840c822279fda0086fec1fdab2f95bf2b717b66871c4ad9859d7e8",
|
| 278 |
+
"sha256:20ec184af98a121fb2da42642dea8a29ec80fc3efbaefb86d8fdd2606619045d",
|
| 279 |
+
"sha256:21a0d3b115009ebb8ac3d2ebec5c2982cc693da935f4ab7bb5c8ebe2f47d36f2",
|
| 280 |
+
"sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316",
|
| 281 |
+
"sha256:2679d2258b7f1192b378e2893a8a0a0ca472234d4c2c0e6bdd3380e8dfa21b6a",
|
| 282 |
+
"sha256:27a7860107500d813fcd203b4ea19b04babe79448268403172782754870dac25",
|
| 283 |
+
"sha256:290f2cc809f9da7d6d622550bbf4c1e57518212da51b6a30fe8e0a270a5b78bd",
|
| 284 |
+
"sha256:2e46773dc9f35a1dd28bd6981332fd7f27bec001a918a72a79b4133cf5291dba",
|
| 285 |
+
"sha256:3107c66e43bda25359d5ef446f59c497de2b5ed4c7fdba0894f8d6cf3822dafc",
|
| 286 |
+
"sha256:375b8dd15a1f5d2feafff536d47e22f69625c1aa92f12b339ec0b2ca40263273",
|
| 287 |
+
"sha256:45c566eb10b8967d71bf1ab8e4a525e5a93519e29ea071459ce517f6b903d7fa",
|
| 288 |
+
"sha256:499c3a1b0d6fc8213519e193796eb1a86a1be4b1877d678b30f83fd979811d1a",
|
| 289 |
+
"sha256:4ad70c4214f67d7466bea6a08061eba35c01b1b89eaa098040a35272a8efb22b",
|
| 290 |
+
"sha256:4b60c9520f7207aaf2e1d94de026682fc227806c6e1f55bba7606d1c94dd623a",
|
| 291 |
+
"sha256:5178952973e588b3f1360868847334e9e3bf49d19e169bbbdfaf8398002419ae",
|
| 292 |
+
"sha256:52a2d8323a465f84faaba5236567d212c3668f2ab53e1c74c15583cf507a0291",
|
| 293 |
+
"sha256:598b4e238f13276e0008299bd2482003f48158e2b11826862b1eb2ad7c768b97",
|
| 294 |
+
"sha256:5bd2d3bdb846d757055910f0a59792d33b555800813c3b39ada1829c372ccb06",
|
| 295 |
+
"sha256:5c39ed17edea3bc69c743a8dd3e9853b7509625c2462532e62baa0732163a904",
|
| 296 |
+
"sha256:5d203af30149ae339ad1b4f710d9844ed8796e97fda23ffbc4cc472968a47d0b",
|
| 297 |
+
"sha256:5ddbfd761ee00c12ee1be86c9c0683ecf5bb14c9772ddbd782085779a63dd55b",
|
| 298 |
+
"sha256:607bbe123c74e272e381a8d1957083a9463401f7bd01287f50521ecb05a313f8",
|
| 299 |
+
"sha256:61b887f9ddba63ddf62fd02a3ba7add935d053b6dd7d58998c630e6dbade8527",
|
| 300 |
+
"sha256:6619654954dc4936fcff82db8eb6401d3159ec6be81e33c6000dfd76ae189947",
|
| 301 |
+
"sha256:674629ff60030d144b7bca2b8330225a9b11c482ed408813924619c6f302fdbb",
|
| 302 |
+
"sha256:6ec0d5af64f2e3d64a165f490d96368bb5dea8b8f9ad04487f9ab60dc4bb6003",
|
| 303 |
+
"sha256:6f4dba50cfa56f910241eb7f883c20f1e7b1d8f7d91c750cd0b318bad443f4d5",
|
| 304 |
+
"sha256:70fbbdacd1d271b77b7721fe3cdd2d537bbbd75d29e6300c672ec6bb38d9672f",
|
| 305 |
+
"sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739",
|
| 306 |
+
"sha256:7326a1787e3c7b0429659e0a944725e1b03eeaa10edd945a86dead1913383944",
|
| 307 |
+
"sha256:73853108f56df97baf2bb8b522f3578221e56f646ba345a372c78326710d3830",
|
| 308 |
+
"sha256:73e3a0200cdda995c7e43dd47436c1548f87a30bb27fb871f352a22ab8dcf45f",
|
| 309 |
+
"sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3",
|
| 310 |
+
"sha256:8069c5179902dcdce0be9bfc8235347fdbac249d23bd90514b7a47a72d9fecf4",
|
| 311 |
+
"sha256:846e193e103b41e984ac921b335df59195356ce3f71dcfd155aa79c603873b84",
|
| 312 |
+
"sha256:8594f42df584e5b4bb9281799698403f7af489fba84c34d53d1c4bfb71b7c4e7",
|
| 313 |
+
"sha256:86510e3f5eca0ab87429dd77fafc04693195eec7fd6a137c389c3eeb4cfb77c6",
|
| 314 |
+
"sha256:8853a3bf12afddfdf15f57c4b02d7ded92c7a75a5d7331d19f4f9572a89c17e6",
|
| 315 |
+
"sha256:88a58d8ac0cc0e7f3a014509f0455248a76629ca9b604eca7dc5927cc593c5e9",
|
| 316 |
+
"sha256:8ba470552b48e5835f1d23ecb936bb7f71d206f9dfeee64245f30c3270b994de",
|
| 317 |
+
"sha256:8c676b587da5673d3c75bd67dd2a8cdfeb282ca38a30f37950511766b26858c4",
|
| 318 |
+
"sha256:8ec4a89295cd6cd4d1058a5e6aec6bf51e0eaaf9714774e1bfac7cfc9051db47",
|
| 319 |
+
"sha256:94f3e1780abb45062287b4614a5bc0874519c86a777d4a7ad34978e86428b8dd",
|
| 320 |
+
"sha256:9a0f748eaa434a41fccf8e1ee7a3eed68af1b690e75328fd7a60af123c193b50",
|
| 321 |
+
"sha256:a5629742881bcbc1f42e840af185fd4d83a5edeb96475a575f4da50d6ede337c",
|
| 322 |
+
"sha256:a65149d8ada1055029fcb665452b2814fe7d7082fcb0c5bed6db851cb69b2086",
|
| 323 |
+
"sha256:b3c5ac4bed7519088103d9450a1107f76308ecf91d6dabc8a33a2fcfb18d0fba",
|
| 324 |
+
"sha256:b4fd7bd29610a83a8c9b564d457cf5bd92b4e11e79a4ee4716a63c959699b306",
|
| 325 |
+
"sha256:bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699",
|
| 326 |
+
"sha256:c12b5ae868897c7338519c03049a806af85b9b8c237b7d675b8c5e089e4a618e",
|
| 327 |
+
"sha256:c26845094b1af3c91852745ae78e3ea47abf3dbcd1cf962f16b9a5fbe3ee8488",
|
| 328 |
+
"sha256:c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa",
|
| 329 |
+
"sha256:c809a70e43c7977c4a42aefd62f0131823ebf7dd73556fa5d5950f5b354087e2",
|
| 330 |
+
"sha256:c8b2351c85d855293a299038e1f89db92a2f35e8d2f783489c6f0b2b5f3fe8a3",
|
| 331 |
+
"sha256:cb929ca942d0ec4fac404cbf520ee6cac37bf35be479b970c4ffadf2b6a1cad9",
|
| 332 |
+
"sha256:d2c0a187a92a1cb5ef2c8ed5412dd8d4334272617f532d4ad4de31e0495bd923",
|
| 333 |
+
"sha256:d69bfd8ec3219ae71bcde1f942b728903cad25fafe3100ba2258b973bd2bc1b2",
|
| 334 |
+
"sha256:daffdf51ee5db69a82dd127eabecce20729e21f7a3680cf7cbb23f0829189790",
|
| 335 |
+
"sha256:e58876c91f97b0952eb766123bfef372792ab3f4e3e1f1a2267834c2ab131734",
|
| 336 |
+
"sha256:eda2616eb2313cbb3eebbe51f19362eb434b18e3bb599466a1ffa76a033fb916",
|
| 337 |
+
"sha256:ee217c198f2e41f184f3869f3e485557296d505b5195c513b2bfe0062dc537f1",
|
| 338 |
+
"sha256:f02541ef64077f22bf4924f225c0fd1248c168f86e4b7abdedd87d6ebaceab0f",
|
| 339 |
+
"sha256:f1b82c27e89fffc6da125d5eb0ca6e68017faf5efc078128cfaa42cf5cb38798",
|
| 340 |
+
"sha256:fba162b8872d30fea8c52b258a542c5dfd7b235fb5cb352240c8d63b414013eb",
|
| 341 |
+
"sha256:fbbcb7b57dc9c794843e3d1258c0fbf0f48656d46ffe9e09b63bbd6e8cd5d0a2",
|
| 342 |
+
"sha256:fcb4621042ac4b7865c179bb972ed0da0218a076dc1820ffc48b1d74c1e37fe9"
|
| 343 |
+
],
|
| 344 |
+
"index": "pypi",
|
| 345 |
+
"markers": "python_version >= '3.9'",
|
| 346 |
+
"version": "==11.0.0"
|
| 347 |
+
},
|
| 348 |
+
"pilmoji": {
|
| 349 |
+
"git": "git+https://github.com/jay3332/pilmoji",
|
| 350 |
+
"markers": "python_full_version >= '3.8.0'",
|
| 351 |
+
"ref": "6ff436fe0a28362bd1d411863347face33e3b6ac"
|
| 352 |
+
},
|
| 353 |
+
"requests": {
|
| 354 |
+
"hashes": [
|
| 355 |
+
"sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760",
|
| 356 |
+
"sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"
|
| 357 |
+
],
|
| 358 |
+
"index": "pypi",
|
| 359 |
+
"markers": "python_version >= '3.8'",
|
| 360 |
+
"version": "==2.32.3"
|
| 361 |
+
},
|
| 362 |
+
"urllib3": {
|
| 363 |
+
"hashes": [
|
| 364 |
+
"sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e",
|
| 365 |
+
"sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32"
|
| 366 |
+
],
|
| 367 |
+
"index": "pypi",
|
| 368 |
+
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
|
| 369 |
+
"version": "==1.26.20"
|
| 370 |
+
},
|
| 371 |
+
"werkzeug": {
|
| 372 |
+
"hashes": [
|
| 373 |
+
"sha256:1bc0c2310d2fbb07b1dd1105eba2f7af72f322e1e455f2f93c993bee8c8a5f17",
|
| 374 |
+
"sha256:a8dd59d4de28ca70471a34cba79bed5f7ef2e036a76b3ab0835474246eb41f8d"
|
| 375 |
+
],
|
| 376 |
+
"index": "pypi",
|
| 377 |
+
"markers": "python_version >= '3.8'",
|
| 378 |
+
"version": "==3.0.6"
|
| 379 |
+
}
|
| 380 |
+
},
|
| 381 |
+
"develop": {}
|
| 382 |
+
}
|
main.py
CHANGED
|
@@ -1,6 +1,9 @@
|
|
| 1 |
from PIL import Image, ImageDraw, ImageFont, ImageEnhance
|
| 2 |
from pilmoji import Pilmoji
|
| 3 |
-
from flask import Flask, request, send_file
|
|
|
|
|
|
|
|
|
|
| 4 |
import requests
|
| 5 |
import warnings
|
| 6 |
import io
|
|
@@ -16,7 +19,12 @@ BASE_RV_W_IMAGE = Image.open("images/base-gd-w-rv.png")
|
|
| 16 |
|
| 17 |
BASE_IMAGE = Image.open("images/base.png")
|
| 18 |
MPLUS_FONT = ImageFont.truetype("fonts/MPLUSRounded1c-Regular.ttf", size=16)
|
| 19 |
-
BRAND = "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
|
| 21 |
def drawText(im, ofs, string, font="fonts/MPLUSRounded1c-Regular.ttf", size=16, color=(0, 0, 0, 255), split_len=None, padding=4, disable_dot_wrap=False):
|
| 22 |
ImageDraw.Draw(im)
|
|
@@ -59,8 +67,8 @@ def drawText(im, ofs, string, font="fonts/MPLUSRounded1c-Regular.ttf", size=16,
|
|
| 59 |
draw_lines = []
|
| 60 |
|
| 61 |
for line in lines:
|
| 62 |
-
tsize =
|
| 63 |
-
|
| 64 |
ofs_y = ofs[1] + dy
|
| 65 |
t_height = tsize[1]
|
| 66 |
|
|
@@ -99,7 +107,7 @@ def make(name, id, content, icon):
|
|
| 99 |
id_y = name_y + tsize_name[1] + 4
|
| 100 |
drawText(img, (890, id_y), id, size=18, color=(180, 180, 180, 255), split_len=45, disable_dot_wrap=True)
|
| 101 |
|
| 102 |
-
tx.text((
|
| 103 |
|
| 104 |
file = io.BytesIO()
|
| 105 |
img.save(file, format="PNG", quality=95)
|
|
@@ -125,7 +133,7 @@ def colorMake(name, id, content, icon):
|
|
| 125 |
id_y = name_y + tsize_name[1] + 4
|
| 126 |
drawText(img, (890, id_y), id, size=18, color=(180, 180, 180, 255), split_len=45, disable_dot_wrap=True)
|
| 127 |
|
| 128 |
-
tx.text((
|
| 129 |
|
| 130 |
file = io.BytesIO()
|
| 131 |
img.save(file, format="PNG", quality=95)
|
|
@@ -205,7 +213,7 @@ def whiteMake(name, id, content, icon):
|
|
| 205 |
id_y = name_y + tsize_name[1] + 4
|
| 206 |
drawText(img, (890, id_y), id, size=18, color=(90, 90, 90, 255), split_len=45, disable_dot_wrap=True)
|
| 207 |
|
| 208 |
-
tx.text((
|
| 209 |
|
| 210 |
file = io.BytesIO()
|
| 211 |
img.save(file, format="PNG", quality=95)
|
|
@@ -238,46 +246,31 @@ def reverseWhiteMake(name, id, content, icon):
|
|
| 238 |
file.seek(0)
|
| 239 |
return file
|
| 240 |
|
| 241 |
-
app =
|
| 242 |
-
|
| 243 |
-
|
| 244 |
-
|
| 245 |
-
|
| 246 |
-
|
| 247 |
-
|
| 248 |
-
|
| 249 |
-
|
| 250 |
-
|
| 251 |
if type == "color":
|
| 252 |
-
|
| 253 |
-
colorMake(name[0], id[0], content, icon),
|
| 254 |
-
mimetype="image/png"
|
| 255 |
-
)
|
| 256 |
elif type == "reverse":
|
| 257 |
-
|
| 258 |
-
reverseMake(name[0], id[0], content, icon),
|
| 259 |
-
mimetype="image/png"
|
| 260 |
-
)
|
| 261 |
elif type == "reverseColor":
|
| 262 |
-
|
| 263 |
-
reverseColorMake(name[0], id[0], content, icon),
|
| 264 |
-
mimetype="image/png"
|
| 265 |
-
)
|
| 266 |
elif type == "white":
|
| 267 |
-
|
| 268 |
-
whiteMake(name[0], id[0], content, icon),
|
| 269 |
-
mimetype="image/png"
|
| 270 |
-
)
|
| 271 |
elif type == "reverseWhite":
|
| 272 |
-
|
| 273 |
-
reverseWhiteMake(name[0], id[0], content, icon),
|
| 274 |
-
mimetype="image/png"
|
| 275 |
-
)
|
| 276 |
else:
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
|
| 280 |
-
|
|
|
|
| 281 |
|
| 282 |
if __name__ == "__main__":
|
| 283 |
-
|
|
|
|
| 1 |
from PIL import Image, ImageDraw, ImageFont, ImageEnhance
|
| 2 |
from pilmoji import Pilmoji
|
| 3 |
+
# from flask import Flask, request, send_file
|
| 4 |
+
from fastapi import FastAPI, Request, Query
|
| 5 |
+
from fastapi.responses import StreamingResponse
|
| 6 |
+
import uvicorn
|
| 7 |
import requests
|
| 8 |
import warnings
|
| 9 |
import io
|
|
|
|
| 19 |
|
| 20 |
BASE_IMAGE = Image.open("images/base.png")
|
| 21 |
MPLUS_FONT = ImageFont.truetype("fonts/MPLUSRounded1c-Regular.ttf", size=16)
|
| 22 |
+
# BRAND = "https://hisoka.net\nhttp://s.id/MaiSakurajima"
|
| 23 |
+
BRAND = "http://s.id/MaiSakurajima"
|
| 24 |
+
|
| 25 |
+
def getsize(font, text):
|
| 26 |
+
left, top, right, bottom = font.getbbox(text)
|
| 27 |
+
return right - left, bottom
|
| 28 |
|
| 29 |
def drawText(im, ofs, string, font="fonts/MPLUSRounded1c-Regular.ttf", size=16, color=(0, 0, 0, 255), split_len=None, padding=4, disable_dot_wrap=False):
|
| 30 |
ImageDraw.Draw(im)
|
|
|
|
| 67 |
draw_lines = []
|
| 68 |
|
| 69 |
for line in lines:
|
| 70 |
+
tsize = getsize(fontObj, line)
|
| 71 |
+
print(tsize)
|
| 72 |
ofs_y = ofs[1] + dy
|
| 73 |
t_height = tsize[1]
|
| 74 |
|
|
|
|
| 107 |
id_y = name_y + tsize_name[1] + 4
|
| 108 |
drawText(img, (890, id_y), id, size=18, color=(180, 180, 180, 255), split_len=45, disable_dot_wrap=True)
|
| 109 |
|
| 110 |
+
tx.text((1070, 694), BRAND, font=MPLUS_FONT, fill=(120, 120, 120, 255))
|
| 111 |
|
| 112 |
file = io.BytesIO()
|
| 113 |
img.save(file, format="PNG", quality=95)
|
|
|
|
| 133 |
id_y = name_y + tsize_name[1] + 4
|
| 134 |
drawText(img, (890, id_y), id, size=18, color=(180, 180, 180, 255), split_len=45, disable_dot_wrap=True)
|
| 135 |
|
| 136 |
+
tx.text((1070, 694), BRAND, font=MPLUS_FONT, fill=(120, 120, 120, 255))
|
| 137 |
|
| 138 |
file = io.BytesIO()
|
| 139 |
img.save(file, format="PNG", quality=95)
|
|
|
|
| 213 |
id_y = name_y + tsize_name[1] + 4
|
| 214 |
drawText(img, (890, id_y), id, size=18, color=(90, 90, 90, 255), split_len=45, disable_dot_wrap=True)
|
| 215 |
|
| 216 |
+
tx.text((1070, 694), BRAND, font=MPLUS_FONT, fill=(120, 120, 120, 255))
|
| 217 |
|
| 218 |
file = io.BytesIO()
|
| 219 |
img.save(file, format="PNG", quality=95)
|
|
|
|
| 246 |
file.seek(0)
|
| 247 |
return file
|
| 248 |
|
| 249 |
+
app = FastAPI()
|
| 250 |
+
@app.get("/")
|
| 251 |
+
async def main(
|
| 252 |
+
type: str = Query(None),
|
| 253 |
+
name: str = Query("SAMPLE"),
|
| 254 |
+
id: str = Query(""),
|
| 255 |
+
content: str = Query("Make it a Quote"),
|
| 256 |
+
icon: str = Query("https://cdn.discordapp.com/embed/avatars/0.png")
|
| 257 |
+
):
|
|
|
|
| 258 |
if type == "color":
|
| 259 |
+
image_io = colorMake(name, id, content, icon)
|
|
|
|
|
|
|
|
|
|
| 260 |
elif type == "reverse":
|
| 261 |
+
image_io = reverseMake(name, id, content, icon)
|
|
|
|
|
|
|
|
|
|
| 262 |
elif type == "reverseColor":
|
| 263 |
+
image_io = reverseColorMake(name, id, content, icon)
|
|
|
|
|
|
|
|
|
|
| 264 |
elif type == "white":
|
| 265 |
+
image_io = whiteMake(name, id, content, icon)
|
|
|
|
|
|
|
|
|
|
| 266 |
elif type == "reverseWhite":
|
| 267 |
+
image_io = reverseWhiteMake(name, id, content, icon)
|
|
|
|
|
|
|
|
|
|
| 268 |
else:
|
| 269 |
+
image_io = make(name, id, content, icon)
|
| 270 |
+
|
| 271 |
+
image_io.seek(0)
|
| 272 |
+
|
| 273 |
+
return StreamingResponse(image_io, media_type="image/png")
|
| 274 |
|
| 275 |
if __name__ == "__main__":
|
| 276 |
+
uvicorn.run(app, host="0.0.0.0", port=3000)
|
requirements.txt
CHANGED
|
@@ -1,4 +1,10 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
blinker==1.8.2
|
| 2 |
+
click==8.1.7
|
| 3 |
+
emoji==2.14.0
|
| 4 |
+
Flask==3.0.3
|
| 5 |
+
itsdangerous==2.2.0
|
| 6 |
+
pillow==11.0.0
|
| 7 |
+
pilmoji @ git+https://github.com/jay3332/pilmoji@6ff436fe0a28362bd1d411863347face33e3b6ac
|
| 8 |
+
requests==2.32.3
|
| 9 |
+
urllib3==1.26.20
|
| 10 |
+
Werkzeug==3.0.6
|