コード例 #1
0
def CropPic(picPath, cropParams, Save_Path):

    saveFilePath = Save_Path + '/' + os.path.split(
        os.path.dirname(os.path.dirname(picPath)))[1] + '/' + os.path.split(
            os.path.dirname(picPath))[1]
    if os.path.exists(saveFilePath) == False:
        os.makedirs(saveFilePath)
    with im.open(picPath) as picHandle:
        W, H = picHandle.size
        if abs(W - H) < threshold:
            new_img = picHandle.resize((cropParams[0], cropParams[1]),
                                       im.BILINEAR)

            pf.Add_Thread(
                lambda: new_img.save(saveFilePath + '/' + os.path.split(
                    picPath)[1]), 'setDaemon')
            print('正在处理:' + picPath)
        else:
            if W > H:
                new_img = picHandle.crop(((W - H) / 2, 0, (W + H) / 2, H))

                pf.Add_Thread(
                    lambda: new_img.save(saveFilePath + '/' + os.path.split(
                        picPath)[1]), 'setDaemon')

            else:
                new_img = picHandle.crop(
                    (0, (H - W) / 2, W, (H + W) / 2)).resize(
                        (cropParams[0], cropParams[1]), im.BILINEAR)

                pf.Add_Thread(
                    lambda: new_img.save(saveFilePath + '/' + os.path.split(
                        picPath)[1]), 'setDaemon')
                print('正在处理:' + picPath)
コード例 #2
0
def PostDataProcessing(filePath, username, password, method, object):
    fileHandler = xlrd.open_workbook(filePath)
    Sheet = fileHandler.sheet_by_index(0)
    object.RefreshStatusbar('开始准备上传数据...请稍后')
    #object.PostDataButton.setEnabled(False)
    #time.sleep(0.5)
    URL = AppConfig.METHOD[method]['URL']
    JSESSIONID = GetSessionID(username, GetMD5(password))
    if JSESSIONID:
        cookie = {"JSESSIONID": JSESSIONID[0]}

        FieldsList = Sheet.row_values(1)
        Row_Count = len(Sheet.col_values(7))
        Column_Count = len(FieldsList)
        # print(Column_Count)
        if CheckTempXlSX(GetMD5(''.join(FieldsList)), Row_Count):
            for i in range(2, Row_Count):
                postData = copy.deepcopy(ProductFields.AddData)
                for j in range(Column_Count - 1):
                    if j <= 38:
                        postData["productBasicModel"][Sheet.cell(
                            1, j).value] = str(Sheet.cell(i, j).value).replace(
                                '.0', '')
                    else:
                        #print(i,j,Sheet.cell(i, j).value)
                        postData["skuModels"] = FormatSkuModelsData(
                            Sheet.cell(i, j).value,
                            postData["productBasicModel"]["bonusPointsRate"],
                            postData["productBasicModel"]['salePrice'])

                        postData["id"] = postData["productBasicModel"][
                            "productId"]
                postData["productBasicModel"]['mediaModels'] = []
                postData["productBasicModel"]['models'] = []
                # print(postData)
                Datas = json.dumps(postData, ensure_ascii=False).encode()

                object.RefreshStatusbar(
                    "上传%s数据中..." %
                    postData["productBasicModel"]['productName'])
                pf.Add_Thread(
                    lambda: StartOperating(
                        URL, Datas, cookie, postData["productBasicModel"][
                            'productName']), 'setDaemon')
            #object.PostDataButton.setEnabled(True)
            object.RefreshStatusbar('上传%s条商品信息数据完成...' % str(Row_Count - 2))
        else:
            object.RefreshStatusbar('导入数据或者模板有误!')
            object.PostDataButton.setEnabled(True)
    else:
        object.RefreshStatusbar('账号密码错误!')
        object.PostDataButton.setEnabled(True)
        return False
    object.PostDataButton.setEnabled(True)
    for x in locals().keys():
        del locals()[x]
    gc.collect()
コード例 #3
0
 def StartProcess(self, method):
     gv.set_value('width', 640)
     if method == 'imageadjust':
         pf.Add_Thread(
             lambda: WPicAdjust.MultiStart(
                 self.ImagePathlineEdit.text(),
                 self.ImageSavePathlineEdit.text(), self), 'setDaemon')
     elif method == 'datapost':
         pf.Add_Thread(
             lambda: WUploadData.PostDataProcessing(
                 self.ExcelPathlineEdit.text(), self.UserNamelineEdit.text(
                 ), self.PassWordlineEdit.text(), 'Add'
                 if self.AddradioButton.isChecked() else 'Update', self),
             'setDaemon')
     elif method == 'imagepost':
         pf.Add_Thread(
             lambda: WUploadData.PostImageProcessing(
                 self.ImagePostPathlineEdit.text(),
                 self.UserNamelineEdit.text(), self.PassWordlineEdit.text(
                 ), 'PicUpload' if self.SaveradioButton.isChecked() else
                 'PicUploadExamine', self), 'setDaemon')
コード例 #4
0
def ResizeLock(picPath, width, Save_Path):
    saveFilePath = Save_Path + '/' + os.path.split(
        os.path.dirname(os.path.dirname(picPath)))[1] + '/' + os.path.split(
            os.path.dirname(picPath))[1]
    if os.path.exists(saveFilePath) == False:
        os.makedirs(saveFilePath)
    with im.open(picPath) as picHandle:
        W, H = picHandle.size
        new_img = picHandle.resize((width, int(H / W * width)), im.BILINEAR)
        pf.Add_Thread(
            lambda: new_img.save(saveFilePath + '/' + os.path.split(picPath)[1]
                                 ), 'setDaemon')
        print('正在处理:' + picPath)
コード例 #5
0
def PostImageProcessing(filePath, username, password, method, object):
    URL = AppConfig.METHOD[method]['URL']
    #object.ImageAdjustButton.setEnabled(False)
    #time.sleep(0.1)
    JSESSIONID = GetSessionID(username, GetMD5(password))
    if JSESSIONID:
        cookie = {"JSESSIONID": JSESSIONID[0]}
        PicsInfo = GetPicsInfo(filePath)
        for picinfo in PicsInfo:
            postData = json.dumps(FormatImagePostData(picinfo),
                                  ensure_ascii=False).encode()
            object.RefreshStatusbar("上传'%s'商品信息..." % picinfo[0])
            pf.Add_Thread(
                lambda: StartOperating(URL, postData, cookie, picinfo[0]),
                'setDaemon')

    else:
        object.RefreshStatusbar('账号密码错误!')
        return False
コード例 #6
0
ファイル: WUI.py プロジェクト: huangfeng/NCDS-WeChatShopTools
def LoadView():
    root = tkinter.Tk()
    root.title('微商城工具-v%s' % Version)
    ico = os.getcwd() + r'\wsc.ico'
    root.iconbitmap(ico)
    #root.attributes("-alpha", 0.1)
    screen_width = root.winfo_screenwidth() // 2 - 187
    screen_height = root.winfo_screenheight() // 2 - 260

    windows_params = Check_System_Info(
        root.winfo_screenwidth() // 2 - 187, root.winfo_screenheight() // 2 - 260)
    root.geometry(windows_params["geometry"])
    root.maxsize(windows_params["maxsize-x"], windows_params["maxsize-y"])
    root.minsize(windows_params["maxsize-x"], windows_params["maxsize-y"])
    textwidth = windows_params["textwidth"]
    buttonwidth = windows_params["buttonwidth"]
    height = windows_params["height"]
    # *********************************图像自动处理*****************************************
    # 功能区域-标题
    ImageAdjustForm = Frame(width=windows_params["maxsize-x"], height=windows_params["maxsize-y"]/3,bg='#87CEEB')
    ImageAdjustForm.grid(row=0, column=0,padx=0,pady=0)
    ToolTitle = Label(ImageAdjustForm, text='图片自动处理' ,font='微软雅黑 -15 bold',bg='#87CEEB').grid(
        column=2, row=1, columnspan=2, sticky=E + W)
    # 功能区域-图像处理-文件位置选择
    ImageAdjustLabel = Label(ImageAdjustForm, text='图片路径 :',bg='#87CEEB').grid(
        column=1, row=2, columnspan=1, sticky=W)
    ImageAdjustPathTextValue = StringVar()
    ImageAdjustPathText = Entry(ImageAdjustForm, font='微软雅黑 -11', bg='#87CEEB', width=textwidth, state='readonly', textvariable=ImageAdjustPathTextValue, justify=LEFT).grid(
        column=2, row=2, sticky=N + S + E + W, columnspan=2)
    ImageAdjustPathButton = Button(ImageAdjustForm, text="✚", width=9, bg='#F0FFFF',height=height, command=lambda:SelectFilePath('dir',ImageAdjustPathTextValue)).grid(column=4, row=2, sticky=W+E, rowspan=1)
    # 功能区域-图像处理-文件保存位置选择    
    ImageAdjustLabel = Label(ImageAdjustForm, text='保存路径 :',bg='#87CEEB').grid(
        column=1, row=3, columnspan=1, sticky=W)
    ImageSavePathTextValue = StringVar()
    ImageSavePathTextValue.set(pf.GetDesktopPath()+'/'+'微商城图片')
    ImageSavePathText = Entry(ImageAdjustForm, font='微软雅黑 -11',bg='#87CEEB', width=textwidth, state='readonly', textvariable=ImageSavePathTextValue, justify=LEFT).grid(
        column=2, row=3, sticky=N + S + E + W, columnspan=2)
    ImageSavePathButton = Button(ImageAdjustForm, text="✚", width=9, bg='#F0FFFF',height=height, command=lambda:SelectFilePath('dir',ImageSavePathTextValue)).grid(column=4, row=3, sticky=W+E, rowspan=1)    
    # 功能区域-图像处理-宽度
    ImageWidthLabel = Label(ImageAdjustForm, text='默认宽度 :',bg='#87CEEB').grid(
        column=1, row=4, columnspan=1, sticky=W)
    ImageWidthTextValue = StringVar()
    ImageWidthTextValue.set(640)
    ImageWidthText = Entry(ImageAdjustForm, font='微软雅黑 -18', width=4,bg='#87CEEB', textvariable=ImageWidthTextValue, justify=CENTER).grid(
        column=2, row=4, sticky=N + S + E + W, columnspan=1)    
    # 功能区域-图像处理-执行情况打印
    ImageAdjustProcessTextValue = StringVar()
    gv._global_label = ImageAdjustProcessTextValue
    ImageAdjustProcessTextValue.set('准备开始')
    ImageAdjustProcessLabel= Label(ImageAdjustForm, font='微软雅黑 -9',justify=LEFT, textvariable=ImageAdjustProcessTextValue).grid(column=1, row=5, sticky=N + S + E + W, columnspan=4)    

    # 功能区域-图像处理-执行
    ImageAdjustStartButton =Button(ImageAdjustForm, text="开始处理", font='微软雅黑 -15 bold',width=9, bg='#F0FFFF',height=height, command=lambda:pf.Add_Thread(lambda:WPicAdjust.MultiStart(ImageAdjustPathTextValue.get(),ImageSavePathTextValue.get()),'setDaemon')).grid(column=3, row=4, sticky=W+E, columnspan=4) 

    # *********************************商品信息上传*****************************************
    # 功能区域-信息上传-标题
    ProductInfoUploadForm = Frame(width=windows_params["maxsize-x"], height=windows_params["maxsize-y"]/3,bg='#98FB98')
    ProductInfoUploadForm.grid(row=1, column=0,padx=0,pady=3)

    # 窗口主循环
    root.mainloop()