TKinter сохранение пользователя и пароля в строковом файле - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь разработать интерфейс, позволяющий пользователям загружать данные с использованием своих имени пользователя и пароля с использованием файла CSV, извлеченного из базы данных. Цель состоит в том, чтобы «отчасти» объединить сведения о соединении с некоторыми подробностями из этого файла, чтобы сгенерировать строковые строки CURL в виде текстового файла

Вот мой пример файла CSV:

Fichier,No. de document,DocumentId,Filename
rar,008_029_ENS_EXE_CCE_PGC_IRE_001,1348828088588073573,NRO-08-029-Saint-Laurent.rar
pdf,08_001_059_DOE_CCR_CNV_SAD_001,1348828088574792249,08_001_059_DOE_CCR_CNV_SAD_001_B3.pdf
pdf,08_001_059_DOE_SRO_LST_LOD_001,1348828088574845667,08_001_059_DOE_SRO_LST_LOD_001_A3.pdf

Вот мой Скрипт "python":

import sys
import os
import csv
import subprocess
from tkinter import *
from tkinter import ttk
from tkinter import filedialog

root = Tk()
root.title('Aconex Download Manager')
root.geometry("465x230")

def AddConnection():
    if not entry_user.get() or not entry_pass.get():
        messagebox.showerror('Invalid', 'Empty username or password')
    else:
        addconnect = open ("XXXXXX.txt", "w") # don't know what to do in order to keep username and password
        addconnect.write(entry_user.get() + ':' + entry_pass.get())
    return

def UploadAction():
    filename = filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("csv files","*.csv"),("all files","*.*")))

def SaveAction(event=None):
    directory = filedialog.askdirectory()

def ConvertTool():
    data_out = open('download_list.txt', 'w')
    with open(filename) as csv_file:
        csv_reader = csv.DictReader(csv_file, delimiter=',')
        for row in csv_reader:
            data_out.write('curl -u '+ (entry_user.get() + ':' + entry_pass.get())' +' -o ' +'"'+ (row['Filename']) +'" '+ 'http://my-website.com/268441485/register/' +""+ (row['DocumentId'])+""+"\n")
    data_out.close()

def DownloadTool():
    subprocess.call([r'.\bat\download_tool.bat'])

def QuictAction():
    root.destroy()

Label(root, text = "Username :").grid(row = 0, padx = 3, pady = 3)
entry_user = Entry(root, width = "30")
entry_user.grid(row = 0, column = 1, padx = 1, pady = 10, ipady = 3)
password = Label(root, text = "Password :").grid(row = 1, padx = 3, pady = 3)
entry_pass = Entry(root,width = "30", show ='*')
entry_pass.grid(row = 1, column = 1, padx = 1, pady = 10, ipady = 3)
button4 = ttk.Button(root, text = ">> Converting Data from CSV", width = 30, command = ConvertTool).grid(row = 3, column = 1, padx = 10, pady = 10, sticky = "nw")
button5 = ttk.Button(root, text = "Download >>", width = 25, command = DownloadTool).grid(row = 3, column = 2, padx = 10, pady = 10, sticky = "ne")
separatorLEFT = ttk.Separator(root, orient = HORIZONTAL).grid(row = 2, column = 1, columnspan = 2, padx = 10, pady = 20, sticky = "ew")
button2 = ttk.Button(root, text = "Select CSV File", width = 25, command = UploadAction).grid(row = 0, column = 2, padx = 10, pady = 10, sticky = "ne")
button3 = ttk.Button(root, text = "Select Download Folder", width = 25, command = SaveAction).grid(row = 1, column = 2, padx = 10, pady = 10, sticky = "ne")
separatorRIGHT = ttk.Separator(root, orient = HORIZONTAL).grid(row = 2, column = 1, columnspan = 2, padx = 10, pady = 20, sticky = "ew")
button6 = ttk.Button(root, text = "Close  ", width = 6,  command = QuictAction).grid(row = 4, column = 2, padx = 10, pady = 10, sticky = "ne")
root.mainloop()

Как видите, я не кодер и просто умею взламывать битовые коды. Мне, вероятно, нужно научиться Python один день навсегда .. ^^ Я хотел бы получить в конце список (.txt), подобный этому:

curl -u john:connor -o NRO-08-029-Saint-Laurent.rar http://my-website.com/268441485/register/1348828088588073573
curl -u john:connor -o 08_001_059_DOE_CCR_CNV_SAD_001_B3.pdf http://my-website.com/268441485/register/1348828088574792249
curl -u john:connor -o 08_001_059_DOE_SRO_LST_LOD_001_A3.pdf http://my-website.com/268441485/register/1348828088574845667

Извините, если это не совсем ясно, но моя идея похожа на мой код ... очень грязный Заранее благодарим за все ваши предложения.

Приветствия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...