254 lines
3.9 KiB
ReStructuredText
254 lines
3.9 KiB
ReStructuredText
Paths and files
|
|
===============
|
|
|
|
Remember, always import library first.
|
|
|
|
.. code-block:: python
|
|
|
|
import easymacro as app
|
|
|
|
|
|
Get info path
|
|
-------------
|
|
|
|
.. code-block:: python
|
|
|
|
path = '/home/mau/myfile.ods'
|
|
p = app.path(path)
|
|
|
|
app.debug(p.path)
|
|
app.debug(p.file_name)
|
|
app.debug(p.name)
|
|
app.debug(p.ext)
|
|
app.debug(p.size)
|
|
app.debug(p.url)
|
|
|
|
.. image:: _static/images/path_01.png
|
|
|
|
|
|
|
|
|
Get info like tuple
|
|
|
|
.. code-block:: python
|
|
|
|
app.debug(p.info)
|
|
|
|
.. image:: _static/images/path_02.png
|
|
|
|
|
|
|
|
|
Or like dict
|
|
|
|
.. code-block:: python
|
|
|
|
app.debug(p.dict)
|
|
|
|
.. image:: _static/images/path_03.png
|
|
|
|
|
|
Get home path
|
|
-------------
|
|
|
|
.. code-block:: python
|
|
|
|
p = app.path
|
|
app.debug(p.home)
|
|
|
|
|
|
Get document path
|
|
------------------
|
|
|
|
.. code-block:: python
|
|
|
|
p = app.path
|
|
app.debug(p.documents)
|
|
|
|
|
|
Get path user profile
|
|
---------------------
|
|
|
|
.. code-block:: python
|
|
|
|
p = app.path
|
|
app.debug(p.user_profile)
|
|
|
|
|
|
Get path user config
|
|
--------------------
|
|
|
|
.. code-block:: python
|
|
|
|
p = app.path
|
|
app.debug(p.user_config)
|
|
|
|
|
|
Get python executable path
|
|
--------------------------
|
|
|
|
.. code-block:: python
|
|
|
|
p = app.path
|
|
app.debug(p.python)
|
|
|
|
|
|
Path URL to system
|
|
------------------
|
|
|
|
.. code-block:: python
|
|
|
|
path = 'file:///home/mau/myfile.ods'
|
|
app.debug(app.path.to_system(path))
|
|
|
|
|
|
Path system to URL
|
|
------------------
|
|
|
|
.. code-block:: python
|
|
|
|
path = 'file:///home/mau/myfile.ods'
|
|
path = app.path.to_system(path)
|
|
|
|
app.debug(app.path.to_url(path))
|
|
|
|
|
|
Get path from user config
|
|
-------------------------
|
|
|
|
Default get path documents. `See Api XPathSettings <http://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1util_1_1XPathSettings.html>`_
|
|
|
|
.. code-block:: python
|
|
|
|
path = app.path.config()
|
|
app.debug(path)
|
|
|
|
path = app.path.config('UserConfig')
|
|
app.debug(path)
|
|
|
|
.. note::
|
|
|
|
Some paths can be more than one path separated by a semicolon, in this case, you get a `list` of paths.
|
|
|
|
|
|
Path join
|
|
---------
|
|
|
|
.. code-block:: python
|
|
|
|
path = app.path.join('/home/mau', 'test', 'file.ods')
|
|
app.debug(path)
|
|
|
|
|
|
Exists path
|
|
-----------
|
|
|
|
.. code-block:: python
|
|
|
|
exists = app.path.exists('/home/mau/test/file.ods')
|
|
app.debug(exists)
|
|
|
|
|
|
Verify if application exists
|
|
----------------------------
|
|
|
|
.. code-block:: python
|
|
|
|
app_name = 'nosoffice'
|
|
app.debug(app.path.exists_app(app_name))
|
|
|
|
app_name = 'soffice'
|
|
app.debug(app.path.exists_app(app_name))
|
|
|
|
|
|
Make temporary file
|
|
-------------------
|
|
|
|
It will be destroyed as soon as it is closed.
|
|
|
|
.. code-block:: python
|
|
|
|
f = app.path.temp_file()
|
|
f.write(app.NAME)
|
|
f.close()
|
|
|
|
If used in context, It will be destroyed too.
|
|
|
|
.. code-block:: python
|
|
|
|
with app.path.temp_file() as f:
|
|
app.debug(f.name)
|
|
f.write('test')
|
|
|
|
|
|
Make temporary directory
|
|
------------------------
|
|
|
|
On completion of the context or destruction of the temporary directory object, the newly created temporary directory and all its contents are removed from the filesystem.
|
|
|
|
.. code-block:: python
|
|
|
|
with app.path.temp_dir() as d:
|
|
app.debug(app.path.exists(d))
|
|
app.debug(d)
|
|
|
|
|
|
Get path for save
|
|
-----------------
|
|
|
|
Default open in user documents
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
.. code-block:: python
|
|
|
|
path = app.path.get()
|
|
app.msgbox(path)
|
|
|
|
|
|
Open in other path
|
|
^^^^^^^^^^^^^^^^^^
|
|
|
|
.. code-block:: python
|
|
|
|
path_tmp = app.path.config('Temp')
|
|
path = app.path.get(path_tmp)
|
|
app.msgbox(path)
|
|
|
|
|
|
Add one filter
|
|
^^^^^^^^^^^^^^
|
|
|
|
.. code-block:: python
|
|
|
|
path = app.path.get(filters='xml')
|
|
app.msgbox(path)
|
|
|
|
|
|
Add multiple filters
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
.. code-block:: python
|
|
|
|
path = app.path.get(filters='xml,txt')
|
|
|
|
|
|
Select directory
|
|
----------------
|
|
|
|
Default open in user documents
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
.. code-block:: python
|
|
|
|
path = app.path.get_dir()
|
|
app.debug(path)
|
|
|
|
|
|
Open in other path
|
|
^^^^^^^^^^^^^^^^^^
|
|
|
|
.. code-block:: python
|
|
|
|
path_tmp = app.path.config('Temp')
|
|
path_dir = app.paths.get_dir(path_tmp)
|
|
app.debug(path_dir)
|
|
|