def download(self, url='', proxy='', user_pass='', location='PDF_Files/',**kwargs):
        """

        :param url:
        """
        if kwargs['cookies']:cookies=kwargs['cookies']
        else:cookies=''
        if proxy == '' or proxy == []:
            import proxy_checker3_all_function
            fo = os.getcwd().replace('\\', '/')
            pr_h, proxy_h, user_pass_h = proxy_checker3_all_function.make_returning_proxy("configs//sites_proxy//", url)
            os.chdir(fo)
        else:
            pr_h = []
            user_pass_h = []
            pr_h.append(proxy)
            user_pass_h.append(user_pass)
            # try:
            #     i = user_pass_h.index("")
            #     del user_pass_h[i]
            # except:
            #     print 'there is no empty lsit in user_password list'
            try:
                i = pr_h.index("")
                del pr_h[i]
            except:
                pass
                # print 'there is no empty list in proxy list'

        # pr_h=['222.66.115.233:80 ', '202.202.0.163:3128 ', '151.236.14.48:80']

        pdf_dw_li = pdf_dw_Wr_li = []
        frontpage = []
        don_flg = -1
        if pr_h != []:
            i = -1
            for j in range(i + 1, len(pr_h)):
                if don_flg != 1:
                    debug = True
                    cash = None
                    # dl = MozillaEmulator(cash,0,debug)
                    dl = MozillaEmulator(cash, 0,cookies=cookies)
                    try:
                        if  user_pass_h[j] !='':

                            frontpage,cookies = dl.download(url, pr_h[j], user_pass_h[j])
                            pr = pr_h[j]
                            upss = user_pass_h[j]
                        else:
                            frontpage,cookies = dl.download(url, pr_h[j])
                            pr = pr_h[j]
                            upss = ''



                    except:
                        print "we cant download because of invalid tag or invalid proxy line 620" + "\n"

                    if frontpage != []:
                        if len(user_pass_h[j])!=0:
                            print "file downloaded with "+str(pr_h[j])+'@'+str(user_pass_h[j])
                        else:print "file downloaded with "+str(pr_h[j])
                        don_flg = 1
                        # pr = pr_h[j]
                        # upss = user_pass_h[j]
                        break
                else:
                    print "we could not download file with  proxy:"+pr_h[j]
            if don_flg != 1:
                print "we are unable to download your file Now!!" + '\n'
                frontpage = []
                pr = ''
                upss = ''
                # cookies=''


        else:
            print "we are unable to download your file Now!! Beacouse proxy is empty" + '\n'

        return frontpage, pr, upss,cookies
    def download_mechanism_link(self, url='', proxy='', user_pass='', location='PDF_Files/',**kwargs):
        """

        :param url:
        """
        if kwargs['cookies']:cookies=kwargs['cookies']
        else:cookies=''
        if proxy == '' or proxy == []:
            import proxy_checker3_all_function
            fo = os.getcwd().replace('\\', '/')
            pr_h, proxy_h, user_pass_h = proxy_checker3_all_function.make_returning_proxy("configs//sites_proxy//", url)
            os.chdir(fo)
        else:
            pr_h = []
            user_pass_h = []
            pr_h.append(proxy)
            user_pass_h.append(user_pass)
            try:
                i = user_pass_h.index("")
                del user_pass_h[i]
            except:
                print 'there is no empty lsit in user_password list'
            try:
                i = pr_h.index("")
                del pr_h[i]
            except:
                print 'there is no empty lsit in proxy list'

        # pr_h=['222.66.115.233:80 ', '202.202.0.163:3128 ', '151.236.14.48:80']

        pdf_dw_li = pdf_dw_Wr_li = []
        frontpage = []
        don_flg = -1
        if pr_h != []:
            i = -1
            for j in range(i + 1, len(pr_h)):
                if don_flg != 1:
                    # debug = True
                    # cash = None
                    # dl = MozillaEmulator(cash,0,debug)
                    # dl = MozillaEmulator(cash, 0)
                    try:
                        if  'user_pass_h[j]' is locals():
                            # frontpage,cookies=MECHANIZM( proxy='', User_Pass='').speed_download(pdf_url,piece_size=1024*1024)
                            frontpage,cookies = MECAHNIZM(pr_h[j],user_pass_h[j],cookies=cookies,url=url).speed_download(url)
                            # frontpage,cookies = MECAHNIZM(pr_h[j],user_pass_h[j],cookies=cookies,url=url).download_pdf_br(url)
                            pr = pr_h[j]
                            upss = user_pass_h[j]
                        else:
                            # frontpage,cookies = MECAHNIZM(pr_h[j],cookies=cookies,url=url).download_pdf_br(url)
                            frontpage,cookies = MECAHNIZM(pr_h[j],cookies=cookies,url=url).speed_download(url)
                            pr = pr_h[j]
                            upss = ''
                    except:
                        print "we cant dowload beacuse of invalid tag or invalid proxy line 620" + "\n"
                    if frontpage != []:
                        print "file downloaded "
                        don_flg = 1
                        # pr = pr_h[j]
                        # upss = user_pass_h[j]
                        break
                else:
                    print "we could not download file with  proxy:"+pr_h[j]
            if don_flg != 1:
                print "we are unable to download your file Now!!" + '\n'
                frontpage = []
                pr = ''
                upss = ''
                cookies=''
        else:
            print "we are unable to download your file Now!! Becaouse proxy is empty" + '\n'
        return frontpage, pr, upss,cookies