Don shirya canjin daftarin aiki muna buƙata
Mafi sauƙaƙa aikace-aikacen uWSGI a cikin Python ya ƙunshi aikace-aikacen aiki tare da mahallin mahalli guda biyu da start_response
import os # импортируем
import pylokit # необходимые
import tempfile # нам
import webob # модули
office = pylokit.Office('/usr/lib/libreoffice/program') # загружаем библиотеку LibreOffice по указанному пути
def application(environ, start_response): # функция для uWSGI
request = webob.Request(environ) # получаем запрос из окружения
file = request.POST['file'] # файл для преобразования передаётся через multipart/form-data с именем file
filename, extension = os.path.splitext(file.filename) # получаем имя и расширение
with tempfile.NamedTemporaryFile(suffix=extension) as inp, tempfile.NamedTemporaryFile(suffix='.%s' % request.path.split('/')[-1]) as out: # создаём один временный файл с расширением переданного файла и другой временный файл с расширением из окончания запроса (для совместимости с unoconv-api)
inp.write(file.file.read()) # записываем содержимое переданного файла в первый временный файл
inp.flush() # (т.к. LibreOfficeKit почему-то работает только с файлами)
with office.documentLoad(inp.name) as doc: # загружаем переданный файл
doc.saveAs(out.name) # экспортируем загруженный файл в другой временный файл (формат берётся из расширения)
with open(out.name, 'rb') as out2: # открываем другой временный файл
response = webob.Response(body=out2.read()) # создаём результат из чтения другого временного файла
return response(environ, start_response) # и возвращаем его
Hakanan zaka iya, ba shakka, kuma ƙara sarrafa kuskure.
Mayar da fayil ɗin odt na gwaji mai shafi ɗaya zuwa pdf kusan sau 1,5 cikin sauri idan aka kwatanta da
source: www.habr.com