You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.5 KiB
ReStructuredText

=====
Usage
=====
Installation
------------
First you will need to install the EditorConfig Python Core package.
To install from PyPI using pip::
pip install editorconfig
Discovering EditorConfig properties
-----------------------------------
The ``get_properties`` function can be used to discover EditorConfig properties
for a given file. Example:
.. code-block:: python
import logging
from editorconfig import get_properties, EditorConfigError
filename = "/home/zoidberg/humans/anatomy.md"
try:
options = get_properties(filename)
except EditorConfigError:
logging.warning("Error getting EditorConfig properties", exc_info=True)
else:
for key, value in options.items():
print "%s=%s" % (key, value)
The ``get_properties`` method returns a dictionary representing EditorConfig
properties found for the given file. If an error occurs while parsing a file
an exception will be raised. All raised exceptions will inherit from the
``EditorConfigError`` class.
Handling Exceptions
-------------------
All exceptions raised by EditorConfig will subclass ``EditorConfigError``. To
handle certain exceptions specially, catch them first. More exception classes
may be added in the future so it is advisable to always handle general
``EditorConfigError`` exceptions in case a future version raises an exception
that your code does not handle specifically.
Exceptions module reference
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Exceptions can be found in the ``editorconfig.exceptions`` module. These are
the current exception types:
.. autoexception:: editorconfig.exceptions.EditorConfigError
.. autoexception:: editorconfig.exceptions.ParsingError
.. autoexception:: editorconfig.exceptions.PathError
.. autoexception:: editorconfig.exceptions.VersionError
Exception handling example
~~~~~~~~~~~~~~~~~~~~~~~~~~
An example of custom exception handling:
.. code-block:: python
import logging
from editorconfig import get_properties
from editorconfig import exceptions
filename = "/home/zoidberg/myfile.txt"
try:
options = get_properties(filename)
except exceptions.ParsingError:
logging.warning("Error parsing an .editorconfig file", exc_info=True)
except exceptions.PathError:
logging.error("Invalid filename specified", exc_info=True)
except exceptions.EditorConfigError:
logging.error("An unknown EditorConfig error occurred", exc_info=True)
for key, value in options.iteritems():
print "%s=%s" % (key, value)