Aiviro Modules ============== Email ----- .. note:: It's required to install ``email`` from :ref:`Optional dependencies` section. .. note:: | In case you'll be using Outlook OAuth2.0 authorization, you need to create & configure new application with the Microsoft identity platform. By the following steps: | 1. `Register an application `_ | 2. (Optional) In case of using Public(Delegated) Authorization option, you have to enable **Allow public client flows** in **Authentication** section | 3. `Add credentials `_, we currently support only Client's Secret | 4. `Add corresponding permissions for Mail `_, in section **API Permissions**. We require ``Mail.ReadWrite`` and ``Mail.Send`` permissions for both Authorization options (Delegated and Application). In case of using shared mailbox (only for Delegated option), also ``Mail.ReadWrite.Shared`` and ``Mail.Send.Shared`` is required. **Important**, as Application permissions allow a user to access any mailbox, Administrators can configure `application access policy `_ to limit app access to specific mailboxes and not to all the mailboxes in the organization. .. automodule:: aiviro.modules.email :members: EmailClient Email Notifier ~~~~~~~~~~~~~~ .. automodule:: aiviro.modules.email.notifier :members: EmailNotifier, Msg, Item, NotificationType, NotificationBlock, Notification Email Extractor ~~~~~~~~~~~~~~~ .. automodule:: aiviro.modules.email.extractor :members: EmailExtractor, BaseCallbackStrategy, InvalidEmailNotificationCallback, BaseCondition, OrCondition, HasAttachmentsCondition, FileExtensionCondition, FilenameCondition, ReplaceFilenameCondition, EmailDatetimeCondition, EmailSubjectCondition, NoEmailToExtract Parsers ------- The first step of working with Parsers is to implement all the parsers you need based on one of three provided base classes: :class:`~.PDFBaseParser`, :class:`~.EmailBaseParser` and :class:`~.FileBaseParser`. The second step is to create an instance of :class:`~.ParserHandler`, which automatically loads all the parsers based on provided input arguments. And finally, to parse our input data, we can call :meth:`~.ParserHandler.parse` method, which will select the correct parser and parse the input data based on provided Parsing Strategy. See parameter ``parse_strategy`` in :class:`~.ParserHandler`. .. automodule:: aiviro.modules.parser :members: PDFBaseParser, EmailBaseParser, FileBaseParser, ParserHandler, BaseParsingStrategy, NaiveParsingStrategy, AutoSelectParsingStrategy, ParserInvalidCheck, ParserNotFound, ParserProcessingError Powershell ---------- .. note:: It's required to install ``rdp`` from :ref:`Optional dependencies` section. .. automodule:: aiviro.modules.powershell :members: ShellCommands QR, Bar Codes ------------- .. note:: It's required to install ``codes`` from :ref:`Optional dependencies` section. .. automodule:: aiviro.modules.codes :members: CodesExtractor, BaseCodeDecoder Czech Invoice Format ~~~~~~~~~~~~~~~~~~~~ .. automodule:: aiviro.modules.codes :members: CzechQRInvoiceDecoder, CzechQRInvoiceData, Configuration ------------- To easily load and access your configuration options, you can use one of the provided objects. Loaded options are accessible via the dot notation of variables. .. note:: Keys from the configuration files are normalized into variables names, e.g. lower-cased, additional spaces are removed, special characters are replaced with "_" and accents are removed. For example ``Č. org.`` will transform into ``c_org`` or ``DIČ DPH`` into ``dic_dph``. .. automodule:: aiviro.modules.config :members: YAMLConfig, CSVConfig