未知

dsmsfilepackager的Python项目详细描述


将选定的文件或目录添加到文件包中,生成清单, 以及从sftp服务器上传或下载。用于DSM。

请注意,文件包不是线程安全的。由你来确保 只有一个进程在任何时间点操作包。为了这个 原因,建议您使用uuid(如芹菜任务id)来 确保每个流程都有自己的空间。

编写新包时如何使用:

from dsmsfilepackager.filepackage import DSMSFilePackage
import uuid

fpack = DSMSFilePackage(target_id=111, job_id=13244, uid=uuid.uuid4(),
                        hostname="remote_sagenth.example.com",
                        hostport="1222", username="theuser",
                        priv_key="/home/theuser/.sagenth/key",
                        local_root="/tmp/cache",
                        remote_root="/upload_target")

# register in manifest
fpack.add("myfile.txt")
fpack.add_dir("docs/")

fpack.finish_and_upload()  # generate a manifest and upload

一旦包生成完成,文件都将在本地 /tmp/cache/111/13244/[uuid],以及ftp服务器上 /上传目标/111/13244/[uuid]。

现在,其他进程可以访问本地缓存的文件 可用,或者它们将通过sftp获取并移动到本地缓存中,如果 不是。

如何提取以前存储的包:

 # auto-get remote files, reading from cache when available

 >>> fpack = filepackage.fetch(target_id=111, job_id=13244, uid=uuid.uuid4(),
                               host="remote_sagenth.example.com",
                               hostport="1222", username="theuser",
                               priv_key="/home/theuser/.sagenth/key",
                               local_root="/tmp/cache",
                               remote_root="/upload_target")
 >>> print fpack.manifest.files
 ["myfile.txt", "docs/readme.txt", "docs/2.py"]
 >>> file_info = fpack.manifest.get("myfile.txt")
 >>> file_info.size
 1246
 >>> file_info.sha256
 "d8d5d29645ce8552646ad236244304892bb9e0df633e2603a1fa616682e1c431"
 >>> file_info.type
"Python script, ASCII text executable"
 >> fh = fpack.open("myfile.txt")  # will be made available locally

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java算法:如何对实体进行分组   C语言中的Java X509EncodedKeySpec#   如何修复java lambda筛选器(缺少返回语句)与future   java有没有办法在Swing中以亚像素精度绘制线条?   HV000030:找不到约束“javax”的验证器。验证。限制。大小为“验证类型”的java。util。可选<java。lang.String>'   CQL中语句的java分页状态   在开发时使用applet查看器的java对象相关applet   java如何从Oracle获取时区ID而不是时区偏移量   java递增变量   java JavaFX InvalizationListener或ChangeListener   java使用多个数据包将大量XMP数据插入jpg?   java允许删除请求   java为什么与类同名的方法不需要返回类型?   java数据转换错误转换   java一旦布尔值为真,如何关闭JFrame?   如何将数据写入两个java。木卫一。一次输出流对象?   mysql如何使用java在SQL中划分两列?   java使用Saxon/XQuery设置URI或目录解析器   mysql java。sql。SQLException:无法将值“20200816 17:33:21.690”从第18列转换为时间戳