rpa-suite 1.0.0__py3-none-any.whl → 1.0.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
rpa_suite/__init__.py CHANGED
@@ -0,0 +1 @@
1
+ # __init__.py
@@ -0,0 +1 @@
1
+ # /__init__.py
@@ -1,3 +1,5 @@
1
+ # /exec_at.py
2
+
1
3
  import time
2
4
  from typing import Callable, Any
3
5
  from datetime import datetime as dt
@@ -1,3 +1,5 @@
1
+ # /scheduler.py
2
+
1
3
  import schedule
2
4
  import time
3
5
  import subprocess
rpa_suite/clock/waiter.py CHANGED
@@ -1,3 +1,5 @@
1
+ # /waiter.py
2
+
1
3
  import time
2
4
  from typing import Callable, Any
3
5
  from rpa_suite.log.printer import error_print, success_print
@@ -0,0 +1 @@
1
+ # /__init__.py
rpa_suite/date/date.py CHANGED
@@ -1,3 +1,5 @@
1
+ # /date.py
2
+
1
3
  import datetime as dt
2
4
  from typing import Optional as Op
3
5
  from typing import Tuple
@@ -0,0 +1 @@
1
+ # /__init__.py
@@ -1,3 +1,5 @@
1
+ # /sender_smtp.py
2
+
1
3
  import smtplib, os
2
4
  from email.mime.image import MIMEImage
3
5
  from email.mime.multipart import MIMEMultipart
@@ -0,0 +1 @@
1
+ # /__init__.py
rpa_suite/file/counter.py CHANGED
@@ -1,3 +1,5 @@
1
+ # /counter.py
2
+
1
3
  import os
2
4
  from typing import Dict, List, Union
3
5
  from rpa_suite.log.printer import error_print, success_print
@@ -1,3 +1,5 @@
1
+ # /temp_dir.py
2
+
1
3
  import os, shutil
2
4
  from typing import Union
3
5
  from rpa_suite.log.printer import error_print, alert_print, success_print
@@ -1,3 +1,5 @@
1
+ # /_create_log_dir.py
2
+
1
3
  import os
2
4
  from typing import Union
3
5
  from rpa_suite.log.printer import error_print, alert_print, success_print
rpa_suite/log/__init__.py CHANGED
@@ -0,0 +1 @@
1
+ # /__init__.py
@@ -1,5 +1,7 @@
1
+ # /_functions_logger.py
2
+
1
3
  import logging
2
- from .logger import file_handler
4
+ from ._logger import file_handler
3
5
  from rpa_suite.log.printer import error_print, success_print
4
6
 
5
7
 
@@ -1,5 +1,7 @@
1
+ # /_logger.py
2
+
1
3
  import logging
2
- from logging import CRITICAL, ERROR, WARNING, INFO, DEBUG
4
+ from logging import DEBUG
3
5
  from logging import FileHandler, StreamHandler, Filter
4
6
  from colorlog import ColoredFormatter
5
7
  from typing import Optional as Op
@@ -1,3 +1,5 @@
1
+ # /_variables.py
2
+
1
3
  from logging import FileHandler, StreamHandler
2
4
  from typing import Optional
3
5
 
@@ -0,0 +1,11 @@
1
+ # /_variables_uru.py
2
+
3
+ from loguru import logger
4
+ from typing import Optional
5
+ from typing import Any
6
+
7
+ # Variável global para o manipulador de arquivo
8
+ file_handler: Optional[str] = None
9
+
10
+ # Variável global para o manipulador de stream stdout/stdin/buffer
11
+ stream_handler: Optional[Any] = logger
@@ -0,0 +1,172 @@
1
+ # /functions_logger_uru.py
2
+
3
+ from loguru import logger
4
+ from rpa_suite.log.printer import error_print, alert_print
5
+ import inspect, os
6
+
7
+ def log_start_run_debug(msg_start_loggin: str) -> None: # represent start application
8
+
9
+ """
10
+ Function responsable to generate ``start run log level debug``, in file and print on terminal the same log captured on this call.
11
+ """
12
+
13
+ file_h: False
14
+
15
+ try:
16
+
17
+ from .logger_uru import config_logger
18
+ file_h = config_logger()
19
+
20
+ except Exception as e:
21
+
22
+ error_print(f'Para usar o log_start_run_debug é necessario instanciar file_handler usando o arquivo "logger_uru" em algum arquivo de configuração do seu projeto primeiramente! Error: {str(e)}')
23
+
24
+ try:
25
+ try:
26
+ if file_h:
27
+ with open(file_h, 'a') as f:
28
+ f.write('\n')
29
+
30
+ except Exception as e:
31
+ alert_print(f'Não foi possivel gerar break_row para log inicial!')
32
+
33
+ # logger.debug(f'{msg_start_loggin}')
34
+ frame = inspect.currentframe().f_back
35
+ full_path_filename = frame.f_code.co_filename
36
+
37
+ # Obtenha o nome do arquivo e o nome da pasta
38
+ filename = os.path.basename(full_path_filename)
39
+ foldername = os.path.basename(os.path.dirname(full_path_filename))
40
+
41
+ # Combine o nome da pasta e o nome do arquivo
42
+ filename = os.path.join(foldername, filename)
43
+ lineno = frame.f_lineno
44
+
45
+ # Vincule o nome do arquivo e a linha à mensagem de log
46
+ logger.bind(filename=filename, lineno=lineno).debug(f'{msg_start_loggin}')
47
+
48
+ except Exception as e:
49
+ error_print(f'Erro durante a função: {log_start_run_debug.__name__}! Error: {str(e)}')
50
+
51
+
52
+ def log_debug(msg) -> None:
53
+
54
+ """
55
+ Function responsable to generate log level ``debug``, in file and print on terminal the same log captured on this call.
56
+ """
57
+
58
+ try:
59
+ frame = inspect.currentframe().f_back
60
+ full_path_filename = frame.f_code.co_filename
61
+
62
+ # Obtenha o nome do arquivo e o nome da pasta
63
+ filename = os.path.basename(full_path_filename)
64
+ foldername = os.path.basename(os.path.dirname(full_path_filename))
65
+
66
+ # Combine o nome da pasta e o nome do arquivo
67
+ filename = os.path.join(foldername, filename)
68
+ lineno = frame.f_lineno
69
+
70
+ # Vincule o nome do arquivo e a linha à mensagem de log
71
+ logger.bind(filename=filename, lineno=lineno).debug(msg)
72
+
73
+ except Exception as e:
74
+ error_print(f'Erro durante a função: {log_debug.__name__}! Error: {str(e)}')
75
+
76
+ def log_info(msg) -> None:
77
+
78
+ """
79
+ Function responsable to generate log level ``info``, in file and print on terminal the same log captured on this call.
80
+ """
81
+
82
+ try:
83
+ frame = inspect.currentframe().f_back
84
+ full_path_filename = frame.f_code.co_filename
85
+
86
+ # Obtenha o nome do arquivo e o nome da pasta
87
+ filename = os.path.basename(full_path_filename)
88
+ foldername = os.path.basename(os.path.dirname(full_path_filename))
89
+
90
+ # Combine o nome da pasta e o nome do arquivo
91
+ filename = os.path.join(foldername, filename)
92
+ lineno = frame.f_lineno
93
+
94
+ # Vincule o nome do arquivo e a linha à mensagem de log
95
+ logger.bind(filename=filename, lineno=lineno).info(msg)
96
+
97
+ except Exception as e:
98
+ error_print(f'Erro durante a função: {log_info.__name__}! Error: {str(e)}')
99
+
100
+ def log_warning(msg) -> None:
101
+
102
+ """
103
+ Function responsable to generate log level ``warning``, in file and print on terminal the same log captured on this call.
104
+ """
105
+
106
+ try:
107
+ frame = inspect.currentframe().f_back
108
+ full_path_filename = frame.f_code.co_filename
109
+
110
+ # Obtenha o nome do arquivo e o nome da pasta
111
+ filename = os.path.basename(full_path_filename)
112
+ foldername = os.path.basename(os.path.dirname(full_path_filename))
113
+
114
+ # Combine o nome da pasta e o nome do arquivo
115
+ filename = os.path.join(foldername, filename)
116
+ lineno = frame.f_lineno
117
+
118
+ # Vincule o nome do arquivo e a linha à mensagem de log
119
+ logger.bind(filename=filename, lineno=lineno).warning(msg)
120
+
121
+ except Exception as e:
122
+ error_print(f'Erro durante a função: {log_warning.__name__}! Error: {str(e)}')
123
+
124
+
125
+ def log_error(msg) -> None:
126
+
127
+ """
128
+ Function responsable to generate log level ``error``, in file and print on terminal the same log captured on this call.
129
+ """
130
+
131
+ try:
132
+ frame = inspect.currentframe().f_back
133
+ full_path_filename = frame.f_code.co_filename
134
+
135
+ # Obtenha o nome do arquivo e o nome da pasta
136
+ filename = os.path.basename(full_path_filename)
137
+ foldername = os.path.basename(os.path.dirname(full_path_filename))
138
+
139
+ # Combine o nome da pasta e o nome do arquivo
140
+ filename = os.path.join(foldername, filename)
141
+ lineno = frame.f_lineno
142
+
143
+ # Vincule o nome do arquivo e a linha à mensagem de log
144
+ logger.bind(filename=filename, lineno=lineno).error(msg)
145
+
146
+ except Exception as e:
147
+ error_print(f'Erro durante a função: {log_error.__name__}! Error: {str(e)}')
148
+
149
+
150
+ def log_critical(msg) -> None:
151
+
152
+ """
153
+ Function responsable to generate log level ``critical``, in file and print on terminal the same log captured on this call.
154
+ """
155
+
156
+ try:
157
+ frame = inspect.currentframe().f_back
158
+ full_path_filename = frame.f_code.co_filename
159
+
160
+ # Obtenha o nome do arquivo e o nome da pasta
161
+ filename = os.path.basename(full_path_filename)
162
+ foldername = os.path.basename(os.path.dirname(full_path_filename))
163
+
164
+ # Combine o nome da pasta e o nome do arquivo
165
+ filename = os.path.join(foldername, filename)
166
+ lineno = frame.f_lineno
167
+
168
+ # Vincule o nome do arquivo e a linha à mensagem de log
169
+ logger.bind(filename=filename, lineno=lineno).critical(msg)
170
+
171
+ except Exception as e:
172
+ error_print(f'Erro durante a função: {log_critical.__name__}! Error: {str(e)}')
@@ -1,3 +1,5 @@
1
+ # /log_decorator.py
2
+
1
3
  from typing import Callable
2
4
  from loguru import logger
3
5
 
@@ -0,0 +1,110 @@
1
+ # /logger_uru.py
2
+
3
+ from typing import Optional as Op
4
+ from .__create_log_dir import _create_log_dir
5
+ from rpa_suite.log.printer import error_print
6
+ from loguru import logger
7
+ import sys, os, inspect
8
+
9
+ class Filters:
10
+ word_filter: Op[list[str]]
11
+
12
+ def __call__(self, record):
13
+
14
+ if len(self.word_filter) > 0:
15
+
16
+ for words in self.word_filter:
17
+
18
+ string_words: list[str] = [str(word) for word in words]
19
+
20
+ for word in string_words:
21
+ if word in record["message"]:
22
+ record["message"] = 'Log Alterado devido a palavra Filtrada!'
23
+ return True
24
+
25
+ return True
26
+
27
+
28
+ class CustomHandler:
29
+ def __init__(self, formatter):
30
+ self.formatter = formatter
31
+
32
+ def write(self, message):
33
+ frame = inspect.currentframe().f_back.f_back
34
+ log_msg = self.formatter.format(message, frame)
35
+ sys.stderr.write(log_msg)
36
+
37
+
38
+ class CustomFormatter:
39
+ def format(self, record):
40
+
41
+ frame = inspect.currentframe().f_back
42
+ full_path_filename = frame.f_code.co_filename
43
+
44
+ # Obtenha o nome do arquivo e o nome da pasta
45
+ filename = os.path.basename(full_path_filename)
46
+ foldername = os.path.basename(os.path.dirname(full_path_filename))
47
+
48
+ # Combine o nome da pasta e o nome do arquivo
49
+ filename = os.path.join(foldername, filename)
50
+ lineno = frame.f_lineno
51
+
52
+ # Formate a mensagem de log TERMINAL
53
+ format_string = "<green>{time:DD.MM.YY.HH:mm}</green> <level>{level: <8}</level> <level>{message}</level>\n"
54
+
55
+ log_msg = format_string.format(
56
+ time=record["time"],
57
+ level=record["level"].name,
58
+ filename=filename,
59
+ lineno=lineno,
60
+ message=record["message"]
61
+ )
62
+ return log_msg
63
+
64
+ def config_logger(path_dir:str = None, name_log_dir:str = None, name_file_log: str = 'log', use_default_path_and_name: bool = True, filter_words: list[str] = None):
65
+
66
+ """
67
+ Function responsible for create a object logger with fileHandler and streamHandler
68
+ """
69
+
70
+ try:
71
+
72
+ if not use_default_path_and_name:
73
+ result_tryed: dict = _create_log_dir(path_dir, name_log_dir)
74
+ path_dir = result_tryed['path_created']
75
+ else:
76
+ if path_dir == None and name_log_dir == None:
77
+ result_tryed: dict = _create_log_dir()
78
+ path_dir = result_tryed['path_created']
79
+
80
+
81
+ # ATRIBUIÇÕES
82
+ new_filter: Op[Filters] = None
83
+ if filter_words is not None:
84
+ new_filter: Filters = Filters()
85
+ new_filter.word_filter = [filter_words]
86
+
87
+
88
+ # configuração de objetos logger
89
+ file_handler = fr'{path_dir}\{name_file_log}.log'
90
+ logger.remove()
91
+
92
+ # Formate a mensagem de log FILE
93
+ log_format: str = "<green>{time:DD.MM.YY.HH:mm}</green> <level>{level: <8}</level> <green>{extra[filename]}</green>:{extra[lineno]: <4} <level>{message}</level>"
94
+
95
+
96
+ formatter = CustomFormatter()
97
+ if new_filter is not None:
98
+ logger.add(file_handler, filter=new_filter, level="DEBUG", format=log_format)
99
+ else:
100
+ logger.add(file_handler, level="DEBUG", format=log_format)
101
+
102
+ # Adicione sys.stderr como um manipulador
103
+ logger.add(sys.stderr, level="DEBUG", format=formatter.format)
104
+
105
+ return file_handler
106
+
107
+ except Exception as e:
108
+
109
+ error_print(f'Houve um erro durante a execução da função: {config_logger.__name__}! Error: {str(e)}.')
110
+ return None
rpa_suite/log/printer.py CHANGED
@@ -1,3 +1,5 @@
1
+ # /printer.py
2
+
1
3
  from colorama import Fore
2
4
 
3
5
  # Windows bash colors
@@ -0,0 +1 @@
1
+ # /__init__.py
@@ -1,3 +1,5 @@
1
+ # /list_from_text.py
2
+
1
3
  import re
2
4
  from typing import Any
3
5
  from rpa_suite.log.printer import error_print, success_print
rpa_suite/suite.py CHANGED
@@ -1,3 +1,31 @@
1
+ # suite.py
2
+
3
+ """
4
+ This file is the heart of the library, acting as a central access point to all available submodules. It imports and instantiates all functions from the submodules into a single object, `Rpa_suite`, allowing users to access all functionalities of the library by importing just this object.
5
+
6
+ The structure of the library has been designed to be modular and organized, with each submodule dedicated to a specific type of functionality. Each submodule is contained in its own folder, making the code easier to navigate and maintain.
7
+
8
+ Upon installing the library, users only need to import the `Rpa_suite` object to have access to all available functions. This is done through the `invoke` function, which returns an instance of the `Rpa_suite` object.
9
+
10
+ Here is an overview of the available submodules:
11
+
12
+ - **CLOCK**: Functions related to time, such as waiting for an execution or executing at a specific hour.
13
+ - **DATE**: Functions for working with dates.
14
+ - **EMAIL**: Functions for sending emails.
15
+ - **FILE**: Functions for working with files, such as counting files or creating temporary directories.
16
+ - **LOG**: Functions for logging events and printing messages.
17
+ - **REGEX**: Functions for working with regular expressions.
18
+ - **VALIDATE**: Functions for validating inputs, such as emails or strings.
19
+
20
+ Remember, to use the library, just do the following:
21
+
22
+ # On your project
23
+ from rpa_suite import suite as rpa
24
+
25
+ # call functions
26
+ rpa.success_print(f'This work!')
27
+
28
+ """
1
29
 
2
30
  """MODULE CLOCK"""
3
31
  from .clock.waiter import wait_for_exec, exec_and_wait
@@ -21,8 +49,8 @@ from .file.temp_dir import create_temp_dir, delete_temp_dir
21
49
  # from .log.loggin import logging_decorator
22
50
  from .log.printer import alert_print, success_print, error_print, info_print, print_call_fn, print_retur_fn, magenta_print, blue_print
23
51
 
24
- from .log.logger import config_logger
25
- from .log.functions_logger import log_start_run_debug, log_debug, log_info, log_warning, log_error, log_critical
52
+ from .log.logger_uru import config_logger
53
+ from .log.functions_logger_uru import log_start_run_debug, log_debug, log_info, log_warning, log_error, log_critical
26
54
 
27
55
 
28
56
  """MODULE REGEX"""
@@ -0,0 +1 @@
1
+ # /__init__.py
@@ -1,3 +1,5 @@
1
+ # /mail_validator.py
2
+
1
3
  import email_validator
2
4
  from rpa_suite.log.printer import error_print, success_print
3
5
 
@@ -1,3 +1,5 @@
1
+ # /string_validator.py
2
+
1
3
  from rpa_suite.log.printer import success_print, error_print
2
4
 
3
5
  def search_in(
@@ -1,13 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rpa-suite
3
- Version: 1.0.0
3
+ Version: 1.0.2
4
4
  Summary: Conjunto de ferramentas essenciais para Automação RPA com Python, que facilitam o dia a dia de desenvolvimento.
5
5
  Author: Camilo Costa de Carvalho
6
6
  Author-email: camilo.carvalho@triasoftware.com.br
7
7
  License: MIT
8
8
  Keywords: basic-tools,email-tools,email-validation,file-tools,simple-functions,rpa-tools,rpa-functions,Tools,Rpa,Automation,RPA,Automação,Python,Ferramentas de RPA,Automação de Processos,Biblioteca Python para RPA
9
9
  Classifier: Development Status :: 3 - Alpha
10
- Classifier: Programming Language :: Python :: 3.10
11
10
  Classifier: Programming Language :: Python :: 3.11
12
11
  Classifier: Programming Language :: Python :: 3.12
13
12
  Classifier: License :: OSI Approved :: MIT License
@@ -133,26 +132,27 @@ No setup do nosso projeto já estão inclusas as dependências, só será necess
133
132
  O módulo principal do rpa-suite é dividido em categorias. Cada categoria contém módulos com funções destinadas a cada tipo de tarefa
134
133
  - **rpa_suite**
135
134
  - **clock**
136
- - **waiter** - Funções para aguardar em relação a execução de uma função, podendo ser antes ou depois
137
- - **exec_at** - Funções para executar em momentos pré determinados
135
+ - **waiter** - Função capaz de aguardar para executar a função do argumento, ou executar a função do argumento para aguardar posteriormente
136
+ - **exec_at** - Função capaz de executar a função do argumento no horario especificado "xx:yy" parecido com scheduler, porem com a vantagem de ter o horario como variavel dentro do escopo de código podendo gerar variações pela propria natureza da aplicação
138
137
  - **date**
139
- - **date** - Funções para capturar data, mês, ano, hora, minutos de forma individual em apenas uma linha
138
+ - **date** - Funções capazes de extrair dia/mes/ano e hora/min/seg, facilitando a necessidade de formatar o resultado de datetime, a função ja devolve os valores em trio formatados em string
140
139
  - **email**
141
- - **sender_smtp** - Funções para envio de email SMPT
140
+ - **sender_smtp** - Funções para envio de email SMPT com configuração simples já default porem personalizavel
142
141
  - **file**
143
142
  - **counter** - Funções para contagem de arquivos
144
143
  - **temp_dir** - Funções para diretórios temporários
145
144
  - **log**
146
- - **logger** - Objeto de log, cria diretório/arquivo de log integrado aos prints
147
- - **printer** - Funções print personalizados (alerta, erro, sucesso, informativo)
145
+ - **logger_uru** - Instanciador de stream e handlefile que cria na pasta raiz do arquivo chamador pasta de log e seta o stream para as funções de log
146
+ - **functions_logger_uru** - Funções de log parecida com os prints personalizados, setadas e personalizadas para todos log levels usado pelo ´logger_uru´, já escreve no arquivo setado além de gerar o print no terminal
147
+ - **printer** - Funções de print personalizados (alerta, erro, sucesso, informativo)
148
148
  - **regex**
149
- - **list_from_text** - Funções para gerar listas, dividindo texto usando padrão regex
149
+ - **list_from_text** - Funções para gerar listas, dividindo texto usando padrão regex (necessita de melhorias)
150
150
  - **validate**
151
- - **mail_validator** - Funções para validação de emails
152
- - **string_validator** - Funções para validação/varredura (strings, substrings, palavras)
151
+ - **mail_validator** - Função para validar lista de emails, devolvendo a lista com emails validos a partir da lista original
152
+ - **string_validator** - Função que valida presença de letras, palavras, e texto em strings
153
153
 
154
154
  ## Release
155
- Versão: **Beta 1.0.0**
155
+ Versão: **Beta 1.0.2**
156
156
 
157
157
  Lançamento: *20/02/2024*
158
158
 
@@ -0,0 +1,33 @@
1
+ rpa_suite/__init__.py,sha256=2k_ZeqU7FvqZMFqGm-EYRiV98uxUxmiy5wXygvIobPU,13
2
+ rpa_suite/suite.py,sha256=D5VUJbG3fPCXtQjGA0z6Ll9znr4-YPzZWHbpGNpZ-nU,5246
3
+ rpa_suite/clock/__init__.py,sha256=haPk94yjX88kR5YpzNNFCpzHw0T7fKAEoiaHA3-vAds,14
4
+ rpa_suite/clock/exec_at.py,sha256=APgjuY5ORzITqtyGscdrhuYxYgJ0iAx4zqQxsdNBZoQ,5826
5
+ rpa_suite/clock/scheduler.py,sha256=_EeERPcdVakgp4WoAWbQvLUeLUtZeWiONuU--EszKvI,1197
6
+ rpa_suite/clock/waiter.py,sha256=puvi1tNIG5v50tVaGckxjWjbTcnDQkpuxIZykRCi6s4,5916
7
+ rpa_suite/date/__init__.py,sha256=haPk94yjX88kR5YpzNNFCpzHw0T7fKAEoiaHA3-vAds,14
8
+ rpa_suite/date/date.py,sha256=fYCEdOcv9mU41xI0AUzMVzABPzhEjMQ4ZBCE_mBPQws,4316
9
+ rpa_suite/email/__init__.py,sha256=haPk94yjX88kR5YpzNNFCpzHw0T7fKAEoiaHA3-vAds,14
10
+ rpa_suite/email/sender_smtp.py,sha256=e6DgITLLB1Acx1yQbHBargHT3UGxLDpTdHkQ0w8EgaM,7598
11
+ rpa_suite/file/__init__.py,sha256=haPk94yjX88kR5YpzNNFCpzHw0T7fKAEoiaHA3-vAds,14
12
+ rpa_suite/file/counter.py,sha256=vFaqENBC6HLv7dHmEmibsHhLVfumTM6Dh7p-u2g6s5Y,2483
13
+ rpa_suite/file/temp_dir.py,sha256=NnoLbpgCm9ZoC2D2mzywo756d8BBt_1fhQeNUUnxsPs,7134
14
+ rpa_suite/log/__create_log_dir.py,sha256=Lm3qbIhJ0z4zBkRIdR5AFw8voBRaAGuEwr8G-6cSPGg,3318
15
+ rpa_suite/log/__init__.py,sha256=haPk94yjX88kR5YpzNNFCpzHw0T7fKAEoiaHA3-vAds,14
16
+ rpa_suite/log/_functions_logger.py,sha256=kIpJEyk-Rpg2oMo0Jjchjbh06N9PMx33GkYt6IlTTvA,2696
17
+ rpa_suite/log/_logger.py,sha256=nuHCvu8uUbr_xIJDn5BVJowXBaG-UNnYlbuPO3P9FSw,3636
18
+ rpa_suite/log/_variables.py,sha256=vCcktifFUriBQTyUaayZW8BlE8Gr7VP-tFbfomKOS5U,312
19
+ rpa_suite/log/_variables_uru.py,sha256=xRqYp49l1fFNrHczOmJ6Pqw1PKIWs0f9kxlgvuYGYys,303
20
+ rpa_suite/log/functions_logger_uru.py,sha256=Drnmpz08or3ij2HLQsrYgvWa-zxk66HFI00GxhmDGQY,6154
21
+ rpa_suite/log/log_decorator.py,sha256=cSN-WINpdbtvH_bDNurpkbMLjQlDPJKdwou6T8JHo3g,1338
22
+ rpa_suite/log/logger_uru.py,sha256=HwMHqJs9wKDfGqSny0smwOQK3wq1xLTd3x-nCGQ0IZo,3665
23
+ rpa_suite/log/printer.py,sha256=Ue-OW5w6QB9zjUDd4Y62jmfgcN6ibPM_smuY2kutr6U,3965
24
+ rpa_suite/regex/__init__.py,sha256=haPk94yjX88kR5YpzNNFCpzHw0T7fKAEoiaHA3-vAds,14
25
+ rpa_suite/regex/list_from_text.py,sha256=HJaV_nhjCjn8UkJgEsnnKO2hYuE-zVDCAH9MD6XocGw,2226
26
+ rpa_suite/validate/__init__.py,sha256=haPk94yjX88kR5YpzNNFCpzHw0T7fKAEoiaHA3-vAds,14
27
+ rpa_suite/validate/mail_validator.py,sha256=dtFdthDd3gHyJ0uEUT9yPFFP1yyq4TXLxKLV1gqcNMo,2930
28
+ rpa_suite/validate/string_validator.py,sha256=8dGAHhvZu19yIVOoX-te1pVqVi7cwDrFJKf107cLgvA,5370
29
+ rpa_suite-1.0.2.dist-info/LICENSE,sha256=5D8PIbs31iGd9i1_MDNg4SzaQnp9sEIULALh2y3WyMI,1102
30
+ rpa_suite-1.0.2.dist-info/METADATA,sha256=T19oR6oPJK7UjXuNo1UnpjXMZGJYTfukG-5yiEG0AlU,7382
31
+ rpa_suite-1.0.2.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
32
+ rpa_suite-1.0.2.dist-info/top_level.txt,sha256=HYkDtg-kJNAr3F2XAIPyJ-QBbNhk7q6jrqsFt10lz4Y,10
33
+ rpa_suite-1.0.2.dist-info/RECORD,,
@@ -1,30 +0,0 @@
1
- rpa_suite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- rpa_suite/suite.py,sha256=d0AyTyVBtORSFn08tot4WY2x9GUnuYPaaYVOqjNcMBE,3709
3
- rpa_suite/clock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- rpa_suite/clock/exec_at.py,sha256=AIwgot-zhAgLVSuBOEIIirH4hGoF2yGPOHsMXKZLeDQ,5809
5
- rpa_suite/clock/scheduler.py,sha256=N3JMu_nDB2xyWxTL4EGsA-_u0r1nUmwC9SnJTz0Frns,1178
6
- rpa_suite/clock/waiter.py,sha256=hczvBR9f63ofR8FZbWO-p96yJgu-df8fm_bpfmliMZc,5900
7
- rpa_suite/date/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- rpa_suite/date/date.py,sha256=FXdth3CLvg57T8dZApLEftJhfi2KrOev0dOvI-xVkmc,4302
9
- rpa_suite/email/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- rpa_suite/email/sender_smtp.py,sha256=8v-IH2Z_tS0fwo-JW_ichoyX54-ekBkCRuCEyjWdFTs,7577
11
- rpa_suite/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- rpa_suite/file/counter.py,sha256=DDxeMaXI1pp31-divf30BEJ3QcLnA9ucKE-D0ZpsmFU,2466
13
- rpa_suite/file/temp_dir.py,sha256=F2ZDFLpqHO1BTtJURkiuexQNaO-pngJkk6cvTmp0JSk,7116
14
- rpa_suite/log/__create_log_dir.py,sha256=5pxX7j3vWYQ0Dn2_04UWnfUJvvbzd78DgOpH2IaBFYM,3293
15
- rpa_suite/log/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- rpa_suite/log/_variables.py,sha256=rt8W9-yDgoonAu93yuPZgPy-rtnJcq4NwzB7EL0TRX4,292
17
- rpa_suite/log/functions_logger.py,sha256=A6z_f6pKClz_PYl3YEM-9px1KShNox5etU3umPqqvyg,2668
18
- rpa_suite/log/log_decorator.py,sha256=K5RhUITcPIHQmnuCZjEYYUbYyK1-WaB7EwZe2V3ugCE,1315
19
- rpa_suite/log/logger.py,sha256=ZJ10JeR-J8PtL5ndHzV1AzAGjieH3lH_E2b2w8J--7c,3651
20
- rpa_suite/log/printer.py,sha256=sykxCpOyiMe539iXuRq-yN6HpKi1xxWiP7mZ1s8mF6k,3948
21
- rpa_suite/regex/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- rpa_suite/regex/list_from_text.py,sha256=gGTNJdnmD1kwJ6oQOMwcEFFKb_U5i4rV-bSCHC-LlKQ,2202
23
- rpa_suite/validate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- rpa_suite/validate/mail_validator.py,sha256=PEa_-bON7BYnpaz-p5aEZkpza7qsoBBFKv6GwsjdjCU,2906
25
- rpa_suite/validate/string_validator.py,sha256=7eJVTCmzVwgM513NqAAjqvo9iqHmsWQ-6LQ8-oOh_0s,5344
26
- rpa_suite-1.0.0.dist-info/LICENSE,sha256=5D8PIbs31iGd9i1_MDNg4SzaQnp9sEIULALh2y3WyMI,1102
27
- rpa_suite-1.0.0.dist-info/METADATA,sha256=y0V6M3aR_oP95hjgcvY34Gsk0Ia9Bc40i7nK6_K0Uc8,6656
28
- rpa_suite-1.0.0.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
29
- rpa_suite-1.0.0.dist-info/top_level.txt,sha256=HYkDtg-kJNAr3F2XAIPyJ-QBbNhk7q6jrqsFt10lz4Y,10
30
- rpa_suite-1.0.0.dist-info/RECORD,,