本文整理汇总了Python中fileinfo.FileInfo.equal_meta方法的典型用法代码示例。如果您正苦于以下问题:Python FileInfo.equal_meta方法的具体用法?Python FileInfo.equal_meta怎么用?Python FileInfo.equal_meta使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类fileinfo.FileInfo
的用法示例。
在下文中一共展示了FileInfo.equal_meta方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: callback
# 需要导入模块: from fileinfo import FileInfo [as 别名]
# 或者: from fileinfo.FileInfo import equal_meta [as 别名]
def callback(ch, method, properties, body):
stats = "OK"
global id
procid = id + "-" + misc.generate_id(size=15)
file_logger.info(procid + " Start validation: " + repr(body))
dbmeta = logger.file_get(body)
file_logger.info(procid + " Database meta data: " + repr(dbmeta))
if dbmeta:
base = "/tmp"
name = os.path.basename(dbmeta["path"])
fullpath = os.path.join(base, name)
try:
if os.path.isfile(fullpath):
os.remove(fullpath)
except OSError:
suffix = misc.generate_id()
fullpath = fullpath + "-" + suffix
trans.download_file(key=dbmeta["path"], name=fullpath)
mogmeta = FileInfo("/tmp", name)
file_logger.info(procid + " MogileFS meta data: " + repr(mogmeta.to_collection()))
if mogmeta.equal_meta(dbmeta):
logger.file_validated(dbmeta)
else:
logger.file_corrupted(dbmeta)
migration_job = {"path": dbmeta["path"], "base": dbmeta["base"]}
mqclient.send(migration_job)
msg = procid + " File corrupted. Sent new job to migration queue: " + json.dumps(dbmeta)
logger.warning(msg)
stats = "CORRUPTED"
os.remove(fullpath)
else:
if not trans.key_exist(body):
file_logger.error("Missing key: " + body)
ch.basic_ack(delivery_tag = method.delivery_tag)
file_logger.info("%s End validation %s: %s" %(procid, repr(body), stats))