Python operates redmine and has window tkinter

There is nothing to say about the code as follows

# -*- coding: utf-8  -*-
import sys
import Tkinter

from redminelib import Redmine
from tkinter import messagebox

 
#解决中文编码问题 python2.7 且  IDLE
stdi,stdo,stde=sys.stdin,sys.stdout,sys.stderr
reload(sys)
sys.setdefaultencoding('utf-8')
sys.stdin,sys.stdout,sys.stderr=stdi,stdo,stde
print sys.stdout    


redmine = Redmine('http://192.168.1.134/redmine', username=' ', password=' ')
project = redmine.project.get(' ')
print(project.id)

def on_closing():
    if messagebox.askokcancel("Quit", "Do you want to quit?"):
        top.destroy()

def submit():
    var.set("....")

    inputStr = redmineId_text.get("0.0","end")#从第0行第0列开始读取(‘1.3’表示从第一行第3列开始读取),第二个参数End表示最后一个字符


    inputStr = inputStr.replace('\n', '').replace('\r', '') #去换行

    inputStr = inputStr.replace(' ', '') #去空格
    
    redmineIdsArray = inputStr.split(',')
    
    print(redmineIdsArray)


    testerId = tester_text.get("0.0","end")
    try:
        user_1 = redmine.user.get(testerId)
        print(user_1.firstname )
        print(user_1.lastname  )
    except Exception:
        var.set(testerId+" 该用户不存在 啥都没处理 http://192.168.1.134/redmine/users/348 ")
        return
    else:
         print('333')

    for redmineId in redmineIdsArray :

        try:
            issue = redmine.issue.get(redmineId)

            redmine.issue.update(redmineId, assigned_to_id =testerId, status_id = 24)
            
        except Exception:
            print('555')
            var.set(redmineId+" 找不到该redmine, 之前的redmine已处理,之后的redmine未处理 !")
            return
        else:
            print('666')
        
    var.set("success ! 都给了打工人"+user_1.firstname+' '+user_1.lastname)
    

top = Tkinter.Tk()

top.title("redmine自动化")
top.geometry("700x300+100+200") #窗体大小  与0,0的相对位置

 
readme_label = Tkinter.Label(top, text='功能为: 将一个redmine指派给指定的测试',compound=Tkinter.CENTER,fg="red")

redmineId_label = Tkinter.Label(top, text='redmine号码(如果多个用英文逗号隔开如 16559,16509):')
redmineId_text = Tkinter.Text(top, height=1, width=50)

tester_label = Tkinter.Label(top, text='测试人员ID( 是57  是187)(只可以输入一个人):')
tester_text = Tkinter.Text(top, height=1, width=50)

button_ = Tkinter.Button(top,text="do it !",command=submit)

var = Tkinter.StringVar()
var.set("")
label_message = Tkinter.Label(top,textvariable=var,fg="red")


readme_label.grid(row=1, column=0,sticky='W')
redmineId_label.grid(row=3, column=0,sticky='W')
redmineId_text.grid(row=3, column=1,sticky='E')

tester_label.grid(row=4, column=0,sticky='W')
tester_text.grid(row=4, column=1,sticky='E')

button_.grid(row=6, column=0,sticky='W')
label_message.grid(row=7, column=0,sticky='W')


top.protocol("WM_DELETE_WINDOW", on_closing)
# 进入消息循环
top.mainloop()


The python window is quite convenient. Although it is not as casual as the vb layout, it is also good for rapid development. What
needs to be said is to download various packages, which is quite troublesome.

Guess you like

Origin blog.csdn.net/wangduqiang747/article/details/109839222