easymacro/docs/source/paths.rst

316 lines
4.8 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))
Path is file
------------
.. code-block:: python
path = '/home/mau/myfile.ott'
app.msgbox(app.path.is_file(path))
Path is dir
-----------
.. code-block:: python
path = '/home/mau'
app.msgbox(app.path.is_dir(path))
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)
Get path exists file
--------------------
Default open in user documents
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: python
path_file = app.path.get_file()
app.msgbox(path_file)
Change init dir
^^^^^^^^^^^^^^^
.. code-block:: python
path = '/home/mau'
path_file = app.path.get_file(path)
app.msgbox(path_file)
Add filter or filters
^^^^^^^^^^^^^^^^^^^^^
.. code-block:: python
path_file = app.path.get_file(filters='ods')
# or
path_file = app.path.get_file(filters='ods,odt')
Can select multiple files
^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: python
path_files = app.path.get_file(multiple=True)