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

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

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

DartSegius

Цитата: Hasim от  9 октября 2014, 14:33Во время исполнения скрипта

Но смотрю урывками, основательно ковырять пока недосуг.
а пишет хотябы что-нить? Вывод покажите, если можно.

Hasim

#16
На Windows XP отработал без ошибок.

Но сделал ли что-нибудь - вопрос?

Hasim

#17
Ничего не делает, только загружает rtf.

Почитайте это, может поможет:

PyUNO — быстрое незначительное редактирование xls-отчета из Python

и это (если достучитесь до этого форума):
How to use OOo with Python on Windows

Вообще-то много написано

DartSegius

Цитата: Hasim от  9 октября 2014, 18:45Но сделал ли что-нибудь - вопрос?
Я вызвал removeTextBlock, который судя по документации должен был удалить блок, выделенный на экране.

Hasim

#19
Должен был удалить?
Или правда удалил?
Я не понял, у вас он что-то делает или нет?
У меня ваш скрипт только открывает rtf-ы, и не делает больше ничего (даже print("123") не срабатывает).
А у вас?

Я просто закинул test.py и unoconvw.bat в папку с python-ом (в LO) и вызывал оттуда через cmd.

unoconvw.bat:
soffice --headless --invisible --nocrashreport --nodefault --nologo --nofirststartwizard --norestore --accept="socket,host=localhost,port=2002; rp;StarOffice.ComponentContext"

DartSegius

Цитата: Hasim от 10 октября 2014, 11:11Должен был удалить?
именно должен был удалить, если верить : http://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1text_1_1XText.html#ac7d1729ae123aba1ae83fdafd36ba3f5
А судя по тому что у вас там показало, он ничего не сделал, и даже вывод съел( у вас точно питон от офиса? А версия питона какая? Почему у вас съедается весь вывод в консоль? )

У меня он делает так:

% soffice --writer --accept="socket,host=localhost,port=2002;urp;StarOffice.ComponentContext" &
[2] 17033
%
[2]  + 17033 done       soffice --writer
% python test.py                                                                               
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
{{{DESKS
[[startDesk]]-[[finishDesk]]
[[deskNumber]]. [[deskTitle]] [[deskDescription]]
Докладчик —  [[deskSpeaker]]  — [[speakerComitet]]
}}}
pyuno object (com.sun.star.uno.XInterface)0x1b3c9c8{implementationName=SwXTextSection, supportedServices={com.sun.star.text.TextContent,com.sun.star.text.TextSection,com.sun.star.document.LinkTarget}, supportedInterfaces={com.sun.star.lang.XUnoTunnel,com.sun.star.lang.XServiceInfo,com.sun.star.beans.XPropertySet,com.sun.star.beans.XPropertyState,com.sun.star.beans.XMultiPropertySet,com.sun.star.container.XNamed,com.sun.star.text.XTextSection,com.sun.star.lang.XTypeProvider,com.sun.star.rdf.XMetadatable,com.sun.star.lang.XTypeProvider,com.sun.star.uno.XWeak}}
----------------------------------------------------------------------------------------------------
%

И тоже ничего не удаляет. А по документации - должен удалить блок, который у вас кстати до сих пор выделен.

Hasim

#21
Цитата: DartSegius от 10 октября 2014, 11:40у вас точно питон от офиса? А версия питона какая? Почему у вас съедается весь вывод в консоль?
Другого нет.
3.3.5 из LO 4.3.2.2
Хрен его знает.

Может быть, для начала потренироваться на каком нибудь простеньком ODT из одного слова?

DartSegius

Цитата: Hasim от 10 октября 2014, 11:55Может быть, для начала потренироваться на каком нибудь простеньком ODT из одного слова?
Тут итак слов немного.
Тут походу будет легче написать свой rtf парсер на с++ с блекджеком и токенами. Спецификация хоть и на 200+ страниц, но зато таких проблем не будет.