forked from NBO2001/Automatizador-de-rotina
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupload.py
108 lines (70 loc) · 4.25 KB
/
upload.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
from time import sleep
import os
from scrapping_boxs import scan_items_in_sys
from utils import element_is_load, reading_folders, verify_folders
from file_monitoration import folder_is_change
from utils import create_json, reading_json, file_is_exists, convert_url
# Verifica se teve mundaça
def conf_file_upload():
change, location = folder_is_change()
upes = reading_json(convert_url('./config/boxs'))
list_t = list()
for uep in upes:
for local in location:
if uep['index'] == local['index']:
for bx in uep['boxs']:
if bx['index'] == local['box']:
list_t.append({
"index": uep['index'],
"index_box": bx['index'],
"id": (bx['link'].split("/")[(len(bx['link'].split("/"))-1)]),
"link": bx['link']
})
create_json(convert_url('./config/upload'), list_t)
def up_files(instance, speed, app=False):
app.situation(f'Lendo arquivos de configuração ...') if app else print(f'Lendo arquivos de configuração ...')
upload = reading_json(convert_url('./config/upload'))
list_up = list()
for upl in upload:
control_items = reading_json(convert_url(f'./config/folders/{upl["id"]}'))
instance.driver.get(f'{instance.get_urlBase()}{upl["link"]}')
element_is_load(instance,"//mat-card/div/div[3]/mat-form-field[1]/div/div[1]/div/input", time_in=60)
element_is_load(instance,"//mat-table/mat-row[1]/mat-cell[5]/label/input", time_in=60)
row = 1
time_wait = 0
for control in control_items[upl["link"]]:
if control['upload'] == "none":
location = convert_url(f'{os.getcwd()}/{upl["index"]}/{upl["index_box"]}/{control["name"]}.pdf')
if not file_is_exists(location):
location = convert_url(f'{os.getcwd()}/{upl["index"]}/{upl["index_box"]}/{control["name"]}.PDF')
list_up.append(control["name"])
time_wait += os.path.getsize(location)
time_item = (((os.path.getsize(location))/1048576)/speed) * 4
app.situation(f'Enviando {control["name"]}') if app else print(f'Enviando {control["name"]}')
input_file = instance.driver.find_element_by_xpath(f'//mat-table/mat-row[{row}]/mat-cell[5]/label/input')
input_file.send_keys(location)
app.situation(f'Enviando {control["name"]}... \n Velocidade da internet {speed:.2f} MB/S \nPrevisão de upload: {(time_item):.2f}s , aguarde ...') if app else print(f'Enviando, previsão de upload em {time_wait}s , aguarde ...')
sleep(time_item)
row +=1
time_wait = (time_wait/1048576)/speed
app.situation(f'Enviando id: {upl["id"]}... \n Velocidade da internet {speed:.2f} MB/S \nPrevisão de upload: {(time_wait/60):.2f}m , aguarde ...') if app else print(f'Enviando, previsão de upload em {time_wait}s , aguarde ...')
sleep(time_wait)
instance.driver.get(f'{instance.get_urlBase()}#/modules/home')
sleep(1)
instance.driver.get(f'{instance.get_urlBase()}{upl["link"]}')
app.situation(f'Aguardando o carregamento da página ...') if app else print(f'Aguardando o carregamento da página...')
element_is_load(instance,"//mat-card/div/div[3]/mat-form-field[1]/div/div[1]/div/input", time_in=7200)
app.situation(f'Arquivos enviados ...') if app else print(f'Arquivos enviados ...')
sleep(3)
app.situation(f'Scanneando items...') if app else print(f'Scanneando items ...')
dt = scan_items_in_sys(instance)
app.situation(f'Escrevendo mudanças...') if app else print(f'Escrevendo mudanças...')
reading_folders(upl["link"], dt )
instance.driver.get(f'{instance.get_urlBase()}#/modules/home')
sleep(5)
if not len(list_up):
app.situation("Pegando as informações das pastas ... ") if app else print("Pegando as informações das pastas ... ")
create_json(convert_url("./config/folders"), verify_folders(convert_url("./")))
return True
else:
return False