# ---
# jupyter:
#   jupytext:
#     text_representation:
#       extension: .py
#       format_name: light
#       format_version: '1.5'
#       jupytext_version: 1.14.4
#   kernelspec:
#     display_name: Python 3
#     language: python
#     name: python3
# ---

# # Importando as bibliotecas de trabalho

import os
import pyautogui
import pynput
import time
import sys
import itertools
from glob import glob
import shutil

# # Lendo o diretório e filtrando apenas os arquivos com extensão .RSR

# lendo o diretorio de trabalho
path=os.getcwd()
# gerando a lista de arquivos no diretorio
files=os.listdir(path)
# filtrando apenas os arquivos com extensão .RSR
rsr_files=[f for f in files if f.endswith('.RSR')]
rsr_files[3]

#obtendo o caractere para gerar o arquivo de saída
out_name=rsr_files[0].split("-")[-1][0]
out_name

# # Lista de diametros a serem testados para gerar  as $p(r)$

rmin=60
rmax=260
stp=5
dd=[s for s in range(rmin,rmax,stp)]
len(dd)

# # Movendo o mouse para o console

#terminal="konsole"
#app=os.system(terminal)
wait1=time.sleep(2)
#mt=pyautogui.position()
mt=[769,85]
mb=[769,678]

# # Executando o Gnom em loop para vários valores de $r$

for n in range(len(rsr_files)):
    for k in range(len(dd)):
        mv_mouse=pyautogui.moveTo(mt[0],mt[1])
        mouse_click=pyautogui.click(mt[0],mt[1])
        software='gnom'
        pyautogui.typewrite(software)
        pyautogui.press('enter')
        pyautogui.press('enter')
        pyautogui.typewrite(str(rsr_files[n]))
        pyautogui.press('enter')
        pyautogui.press('enter')
        pyautogui.press('enter')
        pyautogui.press('enter')
        pyautogui.press('enter')
        pyautogui.press('enter')
        pyautogui.typewrite(str(dd[k]))
        pyautogui.press('enter')
        pyautogui.press('enter')
        pyautogui.press('enter')
        pyautogui.press('enter')
        pyautogui.press('enter')
        pyautogui.typewrite(str(rsr_files[n].split("-")[-1][0])+str(k)+".out")    
        pyautogui.press('enter')

# + active=""
# #  criando nomes para os diretorios de log
# #name=[]
# #for i in range(4):
# #    n=folder_names[i].split("-")[-1][0]
# #    name.append(n)
# #name
# #  criando os diretorios de log
# -

# # Lendo todos os arquivos de saída e criando pastas de registro

# lendo o diretorio de trabalho
path=os.getcwd()
# gerando a lista de arquivos no diretorio
new_files=os.listdir(path)
# filtrando apenas os arquivos com extensão .out
out_files=[f for f in new_files if f.endswith('.out')]
#  criando nomes para os diretorios de log
folder_names=[i for i in rsr_files]#rsr_files[i].split("-")[-1][0]
#  criando os diretorios de log
dirs = [os.mkdir(folder_names[i].split("-")[-1][0]) for i in range(4)]

# # Movendo todos os arquivos do tipo '*.out' para pastas de registros

n=len(out_files)
i=0
for i in range(n):
    for j in range(4):
        if out_files[i][0] == folder_names[j].split("-")[-1][0]:
            shutil.move(out_files[i], folder_names[j].split("-")[-1][0]+'/')
    n=n-1    

# + active=""
# # Snippet for moving files to list of directories
# '''files = ["file1","file2","file3","file4"]
# folders = ["folder1","folder2"]
# for file, folder in zip(files, itertools.cycle(folders)):
#     print("move {} to {}".format(file, folder)) '''

StarcoderdataJupyterScriptsDedupFiltered