Instead of using XInvocation and XPropertySet to expose the optional
create and edit methods, the script provider for Python now uses the new
concrete interfaces XCreatableBrowseNode and XEditableBrowseNode.
Change-Id: Ic5944f2ade291598bac6f39411e86b351ffb0082
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207345
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
Tested-by: Jenkins
Otherwise for example if the filename has spaces in it then these will
appear as “%20” in the macro organiser.
Change-Id: I2da91d5aeb08962c9175219ab75ee7cb9d7277f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203304
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
If a DirBrowseNode points to a file:/// URI then the Creatable property
will now be True. When the Creatable action is invoked it will create a
file with the chosen name and insert an example macro into it.
Change-Id: Ib63da6a2a075ea7c2cf7dcda464b5f61aee53041
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202853
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
This implements the Editable invoke action on ScriptBrowseNode and
FileBrowseNode using a shared mixin class so that when the user selects
a file or a macro in the dialog for organising macros the edit button
will be clickable. When clicked the default app for .py files will be
opened.
On Windows it seems that installing a Python interpreter makes that the
default application for Python files. In order to avoid just running the
script instead of editing it, the code tries to determine what program
is the default by calling AssocQueryString via ctypes. If it looks like
a Python interpreter the python file will be opened with notepad
instead. Otherwise the document is opened with the “open” verb via
os.startfile.
On all other platforms the file is opened with SystemShellExecute. On my
Mac this ends up opening it in XCode. On my default Fedora install this
ends up opening the script in gedit which is probably quite a good
default. Hopefully there are no distros that default to executing Python
scripts when passed to xdg-open.
For some reason SystemShellExecute doesn’t seem to do anything on
Windows which is why os.startfile is used instead.
Change-Id: If37ee13aea0200cd6b20230bd92a77aa6a0d3273
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202852
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
Adds an implementation of XInvocation and XPropertySet to
PythonScriptProvider that just passes on all the methods to the wrapped
dirBrowseNode. If we don’t do this then the root browser nodes can’t
report that they are Editable or Creatable.
Change-Id: I2ddab92910ab0cb34866246844669c63b2f66671
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202851
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
The ensureSourceState function assumes the source code is a bytes object
but the editor was passing it the result of calling getText on the
editor control directly, which is a str object. This was making it throw
an exception.
Change-Id: Id96b22c2b43667cd4b4b245cfeff5a6d2cca6fc5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202744
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
Tested-by: Jenkins
The goal is to make the script more readable. The format is done with
command:
black --line-length 120 <filename>
No manual modification to these files.
Change-Id: I8ebbac936924277308fc011b20cba60849fa9c45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179438
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
Also did some extensive reformat in this one as trailing whitespaces
and bad formatting prevented commiting because it gave the following
error:
*
* You have some suspicious patch lines:
*
* In scripting/source/pyprov/mailmerge.py
* indent with Tab (line 446)
scripting/source/pyprov/mailmerge.py:446: return PyMailSMTPService(self.ctx)
* indent with Tab (line 448)
scripting/source/pyprov/mailmerge.py:448: return PyMailPOP3Service(self.ctx)
* indent with Tab (line 450)
scripting/source/pyprov/mailmerge.py:450: return PyMailIMAPService(self.ctx)
Change-Id: Ie6a7a81dda851548a06057fb712cd3e094c9b97d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165498
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
The "ehlo" calls look redundant, smtplib will do these implicitly if
required (checked in Python 3.5.9); it will also check that the STARTTLS
is successful which very old versions of Python didn't do.
Change-Id: Ice8b24bc2c9773c1171e856f1aefb191b1e2e947
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159078
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Similar to what is done in bootstrap_expandUri, expandUnoRcUrl,
UrlReference::expand, JavaLoader.expand_url, and is documented
in XVndSunStarExpandUrl interface.
Change-Id: I65349b52734f212e6a04e615d39fa2563f62d472
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146840
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Since commit 506173a7f4
Date Mon Nov 19 13:07:20 2018 +0300
tdf#112536 related: make soffice.bin a proper console application on Win
and commit ab09422405
Date Wed Jan 22 22:13:25 2020 +0300
Make unopkg.com proper launcher for unopkg.bin on Windows
there *is* stderr on Windows, so we can revert commits
a34c9a8065
Date Tue Aug 02 09:52:37 2011 +0100
can't use set_debuglevel under windows
and a1775d69e8
Date Tue Aug 02 09:57:59 2011 +0100
make logging less painful under windows
Change-Id: I5698a69130e55094508d5ca22411e861ffeeed8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131877
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
the logo changes were caused by
> Support of nested sets and set operations as in Unicode Technical Standard
> #18 might be added in the future. This would change the syntax, so to facilitate
> this change a FutureWarning will be raised in ambiguous cases for the time being.
> That includes sets starting with a literal '[' or containing literal character
> sequences '--', '&&', '~~', and '||'.
> To avoid a warning escape them with a backslash.
Change-Id: I4d48be3df2eaadf03a9d1f5750c0c94b3abbf674
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94191
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Python 2 support was retained for use with --enable-python=system
on RHEL7 and SLES. The time has arrived to remove it.
Some .py files that were imported from third parties are not changed to
enable easier replacement with updated versions if necessary.
solenv/gdb should continue to support Python 2.
bin/get-bugzilla-attachments-by-mimetype requires Python 2 to access
Launchpad.
Change-Id: I26414ae8e9f8402c90336af82020135685694217
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91697
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
We defined the same function member in the class PythonScriptProvider
twice. The first one was some accidental leftover surely.
Change-Id: I10eebab7084af790a9263176f01f7817fa5124ff
Reviewed-on: https://gerrit.libreoffice.org/51965
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Thanks to Jurassic Pork and prrychr (tdf#99363) for the 2016 patch.
I used smtp.gmail.com as my testing server.
Port 587 is the "official" port to use for encrypted email.
I confirmed that 587 CANNOT use SMTP_SSL [SSL: UNKNOWN_PROTOCOL],
so I limited SMTP_SSL use to common TLS port 465 only.
Port 465 was temporarily recommended, but OFFICIALLY has long
since been abandoned. However, LOTS of documentation and ISPs still
recommend it as the port to use. I confirmed that 465 DOES NOT
support STARTTLS, so it is specifically excluded.
So, technically the button should say use STARTTLS instead of SSL,
but only for SMTP. IMAP/POP do use SSL, so terminology gets
rather confusing. This patch forces SSL without STARTTLS for port 465
regardless of the "use SSL" setting due to all the confusion.
Currently we don't support ANY SSL/TLS connections. With this patch
we now at least support the extremely common use case of port 465.
Change-Id: I210cc307491157c1121cfffd70cbb94347ee2856
Reviewed-on: https://gerrit.libreoffice.org/48210
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Justin Luth <justin_luth@sil.org>
Bunch of these were setting C++ or Make modes and icky tabs...
Also, reportedly Emacs can figure out to enable python-mode
automatically.
Change-Id: I50072488fb92cb4d27aa3f74f717a28ae3967543