Example #1
0
def CopyProcessing(textqueue):
    print log[15]
    #取出旗帜
    while 1:
        if textqueue.qsize() == 4:
            print log[17]
            textqueue.get(True)
            textqueue.get(True)
            textqueue.get(True)
            textqueue.get(True)
            break
    #接受数据字典
    while 1:
        if textqueue.qsize() == 2:
            temp1 = textqueue.get(True)
            temp2 = textqueue.get(True)
            break
        else :
            continue
    #把进程AB值分类
    if temp1.get('A') != None :
        listA = temp1.get('A')
        listB = temp2.get('B')
    else :
        listA = temp2.get('A')
        listB = temp1.get('B')
    tasklistA = listA[0]
    tasklistB = listB[0]
    lenlistA = listA[1]
    lenlistB = listB[1]
    PrintDataProcessing = listB[2]
    
    fomart = 'abcdefghijklmnopqrstuvwxyz0123456789^$.*+-?=!:|\/()[]{} '
    #设置CMD窗口宽度
    colsTEXT = len(PrintDataProcessing)*28
    os.system('mode con cols=%s lines=50'%colsTEXT)
    
    TaskInList = []
    TaskFlag = {'11':log[60],'10':log[60],'00':log[61],'01':log[62]}
    
    while 1:
        TaskIdList = []
        qk()
        print log[44]
        for l in PrintDataProcessing:
            #获取课程名并裁剪
            PrintData = str(l[3].decode("utf-8").encode('gbk'))[0:14].center(14).lower()
            qweData = 0
            #检测占单位与双位字符数量避免打印?
            for c in PrintData:
                if c in fomart:
                    qweData+=1
            if qweData%2 == 0:
                lens = 14
            else :
                lens = 13
            #打印课程名
            print('%-5s%-16.16s%-5s' % (log[46].center(5),str(l[3].decode("utf-8").encode('gbk'))[0:lens].center(16),log[47].center(5))),
        print ''
        #一层循环长度为最大作业数
        for li in range(0, (max(lenlistB)-1) + 1):
            #二层循环长度为课程数量
            for ll in range(0, (len(PrintDataProcessing)-1) + 1):
                try:
                    #获取作业名并裁剪
                    PrintTaskData = str(tasklistB[ll][li][1].decode("utf-8").encode('gbk'))[0:14].center(14).lower()
                    qweData = 0
                    #检测占单位与双位字符数量避免打印?
                    for c in PrintTaskData:
                        if c in fomart:
                            qweData+=1
                    if qweData%2 == 0:
                        lens = 14
                    else :
                        lens = 13
                    #将有内容的课程ID加入数组
                    if tasklistB[ll][li][1] != '':
                        TaskIdList.append((ll+1)*100+li+1)
                    #打印作业名与ID
                    print ('%-5s%-16.16s%-2s%-1s%-2s' % (str(((ll+1)*100+li+1)).center(5),str(tasklistB[ll][li][1].decode("utf-8").encode('gbk'))[0:lens].center(16),TaskFlag.get(tasklistA[ll][li][4]+tasklistA[ll][li][5]).center(2),'/',TaskFlag.get(tasklistB[ll][li][4]+tasklistB[ll][li][5]).center(2))),
                except IndexError:
                    print ('%-5s%-16.16s%-5s' % (''.center(5),"".center(20),''.center(5))),
            print ''
            
        TaskIn = InputFunction.inputln(45, TaskIdList)
        if TaskIn:
            TaskInList.append(TaskIn)
            continue
        else :
            print log[52],TaskInList
            time.sleep(3)
            break
    while 1:
        TaskUpList=[]
        for i in TaskInList:
            TaskUpList.append([int(str(i)[0:1])-1,int(str(i)[1:3])-1])
        textqueue.put(TaskUpList)