Add connection for postgres and mariadb
This commit is contained in:
commit
205e08fc6e
|
@ -1,3 +1,8 @@
|
|||
v 0.16.0 [20-jun-2021]
|
||||
- Add connection for postgres and mariadb
|
||||
- Fix in call macro Basic
|
||||
|
||||
|
||||
v 0.15.0 [05-jun-2021]
|
||||
- Add autostyle for Writer tables
|
||||
|
||||
|
|
Binary file not shown.
|
@ -3,31 +3,32 @@
|
|||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Project-Id-Version: ZAZ\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-05 22:20-0600\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"PO-Revision-Date: 2021-06-11 09:45-0500\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: es\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
|
||||
#: ../../source/index.rst:9
|
||||
msgid "Contents:"
|
||||
msgstr ""
|
||||
msgstr "Contenido:"
|
||||
|
||||
#: ../../source/index.rst:7
|
||||
msgid "Welcome to ZAZ's documentation!"
|
||||
msgstr ""
|
||||
msgstr "¡Bienvenido a la documentación de ZAZ!"
|
||||
|
||||
#: ../../source/index.rst:17
|
||||
msgid "Indices and tables"
|
||||
msgstr ""
|
||||
msgstr "Índices y tablas"
|
||||
|
||||
#: ../../source/index.rst:19
|
||||
msgid ":ref:`genindex`"
|
||||
|
@ -40,4 +41,3 @@ msgstr ""
|
|||
#: ../../source/index.rst:21
|
||||
msgid ":ref:`search`"
|
||||
msgstr ""
|
||||
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,71 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 12:28-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/application.rst:3
|
||||
msgid "Application"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:5
|
||||
msgid "Remember, always import library."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:13
|
||||
msgid "Current doc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:22
|
||||
msgid "Iter docs"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:31
|
||||
msgid "Count"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:40
|
||||
msgid "Get by name"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:51
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:53
|
||||
msgid "For default create new Calc document."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:61
|
||||
msgid "For new Writer document."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:69 ../../source/main/application.rst:108
|
||||
msgid "With arguments."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:80
|
||||
msgid "Other documents."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:92
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/application.rst:100
|
||||
msgid "While LibreOffice support format, you can open arbitrary file."
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 12:28-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/calc.rst:3
|
||||
msgid "Calc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/calc.rst:5
|
||||
msgid "Remember, always import library."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/calc.rst:13
|
||||
msgid "Current doc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/calc.rst:22
|
||||
msgid "Active sheet"
|
||||
msgstr ""
|
||||
|
Binary file not shown.
|
@ -0,0 +1,431 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 09:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/config.rst:3
|
||||
msgid "Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:5
|
||||
msgid "Create new extension:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:7
|
||||
msgid "``./zaz.py -new -t ~/projects -n MyGreatExtension``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:10
|
||||
msgid "Move to new folder:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:12
|
||||
msgid "``cd ~/projects/MyGreatExtension``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:15
|
||||
msgid "Edit file ``conf.py``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:17
|
||||
msgid "``vim conf.py``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:21
|
||||
msgid "Parameters"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:23
|
||||
msgid ""
|
||||
"**Configure correctly this options, before you start code your "
|
||||
"extension.**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:25
|
||||
msgid "Only modify this options."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:29
|
||||
msgid "Type extension"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:31
|
||||
msgid "**TYPE_EXTENSION**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:33
|
||||
msgid "The type extension that you want develop."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:38
|
||||
msgid "Integer"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:36
|
||||
msgid "1 = Normal extension"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:37
|
||||
msgid "2 = New components"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:38
|
||||
msgid "3 = Calc addin"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:40 ../../source/main/config.rst:55
|
||||
#: ../../source/main/config.rst:70 ../../source/main/config.rst:87
|
||||
#: ../../source/main/config.rst:103 ../../source/main/config.rst:119
|
||||
#: ../../source/main/config.rst:135 ../../source/main/config.rst:151
|
||||
#: ../../source/main/config.rst:170 ../../source/main/config.rst:186
|
||||
#: ../../source/main/config.rst:217 ../../source/main/config.rst:246
|
||||
#: ../../source/main/config.rst:262 ../../source/main/config.rst:287
|
||||
#: ../../source/main/config.rst:320 ../../source/main/config.rst:351
|
||||
#: ../../source/main/config.rst:365 ../../source/main/config.rst:386
|
||||
msgid "Example:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:48
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:50
|
||||
msgid "**VERSION**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:53 ../../source/main/config.rst:68
|
||||
#: ../../source/main/config.rst:85 ../../source/main/config.rst:117
|
||||
#: ../../source/main/config.rst:133 ../../source/main/config.rst:168
|
||||
#: ../../source/main/config.rst:184 ../../source/main/config.rst:244
|
||||
#: ../../source/main/config.rst:349 ../../source/main/config.rst:363
|
||||
msgid "String"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:53
|
||||
msgid "The current version of extension, look: `Semantic Versioning`_"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:63
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:65
|
||||
msgid "**NAME**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:68
|
||||
msgid "Your extension name, not used spaces."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:78
|
||||
msgid "ID extension"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:80
|
||||
msgid "The internal name for extension."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:82
|
||||
msgid "**ID**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:85
|
||||
msgid "Should be unique, used URL inverse"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:95
|
||||
msgid "Locales"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:97
|
||||
msgid "If your extension will be multi-language (recommended)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:99
|
||||
msgid "**USE_LOCALES**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:101
|
||||
msgid "Bool"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:111
|
||||
msgid "Domain for locales"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:113
|
||||
msgid "The base name for generate files POT"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:115
|
||||
msgid "**DOMAIN**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:127
|
||||
msgid "Path pyGetText"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:129
|
||||
msgid "Absolute path for tool `pygettext.py` for generate POT."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:131
|
||||
msgid "**PATH_PYGETTEXT**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:143
|
||||
msgid "Author"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:145
|
||||
msgid ""
|
||||
"Your information like author, one or more languages. This information is "
|
||||
"displayed in the extension manager."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:147
|
||||
msgid "**PUBLISHER**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:149 ../../source/main/config.rst:215
|
||||
#: ../../source/main/config.rst:260 ../../source/main/config.rst:384
|
||||
msgid "Dictionary"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:162
|
||||
msgid "Extension icon"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:164
|
||||
msgid "Path relative or absolute to extension logo. Show in extension manager."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:166
|
||||
msgid "**ICON**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:178
|
||||
msgid "License"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:180
|
||||
msgid "The license for your extension, please, used free license."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:182
|
||||
msgid "**LICENSE**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:209
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:211
|
||||
msgid ""
|
||||
"Information of extension: Display name, description and license to "
|
||||
"displayed when install."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:213
|
||||
msgid "**INFO**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:236
|
||||
msgid "Parent menu"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:238
|
||||
msgid ""
|
||||
"Only for normal extension (`TYPE_EXTENSION = 1`), where add extension "
|
||||
"menu, only two possible values: **AddonMenu** or **OfficeMenuBar**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:240
|
||||
msgid "**PARENT**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:243
|
||||
msgid "**AddonMenu**: Show in menu Tools->Add-Ons"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:244
|
||||
msgid "**OfficeMenuBar**: Show in LibreOffice menu"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:254
|
||||
msgid "Main menu"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:256
|
||||
msgid ""
|
||||
"Only for normal extension (`TYPE_EXTENSION = 1`) and only if parent menu "
|
||||
"is `OfficeMenuBar`. Can be multi language."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:258
|
||||
msgid "**MENU_MAIN**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:273
|
||||
msgid "Menus"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:275
|
||||
msgid "Each menu for show in parent menu."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:277
|
||||
msgid "**MENUS**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:285
|
||||
msgid "Tuple of dictionaries"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:280
|
||||
msgid "**title** = Label showed, can be multi language."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:281
|
||||
msgid "**argument** = Argument to pass to extension, not use spaces."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:282
|
||||
msgid "**context** = In what applications show, if is blank, show in all."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:283
|
||||
msgid ""
|
||||
"**icon** = Icon to add, the icon should be in format BMP. The name should"
|
||||
" be NAME_16.bmp or NAME_26.bmp. Set only NAME in this property."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:284
|
||||
msgid "**toolbar** = It is True, add to new toolbar too, used same icon."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:285
|
||||
msgid ""
|
||||
"**shortcut** = Shortcut keyboard for this menu. For `Shift+Ctrl+Alt+T` "
|
||||
"used: `T_SHIFT_MOD1_MOD2`"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:304
|
||||
msgid "Functions"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:306
|
||||
msgid "Only for Add-in extension (`TYPE_EXTENSION = 2`). Can be multi language."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:308
|
||||
msgid ""
|
||||
"The key of dictionary, is the same name of your function. Used exactly "
|
||||
"you used in your code."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:310
|
||||
msgid "**FUNCTIONS**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:318
|
||||
msgid "Dictionary of dictionaries"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:313 ../../source/main/config.rst:317
|
||||
msgid "**displayname** = Show in function wizard, multi language."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:314 ../../source/main/config.rst:318
|
||||
msgid "**description** = Show in function wizard, multi language."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:318
|
||||
msgid "**parameters** = Each parameters in your function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:318
|
||||
msgid "**key** = Is the exactly name for parameter in your code function."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:339
|
||||
msgid "Default program"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:341 ../../source/main/config.rst:361
|
||||
msgid "Optional. Open automatically when install and test."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:343
|
||||
msgid "**PROGRAM**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:346
|
||||
msgid "--calc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:347
|
||||
msgid "--writer"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:348
|
||||
msgid "--draw"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:349
|
||||
msgid "--impress"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:359
|
||||
msgid "File test"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:373
|
||||
msgid "Paths"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:375
|
||||
msgid ""
|
||||
"Paths for install and test. `idlc`, `include` and `remerge` only used en "
|
||||
"`TYPE_EXTENSION` 2 or 3. `idlc` and path `include` is installed with "
|
||||
"LibreOffice SDK."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:377
|
||||
msgid "**PATHS**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:380
|
||||
msgid "**idlc** for generate files urd."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:381
|
||||
msgid "**include** path with files idl."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:382
|
||||
msgid "**remerge** for generate files rdb."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:383
|
||||
msgid "**soffice** for open LibreOffice."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/config.rst:384
|
||||
msgid "**install** for install extension."
|
||||
msgstr ""
|
||||
|
Binary file not shown.
|
@ -0,0 +1,44 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 09:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/easymacro.rst:11
|
||||
msgid "Contents:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/easymacro.rst:3
|
||||
msgid "Library easymacro.py"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/easymacro.rst:5
|
||||
msgid ""
|
||||
"**easymacro.py** it's a library for easily develop macros en LibreOffice "
|
||||
"con Python. It is an abstraction layer between the extensive and complex "
|
||||
"LibreOffice API UNO and your code."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/easymacro.rst:7
|
||||
msgid "Probably, your will be more happy if used it. :)"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/easymacro.rst:9
|
||||
msgid ""
|
||||
"You can used **easymacro.py** with any extension or directly in your "
|
||||
"macros."
|
||||
msgstr ""
|
||||
|
Binary file not shown.
|
@ -0,0 +1,31 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 09:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/examples.rst:7
|
||||
msgid "Contents:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples.rst:3
|
||||
msgid "Examples"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples.rst:5
|
||||
msgid "Examples of macros used in production."
|
||||
msgstr ""
|
||||
|
Binary file not shown.
|
@ -0,0 +1,39 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 09:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/examples_app.rst:3
|
||||
msgid "For Application"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_app.rst:6
|
||||
msgid "Make custom menu"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_app.rst:8
|
||||
msgid "Macro example in library ``mymacros``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_app.rst:17
|
||||
msgid "Insert custom menu in menu Tools in Calc."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_app.rst:40
|
||||
msgid "Delete menu"
|
||||
msgstr ""
|
||||
|
Binary file not shown.
|
@ -0,0 +1,47 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 09:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/examples_base.rst:3
|
||||
msgid "For Base"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_base.rst:5
|
||||
msgid "You need install ``peewee``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_base.rst:7
|
||||
msgid "``pip install -U peewee``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_base.rst:10
|
||||
msgid "Create table"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_base.rst:44
|
||||
msgid "Insert data"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_base.rst:67
|
||||
msgid "Select data"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_base.rst:87
|
||||
msgid "You can get tuples or dict::"
|
||||
msgstr ""
|
||||
|
Binary file not shown.
|
@ -0,0 +1,31 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 09:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/examples_calc.rst:3
|
||||
msgid "For Calc"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_calc.rst:6
|
||||
msgid "Data to cell"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_calc.rst:8
|
||||
msgid "Automatic calculate size range."
|
||||
msgstr ""
|
||||
|
Binary file not shown.
|
@ -0,0 +1,27 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 09:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/examples_draw.rst:3
|
||||
msgid "For Draw"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_draw.rst:6
|
||||
msgid "Save image from clipboard"
|
||||
msgstr ""
|
||||
|
Binary file not shown.
|
@ -0,0 +1,27 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 09:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/examples_writer.rst:3
|
||||
msgid "For Writer"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/examples_writer.rst:6
|
||||
msgid "Set autostyle in table"
|
||||
msgstr ""
|
||||
|
Binary file not shown.
|
@ -8,14 +8,14 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-02-05 22:20-0600\n"
|
||||
"POT-Creation-Date: 2021-06-11 09:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.0\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/intro.rst:3
|
||||
msgid "Introduction"
|
||||
|
@ -63,59 +63,82 @@ msgstr ""
|
|||
msgid "LibreOffice SDK, for new components and Add-In"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:27
|
||||
msgid "Installation"
|
||||
#: ../../source/main/intro.rst:25
|
||||
msgid "In:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:29
|
||||
msgid "Clone this repository (recomended) or download it."
|
||||
#: ../../source/main/intro.rst:27
|
||||
msgid "ArchLinux"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:28
|
||||
msgid "sudo pacman -S libreoffice-fresh-sdk"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:31
|
||||
msgid "Ubuntu 20.04+"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:30
|
||||
msgid "sudo apt install libreoffice-script-provider-python libreoffice-dev"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:34
|
||||
msgid "Installation"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:36
|
||||
msgid "Clone this repository (recommended) or download it."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:38
|
||||
msgid "``git clone https://git.cuates.net/elmau/zaz.git``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:33
|
||||
#: ../../source/main/intro.rst:40
|
||||
msgid "Move to."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:35
|
||||
#: ../../source/main/intro.rst:42
|
||||
msgid "``cd zaz/source``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:37
|
||||
#: ../../source/main/intro.rst:44
|
||||
msgid "Start new extension."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:39
|
||||
#: ../../source/main/intro.rst:46
|
||||
msgid "``./zaz.py -new -t ~/projects -n MyFirstExtension``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:43
|
||||
#: ../../source/main/intro.rst:50
|
||||
msgid "My first extension"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:45
|
||||
#: ../../source/main/intro.rst:52
|
||||
msgid "Move to:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:47
|
||||
#: ../../source/main/intro.rst:54
|
||||
msgid "``cd ~/projects/MyFirstExtension``"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:49
|
||||
#: ../../source/main/intro.rst:56
|
||||
msgid "Create:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:51
|
||||
#: ../../source/main/intro.rst:58
|
||||
msgid "``python zaz.py -c``::"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:60
|
||||
#: ../../source/main/intro.rst:67
|
||||
msgid "Install and test:"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/intro.rst:62
|
||||
#: ../../source/main/intro.rst:69
|
||||
msgid "``python zaz.py -i``::"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Clone this repository (recomended) or download it."
|
||||
#~ msgstr ""
|
||||
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,131 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 09:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/tools.rst:3
|
||||
msgid "Tools"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:5
|
||||
msgid "Remember, always import library."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:13
|
||||
msgid "**Info from PC**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:15
|
||||
msgid "Operate system"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:21
|
||||
msgid "Current user"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:27
|
||||
msgid "Name PC"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:33
|
||||
msgid "Name desktop, only GNU/Linux"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:39
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:45
|
||||
msgid "Language with variant"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:51
|
||||
msgid "Application name"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:57
|
||||
msgid "Application version"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:63
|
||||
msgid "In Windows"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:71
|
||||
msgid "**Message box**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:79
|
||||
msgid "**Show warning**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:89
|
||||
msgid "**Show error box**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:99
|
||||
msgid "**Make question**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:110
|
||||
msgid "**InputBox**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:112
|
||||
msgid "Normal data"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:123
|
||||
msgid "Private data"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:137
|
||||
msgid "**Create instances**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:139
|
||||
msgid "Instances without context"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:145
|
||||
msgid "Instances with context"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:154
|
||||
msgid "**Paths and files**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:156
|
||||
msgid "Get info path"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:169
|
||||
msgid "Or get information in a tuple"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:178
|
||||
msgid "Get path home"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:185
|
||||
msgid "Get path documents"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools.rst:192
|
||||
msgid "Get path temp"
|
||||
msgstr ""
|
||||
|
Binary file not shown.
|
@ -0,0 +1,103 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 09:36-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:3
|
||||
msgid "Tools for debug"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:6
|
||||
msgid "**INFO_DEBUG**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:8
|
||||
msgid "Show info debug, show in message box."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:10
|
||||
msgid ""
|
||||
"If you have any problem in your code, you can `open issue`_ in this "
|
||||
"project, always copy the information of INFO_DEBUG in your ticket."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:21
|
||||
msgid "Show in shell."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:33
|
||||
msgid "**Log error**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:35
|
||||
msgid "Show error message in shell."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:48
|
||||
msgid "**Log debug**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:50
|
||||
msgid "Show debug message in shell."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:63
|
||||
msgid "**Log info**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:65
|
||||
msgid "Show info message in shell."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:78
|
||||
msgid "**Log to file**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:80
|
||||
msgid "Save log to file, automatic add date and time."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:94
|
||||
msgid "**Message box**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:96
|
||||
msgid "Show any data in message box"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:119
|
||||
msgid "**Catch exceptions**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:121
|
||||
msgid "Sometimes, for difficult errors, you can catch exceptions."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:132
|
||||
msgid "And not, not used you this function in production."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:136
|
||||
msgid "**Call MRI**"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/tools_for_debug.rst:138
|
||||
msgid ""
|
||||
"`MRI`_ is the better extension for debug any object in LibreOffice, you "
|
||||
"need install before call it."
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2021, Mauricio Baeza
|
||||
# This file is distributed under the same license as the ZAZ package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ZAZ \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-06-11 12:28-0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.9.1\n"
|
||||
|
||||
#: ../../source/main/writer.rst:3
|
||||
msgid "Writer"
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/writer.rst:5
|
||||
msgid "Remember, always import library."
|
||||
msgstr ""
|
||||
|
||||
#: ../../source/main/writer.rst:13
|
||||
msgid "Current doc"
|
||||
msgstr ""
|
||||
|
|
@ -1,200 +0,0 @@
|
|||
|
||||
1.2) Tools
|
||||
^^^^^^^^^^
|
||||
|
||||
Remember, always import library.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import easymacro as app
|
||||
|
||||
|
||||
**Info from PC**
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
* Operate system
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.OS)
|
||||
|
||||
* Current user
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.USER)
|
||||
|
||||
* Name PC
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.PC)
|
||||
|
||||
* Name desktop, only GNU/Linux
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.DESKTOP)
|
||||
|
||||
* Language
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.LANG)
|
||||
|
||||
* Language with variant
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.LANGUAGE)
|
||||
|
||||
* Application name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.NAME)
|
||||
|
||||
* Application version
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.VERSION)
|
||||
|
||||
* In Windows
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.IS_WIN)
|
||||
|
||||
|
||||
**Message box**
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.IS_WIN, 'My Macro')
|
||||
|
||||
|
||||
**Show warning**
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message = 'Caution, this action is dangerous'
|
||||
title = 'My App'
|
||||
app.warning(message, title)
|
||||
|
||||
|
||||
**Show error box**
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message = 'ERROR: Contact technical support'
|
||||
title = 'My App'
|
||||
app.errorbox(message, title)
|
||||
|
||||
|
||||
**Make question**
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message = 'Is easy Python?'
|
||||
title = 'My App'
|
||||
result = app.question(message, title)
|
||||
app.msgbox(result)
|
||||
|
||||
|
||||
**InputBox**
|
||||
^^^^^^^^^^^^
|
||||
|
||||
* Normal data
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message = 'Type your name'
|
||||
default = ''
|
||||
title = 'My App'
|
||||
|
||||
result = app.inputbox(message, default, title)
|
||||
app.msgbox(result)
|
||||
|
||||
* Private data
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message = 'Type your password'
|
||||
default = ''
|
||||
title = 'My App'
|
||||
echochar = "*"
|
||||
|
||||
result = app.inputbox(message, default, title, echochar)
|
||||
app.msgbox(result)
|
||||
|
||||
|
||||
**Create instances**
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
* Instances without context
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
toolkit = app.create_instance("com.sun.star.awt.Toolkit")
|
||||
|
||||
* Instances with context
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
service = 'com.sun.star.awt.DialogProvider2'
|
||||
dialog = app.create_instance(service, True)
|
||||
|
||||
|
||||
**Paths and files**
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
* Get info path
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = '/home/mau/myfile.ods'
|
||||
p = app.paths(path)
|
||||
|
||||
app.debug(p.path)
|
||||
app.debug(p.file_name)
|
||||
app.debug(p.name)
|
||||
app.debug(p.ext)
|
||||
app.debug(p.url)
|
||||
|
||||
Or get information in a tuple
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = '/home/mau/myfile.ods'
|
||||
p = app.paths(path)
|
||||
|
||||
app.debug(p.info)
|
||||
|
||||
* Get path home
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = app.paths.home
|
||||
app.debug(path)
|
||||
|
||||
* Get path documents
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = app.paths.documents
|
||||
app.debug(path)
|
||||
|
||||
* Get path temp
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = app.paths.temp_dir
|
||||
app.debug(path)
|
||||
|
||||
|
||||
.. _MRI: https://github.com/hanya/MRI
|
|
@ -0,0 +1,158 @@
|
|||
|
||||
Application
|
||||
-----------
|
||||
|
||||
Remember, always import library.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import easymacro as app
|
||||
|
||||
|
||||
Create instances
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
* Instances without context
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
toolkit = app.create_instance("com.sun.star.awt.Toolkit")
|
||||
|
||||
* Instances with context
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
service = 'com.sun.star.awt.DialogProvider2'
|
||||
dialog = app.create_instance(service, True)
|
||||
|
||||
|
||||
* Get desktop
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
desktop1 = app.create_instance('com.sun.star.frame.Desktop', True)
|
||||
# ~ or
|
||||
desktop2 = app.get_desktop()
|
||||
|
||||
app.msgbox(desktop1 == desktop2)
|
||||
|
||||
|
||||
Current doc
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.title)
|
||||
|
||||
|
||||
Iter docs
|
||||
^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
for doc in app.docs:
|
||||
app.msgbox(doc.title)
|
||||
|
||||
|
||||
Count
|
||||
^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
count = len(app.docs)
|
||||
app.msgbox(count)
|
||||
|
||||
|
||||
Get by name
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
name = 'MyDoc.ods'
|
||||
if name in app.docs:
|
||||
doc = app.docs[name]
|
||||
app.msgbox(doc.title)
|
||||
|
||||
|
||||
New
|
||||
^^^
|
||||
|
||||
For default create new Calc document.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.docs.new()
|
||||
app.msgbox(doc.type)
|
||||
|
||||
|
||||
For new Writer document.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.docs.new('writer')
|
||||
app.msgbox(doc.type)
|
||||
|
||||
|
||||
With arguments.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
args= {'Hidden': True}
|
||||
doc = app.docs.new('writer', args)
|
||||
msg = f'{doc.type} - {doc.title}'
|
||||
app.msgbox(msg)
|
||||
doc.visible = True
|
||||
|
||||
|
||||
Other documents.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.docs.new('draw')
|
||||
app.msgbox(doc.type)
|
||||
|
||||
doc = app.docs.new('impress')
|
||||
app.msgbox(doc.type)
|
||||
|
||||
|
||||
Open
|
||||
^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = '/home/mau/MyDoc.ods'
|
||||
doc = app.docs.open(path)
|
||||
|
||||
|
||||
While LibreOffice support format, you can open arbitrary file.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = '/home/mau/example.xlsx'
|
||||
doc = app.docs.open(path)
|
||||
|
||||
|
||||
With arguments.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = '/home/mau/example.odt'
|
||||
args = {'Password': 'letmein'}
|
||||
doc = app.docs.open(path, args)
|
||||
|
||||
|
||||
Call dispatch
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
You can call any `dispatch command`_ used only if property or method no exists in original object or in `easymacro.py`
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
command = '.uno:Gallery'
|
||||
app.call_dispatch(doc, command)
|
||||
|
||||
|
||||
|
||||
.. _dispatch command: https://wiki.documentfoundation.org/Development/DispatchCommands
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
Base
|
||||
----
|
||||
|
||||
Remember, always import library.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import easymacro as app
|
||||
|
||||
|
||||
New database
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = '/home/mau/db.odb'
|
||||
db = app.doc.connect(path)
|
||||
app.msgbox(db.type)
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
|
||||
Calc
|
||||
----
|
||||
|
||||
Remember, always import library.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import easymacro as app
|
||||
|
||||
|
||||
Current doc
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.type)
|
||||
|
||||
|
||||
Active sheet
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sheet = app.active_sheet
|
||||
app.msgbox(sheet.name)
|
|
@ -2,7 +2,31 @@
|
|||
Library easymacro.py
|
||||
====================
|
||||
|
||||
.. include:: 01_tools.rst
|
||||
.. include:: 02_tools.rst
|
||||
**easymacro.py** it's a library for easily develop macros en LibreOffice con Python. It is an abstraction layer between the extensive and complex LibreOffice API UNO and your code.
|
||||
|
||||
Probably, your will be more happy if used it. :)
|
||||
|
||||
You can used **easymacro.py** with any extension or directly in your macros.
|
||||
|
||||
|
||||
**IMPORTANT**: Majority objects are custom objects, you can always get original UNO object with property `obj`
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
|
||||
app.msgbox(doc)
|
||||
|
||||
app.msgbox(doc.obj)
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
|
||||
tools_for_debug.rst
|
||||
tools.rst
|
||||
application.rst
|
||||
calc.rst
|
||||
writer.rst
|
||||
base.rst
|
||||
|
|
|
@ -25,9 +25,9 @@ Requirements
|
|||
In:
|
||||
|
||||
* ArchLinux
|
||||
* sudo pacman -S libreoffice-fresh-sdk
|
||||
* ``sudo pacman -S libreoffice-fresh-sdk``
|
||||
* Ubuntu 20.04+
|
||||
* sudo apt install libreoffice-script-provider-python libreoffice-dev
|
||||
* ``sudo apt install libreoffice-script-provider-python libreoffice-dev``
|
||||
|
||||
|
||||
Installation
|
||||
|
|
|
@ -0,0 +1,346 @@
|
|||
|
||||
Tools
|
||||
-----
|
||||
|
||||
Remember, always import library.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import easymacro as app
|
||||
|
||||
|
||||
Info from PC
|
||||
^^^^^^^^^^^^
|
||||
|
||||
* Operate system
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.OS)
|
||||
|
||||
* Current user
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.USER)
|
||||
|
||||
* Name PC
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.PC)
|
||||
|
||||
* Name desktop, only GNU/Linux
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.DESKTOP)
|
||||
|
||||
* Language
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.LANG)
|
||||
|
||||
* Language with variant
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.LANGUAGE)
|
||||
|
||||
* Application name
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.NAME)
|
||||
|
||||
* Application version
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.VERSION)
|
||||
|
||||
* In Windows
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.IS_WIN)
|
||||
|
||||
* In Mac
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.IS_MAC)
|
||||
|
||||
|
||||
Message Box
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.IS_WIN, 'My Macro')
|
||||
|
||||
|
||||
Show warning
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message = 'Caution, this action is dangerous'
|
||||
title = 'My App'
|
||||
app.warning(message, title)
|
||||
|
||||
|
||||
Show error box
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message = 'ERROR: Contact technical support'
|
||||
title = 'My App'
|
||||
app.errorbox(message, title)
|
||||
|
||||
|
||||
Make question
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message = 'Is easy Python?'
|
||||
title = 'My App'
|
||||
result = app.question(message, title)
|
||||
app.msgbox(result)
|
||||
|
||||
|
||||
InputBox
|
||||
^^^^^^^^
|
||||
|
||||
* Normal data
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message = 'Type your name'
|
||||
default = ''
|
||||
title = 'My App'
|
||||
|
||||
result = app.inputbox(message, default, title)
|
||||
app.msgbox(result)
|
||||
|
||||
* Private data
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message = 'Type your password'
|
||||
default = ''
|
||||
title = 'My App'
|
||||
echochar = "*"
|
||||
|
||||
result = app.inputbox(message, default, title, echochar)
|
||||
app.msgbox(result)
|
||||
|
||||
|
||||
Paths and files
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
* Get info path
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = '/home/mau/myfile.ods'
|
||||
p = app.paths(path)
|
||||
|
||||
app.debug(p.path)
|
||||
app.debug(p.file_name)
|
||||
app.debug(p.name)
|
||||
app.debug(p.ext)
|
||||
app.debug(p.url)
|
||||
|
||||
Or get information in a tuple
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = '/home/mau/myfile.ods'
|
||||
p = app.paths(path)
|
||||
|
||||
app.debug(p.info)
|
||||
|
||||
* Get path home
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = app.paths.home
|
||||
app.debug(path)
|
||||
|
||||
* Get path documents
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = app.paths.documents
|
||||
app.debug(path)
|
||||
|
||||
* Get path temp
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
path = app.paths.temp_dir
|
||||
app.debug(path)
|
||||
|
||||
|
||||
Date and times
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
* Get today
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.today())
|
||||
|
||||
* Get now
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.now())
|
||||
|
||||
* Get now only time
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.now(True))
|
||||
|
||||
|
||||
Thread
|
||||
^^^^^^
|
||||
|
||||
You can execute any macro in thread
|
||||
|
||||
* Normal execution
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
def show_time(seconds):
|
||||
app.sleep(seconds)
|
||||
app.msgbox(app.NAME)
|
||||
return
|
||||
|
||||
def main(args=None):
|
||||
show_time(5)
|
||||
app.msgbox('Finish...')
|
||||
return
|
||||
|
||||
* Run in thread
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
@app.run_in_thread
|
||||
def show_time(seconds):
|
||||
app.sleep(seconds)
|
||||
app.msgbox(app.NAME)
|
||||
return
|
||||
|
||||
def main(args=None):
|
||||
show_time(5)
|
||||
app.msgbox('Finish...')
|
||||
return
|
||||
|
||||
|
||||
Dictionary <-> properties
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
args = {
|
||||
'Hidden': True,
|
||||
'Password': 'letmein',
|
||||
}
|
||||
properties = app.dict_to_property(args)
|
||||
|
||||
app.msgbox(properties)
|
||||
|
||||
data = app.data_to_dict(properties)
|
||||
|
||||
app.msgbox(data)
|
||||
|
||||
|
||||
Tuples or lists to dictionary
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
tuple_of_tuples = (
|
||||
('Hidden', True),
|
||||
('Password', 'letmein'),
|
||||
)
|
||||
data = app.data_to_dict(tuple_of_tuples)
|
||||
app.msgbox(data)
|
||||
|
||||
list_of_lists = [
|
||||
['Hidden', True],
|
||||
['Password', 'letmein'],
|
||||
]
|
||||
data = app.data_to_dict(list_of_lists)
|
||||
app.msgbox(data)
|
||||
|
||||
|
||||
Json
|
||||
^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
data = {
|
||||
'Hidden': True,
|
||||
'Password': 'letmein',
|
||||
}
|
||||
|
||||
json = app.json_dumps(data)
|
||||
|
||||
app.msgbox(json)
|
||||
|
||||
data = app.json_loads(json)
|
||||
|
||||
app.msgbox(data)
|
||||
|
||||
|
||||
Call Macros
|
||||
^^^^^^^^^^^
|
||||
|
||||
You can any macro, for default call macros Python.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
def show_message():
|
||||
app.msgbox(app.INFO_DEBUG)
|
||||
return
|
||||
|
||||
def main(args=None):
|
||||
args = {
|
||||
'library': 'test',
|
||||
'name': 'show_message',
|
||||
}
|
||||
app.call_macro(args)
|
||||
return
|
||||
|
||||
Of course is better call directly if both macros are the same languaje, but, you can call macro in Basic too.
|
||||
|
||||
.. code-block:: vbnet
|
||||
|
||||
Sub show_message()
|
||||
MsgBox "Basic from Python"
|
||||
End Sub
|
||||
|
||||
Call from Python with.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
args = {
|
||||
'language': 'Basic',
|
||||
'library': 'Standard',
|
||||
'module': 'Module1',
|
||||
'name': 'show_message',
|
||||
}
|
||||
app.call_macro(args)
|
||||
|
||||
Execute macro in other thread
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.call_macro(args, True)
|
|
@ -1,21 +1,9 @@
|
|||
|
||||
**easymacro.py** it's a library for easily develop macros en LibreOffice con
|
||||
Python. It is an abstraction layer between the extensive and complex LibreOffice
|
||||
API UNO and your code.
|
||||
Tools for debug
|
||||
---------------
|
||||
|
||||
Probably, your will be more happy if used it. :)
|
||||
|
||||
You can used **easymacro.py** with any extension or directly in your macros.
|
||||
|
||||
|
||||
1) Tools
|
||||
--------
|
||||
|
||||
1.1) For debug
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
**INFO_DEBUG**
|
||||
^^^^^^^^^^^^^^
|
||||
INFO_DEBUG
|
||||
^^^^^^^^^^
|
||||
|
||||
Show info debug, show in message box.
|
||||
|
||||
|
@ -41,8 +29,8 @@ Show in shell.
|
|||
return
|
||||
|
||||
|
||||
**Log error**
|
||||
^^^^^^^^^^^^^
|
||||
Log error
|
||||
^^^^^^^^^
|
||||
|
||||
Show error message in shell.
|
||||
|
||||
|
@ -56,8 +44,8 @@ Show error message in shell.
|
|||
return
|
||||
|
||||
|
||||
**Log debug**
|
||||
^^^^^^^^^^^^^
|
||||
Log debug
|
||||
^^^^^^^^^
|
||||
|
||||
Show debug message in shell.
|
||||
|
||||
|
@ -71,8 +59,8 @@ Show debug message in shell.
|
|||
return
|
||||
|
||||
|
||||
**Log info**
|
||||
^^^^^^^^^^^^
|
||||
Log info
|
||||
^^^^^^^^
|
||||
|
||||
Show info message in shell.
|
||||
|
||||
|
@ -86,8 +74,8 @@ Show info message in shell.
|
|||
return
|
||||
|
||||
|
||||
**Log to file**
|
||||
^^^^^^^^^^^^^^^
|
||||
Log to file
|
||||
^^^^^^^^^^^
|
||||
|
||||
Save log to file, automatic add date and time.
|
||||
|
||||
|
@ -102,8 +90,8 @@ Save log to file, automatic add date and time.
|
|||
|
||||
|
||||
|
||||
**Message box**
|
||||
^^^^^^^^^^^^^^^
|
||||
Message box
|
||||
^^^^^^^^^^^
|
||||
|
||||
Show any data in message box
|
||||
|
||||
|
@ -127,8 +115,8 @@ Show any data in message box
|
|||
return
|
||||
|
||||
|
||||
**Catch exceptions**
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
Catch exceptions
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Sometimes, for difficult errors, you can catch exceptions.
|
||||
|
||||
|
@ -144,8 +132,8 @@ Sometimes, for difficult errors, you can catch exceptions.
|
|||
And not, not used you this function in production.
|
||||
|
||||
|
||||
**Call MRI**
|
||||
^^^^^^^^^^^^
|
||||
Call MRI
|
||||
^^^^^^^^
|
||||
|
||||
`MRI`_ is the better extension for debug any object in LibreOffice, you need
|
||||
install before call it.
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
Writer
|
||||
------
|
||||
|
||||
Remember, always import library.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import easymacro as app
|
||||
|
||||
|
||||
Current doc
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
doc = app.active
|
||||
app.msgbox(doc.type)
|
||||
|
|
@ -491,10 +491,10 @@ def json_loads(data):
|
|||
|
||||
|
||||
def data_to_dict(data):
|
||||
if isinstance(data, tuple) and isinstance(data[0], tuple):
|
||||
if isinstance(data, (tuple, list)) and isinstance(data[0], (tuple, list)):
|
||||
return _array_to_dict(data)
|
||||
|
||||
if isinstance(data, tuple) and isinstance(data[0], (PropertyValue, NamedValue)):
|
||||
if isinstance(data, (tuple, list)) and isinstance(data[0], (PropertyValue, NamedValue)):
|
||||
return _property_to_dict(data)
|
||||
return {}
|
||||
|
||||
|
@ -507,6 +507,8 @@ def _get_dispatch() -> Any:
|
|||
# ~ Used only if not exists in API
|
||||
def call_dispatch(frame: Any, url: str, args: dict={}) -> None:
|
||||
dispatch = _get_dispatch()
|
||||
if hasattr(frame, 'frame'):
|
||||
frame = frame.frame
|
||||
opt = dict_to_property(args)
|
||||
dispatch.executeDispatch(frame, url, '', 0, opt)
|
||||
return
|
||||
|
@ -555,10 +557,10 @@ def _struct_to_date(value):
|
|||
|
||||
def _get_url_script(args: dict):
|
||||
library = args['library']
|
||||
module = '.'
|
||||
name = args['name']
|
||||
language = args.get('language', 'Python')
|
||||
location = args.get('location', 'user')
|
||||
module = args.get('module', '.')
|
||||
|
||||
if language == 'Python':
|
||||
module = '.py$'
|
||||
|
@ -595,7 +597,7 @@ def call_macro(args, in_thread=False):
|
|||
result = _call_macro(args)
|
||||
return result
|
||||
|
||||
|
||||
# ~ TODO
|
||||
def run(command, capture=False, split=True):
|
||||
if not split:
|
||||
return subprocess.check_output(command, shell=True).decode()
|
||||
|
@ -2881,6 +2883,23 @@ class LOCalcRange(object):
|
|||
self.obj.fillAuto(0, source)
|
||||
return
|
||||
|
||||
def _cast(self, t, v):
|
||||
if not t:
|
||||
return v
|
||||
|
||||
if t == datetime.date:
|
||||
nv = datetime.date.fromordinal(int(v) + DATE_OFFSET)
|
||||
else:
|
||||
nv = t(v)
|
||||
return nv
|
||||
|
||||
def get_data(self, types):
|
||||
values = [
|
||||
[self._cast(types[i], v) for i, v in enumerate(row)]
|
||||
for row in self.data
|
||||
]
|
||||
return values
|
||||
|
||||
|
||||
class LOWriterStyles(object):
|
||||
|
||||
|
@ -3944,6 +3963,7 @@ class LODocs(object):
|
|||
return doc
|
||||
|
||||
def __len__(self):
|
||||
# ~ len(self._desktop.Components)
|
||||
for i, _ in enumerate(self._desktop.Components):
|
||||
pass
|
||||
return i + 1
|
||||
|
@ -3985,7 +4005,8 @@ class LODocs(object):
|
|||
return _get_class_doc(doc)
|
||||
|
||||
def connect(self, path):
|
||||
return LOBase(None, {'path': path})
|
||||
db = LOBase(None, {'path': path})
|
||||
return db
|
||||
|
||||
|
||||
def _add_listeners(events, control, name=''):
|
||||
|
@ -4713,6 +4734,13 @@ class UnoText(UnoBaseObject):
|
|||
def value(self, value):
|
||||
self.model.Text = value
|
||||
|
||||
@property
|
||||
def echochar(self):
|
||||
return chr(self.model.EchoChar)
|
||||
@echochar.setter
|
||||
def echochar(self, value):
|
||||
self.model.EchoChar = ord(value[0])
|
||||
|
||||
def validate(self):
|
||||
return
|
||||
|
||||
|
@ -5553,6 +5581,11 @@ class LODialog(object):
|
|||
self.obj.dispose()
|
||||
return value
|
||||
|
||||
def set_values(self, data):
|
||||
for k, v in data.items():
|
||||
self._controls[k].value = v
|
||||
return
|
||||
|
||||
|
||||
class LOSheets(object):
|
||||
|
||||
|
@ -6039,6 +6072,70 @@ class LOWindow(object):
|
|||
return
|
||||
|
||||
|
||||
class LODBServer(object):
|
||||
DRIVERS = {
|
||||
'mysql': 'mysqlc',
|
||||
'mariadb': 'mysqlc',
|
||||
'postgres': 'postgresql:postgresql',
|
||||
}
|
||||
PORTS = {
|
||||
'mysql': 3306,
|
||||
'mariadb': 3306,
|
||||
'postgres': 5432,
|
||||
}
|
||||
|
||||
def __init__(self):
|
||||
self._conn = None
|
||||
self._error = ''
|
||||
self._type = ''
|
||||
|
||||
def __str__(self):
|
||||
return f'DB type {self._type}'
|
||||
|
||||
def __enter__(self):
|
||||
return self
|
||||
|
||||
def __exit__(self, exc_type, exc_value, traceback):
|
||||
self.disconnet()
|
||||
|
||||
@property
|
||||
def is_connected(self):
|
||||
return not bool(self._error)
|
||||
|
||||
@property
|
||||
def error(self):
|
||||
return self._error
|
||||
|
||||
def disconnet(self):
|
||||
if not self._conn is None:
|
||||
if not self._conn.isClosed():
|
||||
self._conn.close()
|
||||
self._conn.dispose()
|
||||
|
||||
def connect(self, args):
|
||||
self._error = ''
|
||||
self._type = args.get('type', 'postgres')
|
||||
driver = self.DRIVERS[self._type]
|
||||
server = args.get('server', 'localhost')
|
||||
port = args.get('port', self.PORTS[self._type])
|
||||
dbname = args.get('dbname', '')
|
||||
user = args['user']
|
||||
password = args['password']
|
||||
|
||||
data = {'user': user, 'password': password}
|
||||
url = f'sdbc:{driver}://{server}:{port}/{dbname}'
|
||||
args = dict_to_property(data)
|
||||
manager = create_instance('com.sun.star.sdbc.DriverManager')
|
||||
|
||||
try:
|
||||
self._conn = manager.getConnectionWithInfo(url, args)
|
||||
except Exception as e:
|
||||
error(e)
|
||||
self._error = str(e)
|
||||
|
||||
return self
|
||||
|
||||
|
||||
def create_window(args):
|
||||
return LOWindow(args)
|
||||
|
||||
|
@ -6547,6 +6644,8 @@ def __getattr__(name):
|
|||
return Paths
|
||||
if name == 'docs':
|
||||
return LODocs()
|
||||
if name == 'db':
|
||||
return LODBServer()
|
||||
if name == 'sheets':
|
||||
return LOSheets()
|
||||
if name == 'cells':
|
||||
|
@ -6645,48 +6744,6 @@ def get_fonts():
|
|||
return device.FontDescriptors
|
||||
|
||||
|
||||
# ~ From request
|
||||
# ~ https://github.com/psf/requests/blob/master/requests/structures.py#L15
|
||||
class CaseInsensitiveDict(MutableMapping):
|
||||
|
||||
def __init__(self, data=None, **kwargs):
|
||||
self._store = OrderedDict()
|
||||
if data is None:
|
||||
data = {}
|
||||
self.update(data, **kwargs)
|
||||
|
||||
def __setitem__(self, key, value):
|
||||
# Use the lowercased key for lookups, but store the actual
|
||||
# key alongside the value.
|
||||
self._store[key.lower()] = (key, value)
|
||||
|
||||
def __getitem__(self, key):
|
||||
return self._store[key.lower()][1]
|
||||
|
||||
def __delitem__(self, key):
|
||||
del self._store[key.lower()]
|
||||
|
||||
def __iter__(self):
|
||||
return (casedkey for casedkey, mappedvalue in self._store.values())
|
||||
|
||||
def __len__(self):
|
||||
return len(self._store)
|
||||
|
||||
def lower_items(self):
|
||||
"""Like iteritems(), but with all lowercase keys."""
|
||||
values = (
|
||||
(lowerkey, keyval[1]) for (lowerkey, keyval) in self._store.items()
|
||||
)
|
||||
return values
|
||||
|
||||
# Copy is required
|
||||
def copy(self):
|
||||
return CaseInsensitiveDict(self._store.values())
|
||||
|
||||
def __repr__(self):
|
||||
return str(dict(self.items()))
|
||||
|
||||
|
||||
# ~ https://en.wikipedia.org/wiki/Web_colors
|
||||
def get_color(value):
|
||||
COLORS = {
|
||||
|
|
Loading…
Reference in New Issue