python操作redmine且有窗口tkinter

代码如下没啥可说的

# -*- 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布局很随意, 但也不错可以快速开发
需要说的是下载各种包,挺麻烦的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值