mirror of
https://github.com/migatu/conjurer.git
synced 2026-07-14 13:34:40 +00:00
upgrade
This commit is contained in:
+28
-14
@@ -8,6 +8,7 @@ from queue import Empty
|
||||
|
||||
import discord
|
||||
import pdf2image
|
||||
import fitz
|
||||
import PyPDF2
|
||||
import requests
|
||||
from discord.ext import commands, tasks
|
||||
@@ -53,20 +54,33 @@ class DataModule(commands.Cog):
|
||||
filename = res[random.randrange(0, len(res) - 1)]
|
||||
# select random page
|
||||
file = open(DIR_PATH_SADOX + filename, "rb")
|
||||
readpdf = PyPDF2.PdfReader(file)
|
||||
totalpages = len(readpdf.pages)
|
||||
# trunk-ignore(bandit/B311)
|
||||
page = random.randrange(1, totalpages)
|
||||
# convert page to image
|
||||
image = pdf2image.convert_from_path(
|
||||
DIR_PATH_SADOX + filename, first_page=page, last_page=page
|
||||
)
|
||||
byte_io_stream = io.BytesIO()
|
||||
image[0].save(byte_io_stream, "JPEG")
|
||||
byte_io_stream.seek(0)
|
||||
byte_io_stream.name = "image.jpg"
|
||||
file = discord.File(byte_io_stream)
|
||||
await ctx.send(file=file)
|
||||
if True:
|
||||
doc = fitz.open(DIR_PATH_SADOX + filename)
|
||||
totalpages = len(doc)
|
||||
page_index = random.randrange(0, totalpages)
|
||||
page = doc.load_page(page_index)
|
||||
mat = fitz.Matrix(2.0, 2.0) # powiększenie
|
||||
pix = page.get_pixmap(matrix=mat, alpha=False)
|
||||
|
||||
byte_io_stream = io.BytesIO(pix.tobytes("png"))
|
||||
byte_io_stream.seek(0)
|
||||
byte_io_stream.name = "image.png"
|
||||
await ctx.send(file=discord.File(byte_io_stream))
|
||||
else: #legacy
|
||||
readpdf = PyPDF2.PdfReader(file)
|
||||
totalpages = len(readpdf.pages)
|
||||
# trunk-ignore(bandit/B311)
|
||||
page = random.randrange(1, totalpages)
|
||||
# convert page to image
|
||||
image = pdf2image.convert_from_path(
|
||||
DIR_PATH_SADOX + filename, first_page=page, last_page=page
|
||||
)
|
||||
byte_io_stream = io.BytesIO()
|
||||
image[0].save(byte_io_stream, "JPEG")
|
||||
byte_io_stream.seek(0)
|
||||
byte_io_stream.name = "image.jpg"
|
||||
file = discord.File(byte_io_stream)
|
||||
await ctx.send(file=file)
|
||||
self.logger.info("Get sadox completed")
|
||||
|
||||
@tasks.loop(seconds=3)
|
||||
|
||||
Reference in New Issue
Block a user