Ошибки при использовании API

Автор DartSegius, 1 октября 2014, 12:45

0 Пользователи и 1 гость просматривают эту тему.

DartSegius

Доброе время суток.
Столкнулся я с такой проблемой - как rtf. И было понятно что средствами с++ нормально с этим форматом сделать ничего не получиться. И увидал я LibreOffice, и возрадовался я, да рано.
Не смотря на то что тут мелькает с++, дополнение пишеться на питоне, как не странно.
Ну так хватит лирики, давайте код: http://pastebin.com/re06NVLe
Ну и uno.RuntimeException.
Подскажите - что за проблема. Из чтения туторов, интернетов я вкурил что параметры передаю не те, но проверку они, как не странно, проходят, и illegalArguments мне не приходит. Интернеты ещё говорят что мб мост между питоном и офисом упал, но мне это кажется маловероятным.
Мб у вас будут предложения?

ps надо взять данные из базы данных и создать на их основе документ.

pss Поколдовал ещё немного, решил потестировать removeTextContent, и был ошарашен, что при вызове
doc.Text.removeTextContent( txt ) #названия и инициализацию переменных смотрите в ссылке выше
объект txt становиться невалидным, а текст в документе остается таким же как и был...

DartSegius

Никто что ли не использовал API офиса?

Hasim

Питоновская программа в терминале запускается?
И что надо сделать с созданным им файлом Writer?
Выложить файлы не досуг?

Yakov

Код можно прикрепить к тексту сообщения на форуме (Нажимаете "предварительный просмотр", а затем кнопку "Обзор")
И не совсем понятно из текста, как вы запускали код.

Yakov

Питон должен быть обязательно из состава LibreOffice, в противном случае его надо специальным образом настраивать.

DartSegius

#5
Ну наконецц то  :beer:
Питон из офиса с прикрепленной https://pypi.python.org/pypi/mysql-connector-python которая идеально работает вместе с тем питоном.
Офис установлен в папку : "C:\Program Files (x86)\LibreOffice 4\" выбрана была по дефолту.
В PATH прописана папка : c:\Program Files (x86)\LibreOffice 4\program
c:\Program Files (x86)\LibreOffice 4\program>python --version
Python 3.3.5


код, который запускаю - выложен в первом сообщении ссылкой на pastebin. Если надо, переложу и сюда.

Требуется взять из базы данных некоторые данные, и записать их по шаблону в rtf файл. rtf файл такого вида:

{{{DESKS
[[startTime]] - [[endTime]]
[[title]]
}}}

Требуется взять из базы "desks" - массив из n элементов, записать все элементы по шаблону приведенному выше, сохраняя форматирование, заданное в файле, и выделив при этом жирным кое-что внутри.

Запускал код я просто: копировал в интерпретатор, или запускал такой командной строкой:
python -u <адрес до моего модуля, который сейчас лежит на pastebin>
Ни 1 из вариантов не дал положительного результата.

Hasim

Цитата: DartSegius от  7 октября 2014, 11:26
код, который запускаю - выложен в первом сообщении ссылкой на pastebin. Если надо, переложу и сюда.
Надо в виде файла test.py
Цитата: DartSegius от  7 октября 2014, 11:26
Требуется взять из базы данных некоторые данные, и записать их по шаблону в rtf файл. rtf файл такого вида:

{{{DESKS
[[startTime]] - [[endTime]]
[[title]]
}}}

И этот файл нужно выложить.

Чтобы запустить и проверить, открывается ли  rtf файл и пишется ли в него что-нибудь.

Вытягивание же Питоном данных из MySQL - это уже не наши заморочки.

DartSegius

Ловите. Сайт не съел расширение *.py, потому дописал txt.
Пути до файла думаю подправите сами?

Hasim

Выдало ошибку на сокете:

DartSegius

Ну как бы запустить офис надо. Есть такая штука - как unoconv.
Так чтобы работать с API офиса, можно запустить её так:

$ unoconv -l

или запустить soffice самостоятельно(пути до офиса должны быть прописаны в PATH):

$ soffice --headless --invisible --nocrashreport --nodefault --nologo --nofirststartwizard --norestore --accept="socket,host=localhost,port=2002;urp;StarOffice.ComponentContext"


Hasim

Выложить unoconv для Windows можно?

DartSegius

Цитата: Hasim от  9 октября 2014, 12:42Выложить unoconv для Windows можно?
А напрямую не пробовали? Я ведь даже команду дал...
В случае чего: http://www.sql.ru/forum/1048604/unoconv-pod-windows 3-я ссылка в гугле по запросу "unoconv windows"

Hasim

Рушится LibreOffice при старте в Windows 7.

DartSegius

Цитата: Hasim от  9 октября 2014, 13:47Рушится LibreOffice при старте в Windows 7.
когда рушится? Во время исполнения моего скрипта, или запуска его на прослушивание ?  + какая версия офиса и какая битность винды?

Hasim

LO 4.3.2.2
Windows 7 32-bit
Во время исполнения скрипта

Но смотрю урывками, основательно ковырять пока недосуг.