source管理类值传递处理类 用于将主机ip,与资源路径进行传递
| 407 | |
| 408 | |
| 409 | class SourceMiddleInfo(object): |
| 410 | """ |
| 411 | source管理类值传递处理类 |
| 412 | 用于将主机ip,与资源路径进行传递 |
| 413 | """ |
| 414 | |
| 415 | # 设置一个资源管理的标注字段,传入param |
| 416 | SOURCE_MID_INFO = "transfer_info" |
| 417 | |
| 418 | def __init__(self, params): |
| 419 | self.params = params |
| 420 | |
| 421 | def is_marked(self): |
| 422 | if self.SOURCE_MID_INFO in self.params.keys(): |
| 423 | return True |
| 424 | return False |
| 425 | |
| 426 | def upload(self, path_dict): |
| 427 | transfer_info = TransferMgr().upload_file(path_dict) |
| 428 | if not transfer_info: |
| 429 | raise SourceMgrError("upload middle data error。 上传跨机器执行所需数据失败,请检查数据通路!") |
| 430 | self.params[self.SOURCE_MID_INFO] = transfer_info |
| 431 | return self.params |
| 432 | |
| 433 | def download(self): |
| 434 | transfer_info = self.params[self.SOURCE_MID_INFO] |
| 435 | TransferMgr().download_file(transfer_info) |
| 436 | # transfer_info 格式参考task/transfermgr的注释 |
| 437 | # 将下载的内容载入params中 |
| 438 | path_list = transfer_info.get("path_list", []) |
| 439 | for path_item in path_list: |
| 440 | self.params[path_item["params_key_name"]] = os.path.join(DATA_DIR, path_item["rel_path"]) |
| 441 | return True |
| 442 | |
| 443 | |
| 444 | if __name__ == "__main__": |
no outgoing calls
no test coverage detected