代码如下没啥可说的
# -*- 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()
python的窗口还是挺方便的,虽然不如vb布局很随意, 但也不错可以快速开发
需要说的是下载各种包,挺麻烦的