Я пытаюсь разработать интерфейс, позволяющий пользователям загружать данные с использованием своих имени пользователя и пароля с использованием файла 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
Извините, если это не совсем ясно, но моя идея похожа на мой код ... очень грязный Заранее благодарим за все ваши предложения.
Приветствия.