Add PDF translate command
This commit is contained in:
parent
f2352f2aa4
commit
1ea08829df
40
index.py
40
index.py
|
@ -21,7 +21,8 @@ import deepl
|
||||||
import spotipy
|
import spotipy
|
||||||
import pyshorteners
|
import pyshorteners
|
||||||
import pdf2docx
|
import pdf2docx
|
||||||
import ndjson
|
import PyPDF2
|
||||||
|
from googletrans import Translator
|
||||||
from random import randint
|
from random import randint
|
||||||
from random import random
|
from random import random
|
||||||
from fileinput import filename
|
from fileinput import filename
|
||||||
|
@ -388,11 +389,11 @@ def cloud_step(message):
|
||||||
old_name = file_name
|
old_name = file_name
|
||||||
new_name = str(value) + file_name
|
new_name = str(value) + file_name
|
||||||
os.rename(old_name, new_name)
|
os.rename(old_name, new_name)
|
||||||
os.replace(new_name, 'cloud/'+new_name)
|
os.replace(new_name, 'storage/'+new_name)
|
||||||
else:
|
else:
|
||||||
with open(file_name, 'wb') as new_file:
|
with open(file_name, 'wb') as new_file:
|
||||||
new_file.write(downloaded_file)
|
new_file.write(downloaded_file)
|
||||||
os.replace(file_name, 'cloud/'+file_name)
|
os.replace(file_name, 'storage/'+file_name)
|
||||||
bot.send_message(message.chat.id, "Il tuo file è stato caricato con successo! Ecco l'id del tuo file "+new_name)
|
bot.send_message(message.chat.id, "Il tuo file è stato caricato con successo! Ecco l'id del tuo file "+new_name)
|
||||||
bot.send_message(message.chat.id, "Se vuoi scaricare il file fai /cloud download + l'id del file")
|
bot.send_message(message.chat.id, "Se vuoi scaricare il file fai /cloud download + l'id del file")
|
||||||
dic_exm ={
|
dic_exm ={
|
||||||
|
@ -405,4 +406,37 @@ def cloud_step(message):
|
||||||
json.dump(dic_exm, f, indent=2)
|
json.dump(dic_exm, f, indent=2)
|
||||||
f.write('\n')
|
f.write('\n')
|
||||||
|
|
||||||
|
@bot.message_handler(commands=["translatepdf"])
|
||||||
|
def translatepdf(message):
|
||||||
|
logging.info("Triggered TRANSLATE PDF")
|
||||||
|
sent_msg = bot.send_message(message.chat.id, "Scrivi il messaggio che vuoi tradurre.")
|
||||||
|
bot.register_next_step_handler(sent_msg, translatepdf_step)
|
||||||
|
|
||||||
|
def translatepdf_step(message):
|
||||||
|
id = message.from_user.id
|
||||||
|
file_name = message.document.file_name
|
||||||
|
file_info = bot.get_file(message.document.file_id)
|
||||||
|
downloaded_file = bot.download_file(file_info.file_path)
|
||||||
|
with open(file_name, 'wb') as new_file:
|
||||||
|
new_file.write(downloaded_file)
|
||||||
|
input_file = file_name
|
||||||
|
text_file = file_name + '.txt'
|
||||||
|
os.replace(input_file, 'storage/'+input_file)
|
||||||
|
input_file_position = 'storage/'+input_file
|
||||||
|
with open(input_file_position, "rb") as pdf_file:
|
||||||
|
read_pdf = PyPDF2.PdfFileReader(pdf_file)
|
||||||
|
number_of_pages = read_pdf.getNumPages()
|
||||||
|
page = read_pdf.pages[0]
|
||||||
|
page_content = page.extractText()
|
||||||
|
with open(text_file, 'w') as f:
|
||||||
|
f.write(page_content)
|
||||||
|
os.replace(text_file, 'storage/'+text_file)
|
||||||
|
text_file_position = 'storage/'+text_file
|
||||||
|
f = open(text_file_position)
|
||||||
|
contents = f.read()
|
||||||
|
translator = Translator()
|
||||||
|
translated_text = translator.translate(contents, dest='it')
|
||||||
|
bot.send_message(message.chat.id, translated_text.text)
|
||||||
|
os.remove(input_file_position)
|
||||||
|
os.remove(text_file_position)
|
||||||
bot.polling()
|
bot.polling()
|
Loading…
Reference in New Issue