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 +1 -0
- rpa_suite/clock/__init__.py +1 -0
- rpa_suite/clock/exec_at.py +2 -0
- rpa_suite/clock/scheduler.py +2 -0
- rpa_suite/clock/waiter.py +2 -0
- rpa_suite/date/__init__.py +1 -0
- rpa_suite/date/date.py +2 -0
- rpa_suite/email/__init__.py +1 -0
- rpa_suite/email/sender_smtp.py +2 -0
- rpa_suite/file/__init__.py +1 -0
- rpa_suite/file/counter.py +2 -0
- rpa_suite/file/temp_dir.py +2 -0
- rpa_suite/log/__create_log_dir.py +2 -0
- rpa_suite/log/__init__.py +1 -0
- rpa_suite/log/{functions_logger.py → _functions_logger.py} +3 -1
- rpa_suite/log/{logger.py → _logger.py} +3 -1
- rpa_suite/log/_variables.py +2 -0
- rpa_suite/log/_variables_uru.py +11 -0
- rpa_suite/log/functions_logger_uru.py +172 -0
- rpa_suite/log/log_decorator.py +2 -0
- rpa_suite/log/logger_uru.py +110 -0
- rpa_suite/log/printer.py +2 -0
- rpa_suite/regex/__init__.py +1 -0
- rpa_suite/regex/list_from_text.py +2 -0
- rpa_suite/suite.py +30 -2
- rpa_suite/validate/__init__.py +1 -0
- rpa_suite/validate/mail_validator.py +2 -0
- rpa_suite/validate/string_validator.py +2 -0
- {rpa_suite-1.0.0.dist-info → rpa_suite-1.0.2.dist-info}/METADATA +12 -12
- rpa_suite-1.0.2.dist-info/RECORD +33 -0
- rpa_suite-1.0.0.dist-info/RECORD +0 -30
- {rpa_suite-1.0.0.dist-info → rpa_suite-1.0.2.dist-info}/LICENSE +0 -0
- {rpa_suite-1.0.0.dist-info → rpa_suite-1.0.2.dist-info}/WHEEL +0 -0
- {rpa_suite-1.0.0.dist-info → rpa_suite-1.0.2.dist-info}/top_level.txt +0 -0
rpa_suite/__init__.py
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
# __init__.py
|
rpa_suite/clock/__init__.py
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
# /__init__.py
|
rpa_suite/clock/exec_at.py
CHANGED
rpa_suite/clock/scheduler.py
CHANGED
rpa_suite/clock/waiter.py
CHANGED
rpa_suite/date/__init__.py
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
# /__init__.py
|
rpa_suite/date/date.py
CHANGED
rpa_suite/email/__init__.py
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
# /__init__.py
|
rpa_suite/email/sender_smtp.py
CHANGED
rpa_suite/file/__init__.py
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
# /__init__.py
|
rpa_suite/file/counter.py
CHANGED
rpa_suite/file/temp_dir.py
CHANGED
rpa_suite/log/__init__.py
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
# /__init__.py
|
rpa_suite/log/_variables.py
CHANGED
@@ -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)}')
|
rpa_suite/log/log_decorator.py
CHANGED
@@ -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
rpa_suite/regex/__init__.py
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
# /__init__.py
|
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.
|
25
|
-
from .log.
|
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"""
|
rpa_suite/validate/__init__.py
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
# /__init__.py
|
@@ -1,13 +1,12 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: rpa-suite
|
3
|
-
Version: 1.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** -
|
137
|
-
- **exec_at** -
|
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
|
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
|
-
- **
|
147
|
-
- **
|
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** -
|
152
|
-
- **string_validator** -
|
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.
|
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,,
|
rpa_suite-1.0.0.dist-info/RECORD
DELETED
@@ -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,,
|
File without changes
|
File without changes
|
File without changes
|