csc-cia-stne 0.0.76__py3-none-any.whl → 0.0.78__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.
csc_cia_stne/bc_sta.py CHANGED
@@ -6,6 +6,7 @@ import xml.etree.ElementTree as ET
6
6
  from xml.dom.minidom import parseString
7
7
  from pydantic import BaseModel, ValidationError, field_validator, Field, HttpUrl
8
8
  from typing import Literal, Dict, Union, Optional, List
9
+ from datetime import datetime
9
10
 
10
11
  log = logging.getLogger('__main__')
11
12
 
@@ -3,6 +3,7 @@ import subprocess
3
3
  import time
4
4
  import pyautogui
5
5
  import psutil
6
+ import pygetwindow as gw
6
7
  import logging
7
8
  pyautogui.USE_MOUSEINFO = False
8
9
  log = logging.getLogger('__main__')
@@ -26,7 +27,21 @@ def obter_ip_conexao_rdp():
26
27
 
27
28
  return None
28
29
 
29
- def conectar_rdp(host, usuario, senha):
30
+ def verificar_sessao_rdp()->bool:
31
+ """Verifica se a sessão RDP está ativa"""
32
+ # Verifica se o processo mstsc.exe está rodando
33
+ for proc in psutil.process_iter(['name']):
34
+ if proc.info['name'] == 'mstsc.exe':
35
+ #return True
36
+
37
+ # Verifica se a janela da Área de Trabalho Remota está aberta
38
+ for window in gw.getAllTitles():
39
+ if "Área de Trabalho Remota" in window or "Remote Desktop" in window:
40
+ return True
41
+
42
+ return False
43
+
44
+ def conectar_rdp(host:str, usuario:str, senha:str)->bool:
30
45
  """Conecta via RDP em uma máquina remota
31
46
 
32
47
  Args:
@@ -45,23 +60,50 @@ def conectar_rdp(host, usuario, senha):
45
60
 
46
61
  try:
47
62
 
48
- # Inicia o mstsc
49
- cmd_conexao = f"start mstsc /v:{host} /f"
50
- subprocess.run(cmd_conexao, shell=True)
63
+ def criar_arquivo_rdp(host, usuario, caminho_rdp="conexao.rdp")->str:
64
+ """Cria um arquivo .rdp para conexão RDP
65
+ Args:
66
+ host (str): host do computador remoto
67
+ usuario (str): Usuário
68
+ caminho_rdp (str): Caminho do arquivo .rdp
69
+ Returns:
70
+ str: Caminho do arquivo .rdp
71
+ """
72
+ conteudo_rdp = f"""
73
+ screen mode id:i:2
74
+ desktopwidth:i:1920
75
+ desktopheight:i:1080
76
+ session bpp:i:32
77
+ winposstr:s:0,1,0,0,800,600
78
+ full address:s:{host}
79
+ username:s:{usuario}
80
+ """
81
+ with open(caminho_rdp, "w") as arquivo:
82
+ arquivo.write(conteudo_rdp.strip())
83
+
84
+ return caminho_rdp
51
85
 
52
- # Aguarda um tempo para verificar se a conexão foi feita
53
- time.sleep(3) # tempo para o usuário tentar logar
54
- pyautogui.typewrite(senha)
86
+ caminho_rdp = criar_arquivo_rdp(host, usuario)
87
+ subprocess.run(f"start mstsc {caminho_rdp}", shell=True)
88
+ # Espera a conexão ser feita e confirma que realmente quer fazer a conexão com o computador remoto de forma insegura (certificado)
89
+ time.sleep(10)
90
+ pyautogui.press('left')
91
+ pyautogui.press('enter')
92
+ # Espera 3 segundos para digitar a senha e dar enter
93
+ time.sleep(3)
94
+ pyautogui.write(senha)
55
95
  pyautogui.press('enter')
56
- time.sleep(2)
96
+ # Espera 5 segundos para aparecer a tela sobre o certificado e aceitar a conexão de forma insegura (certificado)
97
+ time.sleep(5)
57
98
  pyautogui.press('left')
58
99
  pyautogui.press('enter')
100
+ # Aguarda 5 segundos e verifica se a conexão foi feita com sucesso
59
101
  time.sleep(5)
60
- return True
102
+ return verificar_sessao_rdp()
61
103
 
62
104
  except Exception as e:
63
-
64
- log.error(f"Falha ao tentar logar via RDP (Windows)\nErro: {str(e)}")
105
+
106
+ log.error(f"Erro ao conectar à área de trabalho remota:\n{e}")
65
107
  return False
66
108
 
67
109
  elif sistema == "Linux":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: csc_cia_stne
3
- Version: 0.0.76
3
+ Version: 0.0.78
4
4
  Summary: Biblioteca do time CSC-CIA utilizada no desenvolvimento de RPAs
5
5
  License: MIT
6
6
  Keywords: karavela,csc,cia,stone,rpa,botcity,stne
@@ -1,6 +1,6 @@
1
1
  csc_cia_stne/__init__.py,sha256=Io-gKis1evws5cHUqyOrcsZKNCQRviYj3zbp__5lgKU,2512
2
2
  csc_cia_stne/bc_correios.py,sha256=pQAnRrcXEMrx3N1MWydZVIhEQLerh3x8-0B045zZIzk,24174
3
- csc_cia_stne/bc_sta.py,sha256=doJs-rKGAAe8aeMxzNKUN9uCG2KazGn2DO85sTzKSRk,28884
3
+ csc_cia_stne/bc_sta.py,sha256=xP664rwfq65VcQvzdWYVCNk7_Vevy3Es4AKf7z-8xiI,28914
4
4
  csc_cia_stne/email.py,sha256=RK_TzWBVnUfpP-s5NvjTJJjzhICy8e2fME9EuaiySMY,8162
5
5
  csc_cia_stne/gcp_bigquery.py,sha256=jYxvqrWDOPkxc05U4aef7V5lL8ptqsE93lfn0dLFyvc,7385
6
6
  csc_cia_stne/google_drive.py,sha256=k6GnM8bxQUPbXhaK6Sa4JpWrCcJ0vzYgXP8Uexy7YR0,16073
@@ -17,7 +17,7 @@ csc_cia_stne/utilitarios/functions/__init__.py,sha256=nUcjSI23FxfX18AQ8Q_Gimyxme
17
17
  csc_cia_stne/utilitarios/functions/func_b64.py,sha256=XGU34BIQQXWXBS0yM2B4A2wDlcrMl1unIJXjq4lpLnk,1254
18
18
  csc_cia_stne/utilitarios/functions/func_converters.py,sha256=EY1zvlBaRX7G1MceVSiRXwwKDQDZwUO9iECBL0fe5iU,481
19
19
  csc_cia_stne/utilitarios/functions/func_get_secret.py,sha256=khTtUTE-acdA9lIM8l7weejDSqoTYlf59ypBdC_F_lw,2150
20
- csc_cia_stne/utilitarios/functions/func_rdp.py,sha256=2B3DjctfU72i0i0TVO1Zk3JdEJCYcwa1MElJtKdkfk4,2855
20
+ csc_cia_stne/utilitarios/functions/func_rdp.py,sha256=bHzMEv2mofRLMB0DswW1-mLtYqQdrGPz3Lnt6xQNxFA,4713
21
21
  csc_cia_stne/utilitarios/functions/func_recriar_pastas.py,sha256=4whZpB3aJQaCPJ3osMAQpKrzEhqYtJbljGWlx_OvKIM,826
22
22
  csc_cia_stne/utilitarios/functions/func_settings.py,sha256=XwlfqdcfocXQ8kTsDKZ6GsAtpzr0_u44AOTIMtdem7U,2059
23
23
  csc_cia_stne/utilitarios/functions/func_titulo.py,sha256=bH4tYxovTARF-g2kWUK_GIzzXt8egbVdp6mWD6fc_3I,5345
@@ -26,8 +26,8 @@ csc_cia_stne/utilitarios/validations/GoogleDriveValidator.py,sha256=Q1oZTae4hDJ2
26
26
  csc_cia_stne/utilitarios/validations/ServiceNowValidator.py,sha256=yleKUIo1ZfyloP9fDPNjv3JJXdLcocT81WIgRSYmqEA,14423
27
27
  csc_cia_stne/utilitarios/validations/__init__.py,sha256=O_qyEU2ji3u6LHUXZCXvUFsMpoMWL625qqHTXyXivTA,106
28
28
  csc_cia_stne/utilitarios/validations/web_validator.py,sha256=HYKYSpDv1RvRjZIuwTPt-AbEz-9392MxM_O329iYuSA,5722
29
- csc_cia_stne-0.0.76.dist-info/LICENCE,sha256=LPGMtgKki2C3KEZP7hDhA1HBrlq5JCHkIeStUCLEMx4,1073
30
- csc_cia_stne-0.0.76.dist-info/METADATA,sha256=urogmx7a07KjyoM8Qrl5F705wfDM55yx5NeQtOTQ8jI,1340
31
- csc_cia_stne-0.0.76.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
32
- csc_cia_stne-0.0.76.dist-info/top_level.txt,sha256=ldo7GVv3tQx5KJvwBzdZzzQmjPys2NDVVn1rv0BOF2Q,13
33
- csc_cia_stne-0.0.76.dist-info/RECORD,,
29
+ csc_cia_stne-0.0.78.dist-info/LICENCE,sha256=LPGMtgKki2C3KEZP7hDhA1HBrlq5JCHkIeStUCLEMx4,1073
30
+ csc_cia_stne-0.0.78.dist-info/METADATA,sha256=kNzJVWUxezjxCKq7mcBMPwM_be-uT6r25gnJb5Dn_Nc,1340
31
+ csc_cia_stne-0.0.78.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
32
+ csc_cia_stne-0.0.78.dist-info/top_level.txt,sha256=ldo7GVv3tQx5KJvwBzdZzzQmjPys2NDVVn1rv0BOF2Q,13
33
+ csc_cia_stne-0.0.78.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.0.0)
2
+ Generator: setuptools (76.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5