Compare commits
2 Commits
f4e4c5dda4
...
703feb8ca3
Author | SHA1 | Date | |
---|---|---|---|
703feb8ca3 | |||
bc5683cd72 |
28
src/main.py
28
src/main.py
@ -1,3 +1,4 @@
|
|||||||
|
import asyncio
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
from shlex import join
|
from shlex import join
|
||||||
@ -55,8 +56,13 @@ async def pixivprev(interaction: discord.Interaction, url: str):
|
|||||||
if result and match is not None:
|
if result and match is not None:
|
||||||
await interaction.response.defer()
|
await interaction.response.defer()
|
||||||
with TemporaryDirectory() as tmp_dir:
|
with TemporaryDirectory() as tmp_dir:
|
||||||
data = pixiv_api.dowload_pixiv_images(
|
loop = asyncio.get_running_loop()
|
||||||
int(match.group("id")), tmp_dir, REFRESH_TOKEN
|
data = await loop.run_in_executor(
|
||||||
|
None,
|
||||||
|
pixiv_api.dowload_pixiv_images,
|
||||||
|
int(match.group("id")),
|
||||||
|
tmp_dir,
|
||||||
|
REFRESH_TOKEN,
|
||||||
)
|
)
|
||||||
if data is None:
|
if data is None:
|
||||||
await interaction.response.send_message(
|
await interaction.response.send_message(
|
||||||
@ -86,8 +92,13 @@ async def pixiv_preview(interaction: discord.Interaction, message: discord.Messa
|
|||||||
if result and match is not None:
|
if result and match is not None:
|
||||||
await interaction.response.defer()
|
await interaction.response.defer()
|
||||||
with TemporaryDirectory() as tmp_dir:
|
with TemporaryDirectory() as tmp_dir:
|
||||||
data = pixiv_api.dowload_pixiv_images(
|
loop = asyncio.get_running_loop()
|
||||||
int(match.group("id")), tmp_dir, REFRESH_TOKEN
|
data = await loop.run_in_executor(
|
||||||
|
None,
|
||||||
|
pixiv_api.dowload_pixiv_images,
|
||||||
|
int(match.group("id")),
|
||||||
|
tmp_dir,
|
||||||
|
REFRESH_TOKEN,
|
||||||
)
|
)
|
||||||
if data is None:
|
if data is None:
|
||||||
await interaction.response.send_message(
|
await interaction.response.send_message(
|
||||||
@ -126,8 +137,13 @@ async def on_message(message: discord.Message):
|
|||||||
if result and match is not None:
|
if result and match is not None:
|
||||||
with TemporaryDirectory() as tmp_dir:
|
with TemporaryDirectory() as tmp_dir:
|
||||||
async with message.channel.typing():
|
async with message.channel.typing():
|
||||||
data = pixiv_api.dowload_pixiv_images(
|
loop = asyncio.get_running_loop()
|
||||||
int(match.group("id")), tmp_dir, REFRESH_TOKEN
|
data = await loop.run_in_executor(
|
||||||
|
None,
|
||||||
|
pixiv_api.dowload_pixiv_images,
|
||||||
|
int(match.group("id")),
|
||||||
|
tmp_dir,
|
||||||
|
REFRESH_TOKEN,
|
||||||
)
|
)
|
||||||
if data is None:
|
if data is None:
|
||||||
return
|
return
|
||||||
|
@ -9,6 +9,8 @@ import pixivpy3
|
|||||||
|
|
||||||
cpu_count = os.cpu_count()
|
cpu_count = os.cpu_count()
|
||||||
max_thread_num = cpu_count * 2 if cpu_count is not None else 4
|
max_thread_num = cpu_count * 2 if cpu_count is not None else 4
|
||||||
|
if max_thread_num > 10:
|
||||||
|
max_thread_num = 10
|
||||||
|
|
||||||
|
|
||||||
def dowload_pixiv_images(
|
def dowload_pixiv_images(
|
||||||
@ -22,6 +24,7 @@ def dowload_pixiv_images(
|
|||||||
json_result = api.illust_detail(illust_id)
|
json_result = api.illust_detail(illust_id)
|
||||||
illust = json_result.illust
|
illust = json_result.illust
|
||||||
if not illust["visible"]:
|
if not illust["visible"]:
|
||||||
|
logging.info("Can't be viewed, return None")
|
||||||
return None
|
return None
|
||||||
pages = illust["meta_pages"]
|
pages = illust["meta_pages"]
|
||||||
if len(pages) > 0:
|
if len(pages) > 0:
|
||||||
|
Loading…
Reference in New Issue
Block a user