Beispiel #1
0
def SaveUserInfo(mobile, data):
    '''保存用户信息 /userinfo/mobile'''
    if not FileUtils.CheckFileExists(USERINFO_SAVE_DIR):
        FileUtils.CreateFileDir(USERINFO_SAVE_DIR)
    with open(USERINFO_SAVE_DIR + mobile + ".json", "w",
              encoding="utf-8") as f:
        json.dump(data, fp=f)
Beispiel #2
0
    def downmultfile(self,
                     remoteHost,
                     remoteport,
                     loginname,
                     loginpassword,
                     remotePath,
                     localPath,
                     filename,
                     filesize,
                     block_size,
                     del_part_file_able,
                     mult_taskcount=None):
        # TODO 判断本地文件是否存在
        if FileUtils.CheckFileExists(localPath):
            lfilesize = FileUtils.GetFileSize(localPath)
            print(datetime.now(), filename, "本地文件size", filesize)
            if lfilesize == filesize:
                print(datetime.now(), filename, "本地文件已存在")
        else:
            mult_file_name = FileUtils.GetFileName(localPath)
            print(mult_file_name, )
            FileUtils.Mkdirs(mult_file_name + "/")

            part_file_count = math.ceil(float(filesize) / block_size)  # 分片文件数
            part_file_end = part_file_count - 1
            part_file_names = list()
            if mult_taskcount == None:
                mult_taskcount = part_file_count
            mult_threadPool = ThreadPoolExecutor(
                max_workers=mult_taskcount,
                thread_name_prefix="mult_ftp_down_task_")
            for i in range(part_file_count):
                part_file_name = mult_file_name + "/" + filename + "_part" + str(
                    i)
                part_file_names.append(part_file_name)
                part_file_start_size = i * block_size
                part_file_size = block_size

                if i == part_file_end:
                    part_filesize = filesize - part_file_start_size

                mult_threadPool.submit(MyFTP().downloadbymulti_thread,
                                       remoteHost, remoteport, loginname,
                                       loginpassword, remotePath,
                                       part_file_name, part_file_start_size,
                                       part_file_size)

            mult_threadPool.shutdown(wait=True)
            print(datetime.now(), filename, "part文件全部下载完毕")
            #
            print(datetime.now(), filename, "开始合并")

            FileUtils.MergFile(part_file_names, localPath, filesize,
                               block_size, part_file_count, part_file_end,
                               del_part_file_able, mult_file_name)  # del

        #开始上传文件
        print(datetime.now(), filename, "开始上传")
        UploadFile(filename, filesize, localPath, localPath)
def GetToken(chekloacl=False, config_filePath=None):
    if config_filePath == None:
        config_filePath = 'config.json'
    if FileUtils.CheckFileExists(config_filePath):
        # print(headers)
        with open(config_filePath) as f:
            config = json.load(f)
        print(config)
        mobile = config["userinfo"]["username"]
        password = config["userinfo"]["password"]
        if chekloacl:
            if FileUtils.CheckFileExists("/userinfo/" + mobile):
                return GetUserInfo(mobile)
        userinfo = login(mobile, password)
        if userinfo == None:
            return None
        else:
            print(userinfo)
            print(userinfo["access_token"])
            return userinfo
    else:
        print(datetime.now(), "未找到配置文件")
        return None