本文整理汇总了Python中website.files.models.TrashedFileNode.find方法的典型用法代码示例。如果您正苦于以下问题:Python TrashedFileNode.find方法的具体用法?Python TrashedFileNode.find怎么用?Python TrashedFileNode.find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类website.files.models.TrashedFileNode
的用法示例。
在下文中一共展示了TrashedFileNode.find方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_number_downloads_unique_and_total
# 需要导入模块: from website.files.models import TrashedFileNode [as 别名]
# 或者: from website.files.models.TrashedFileNode import find [as 别名]
def get_number_downloads_unique_and_total():
number_downloads_unique = 0
number_downloads_total = 0
projects = get_projects()
for project in projects:
for filenode in OsfStorageFile.find(Q('node', 'eq', project)):
for idx, version in enumerate(filenode.versions):
page = ':'.join(['download', project._id, filenode._id, str(idx)])
unique, total = get_basic_counters(page)
number_downloads_unique += unique or 0
number_downloads_total += total or 0
for filenode in TrashedFileNode.find(Q('provider', 'eq', 'osfstorage') & Q('node', 'eq', project) & Q('is_file', 'eq', True)):
for idx, version in enumerate(filenode.versions):
page = ':'.join(['download', project._id, filenode._id, str(idx)])
unique, total = get_basic_counters(page)
number_downloads_total += total or 0
number_downloads_unique += unique or 0
clear_modm_cache()
return number_downloads_unique, number_downloads_total
示例2: get_usage
# 需要导入模块: from website.files.models import TrashedFileNode [as 别名]
# 或者: from website.files.models.TrashedFileNode import find [as 别名]
def get_usage(node):
vids = sum([
file_node.to_storage().get('versions', [])
for file_node in
OsfStorageFile.find(Q('node', 'eq', node))
], [])
t_vids = sum([
file_node.to_storage().get('versions', [])
for file_node in
TrashedFileNode.find(
Q('node', 'eq', node) &
Q('is_file', 'eq', True) &
Q('provider', 'eq', 'osfstorage')
)
], [])
usage = sum([v.size or 0 for v in FileVersion.find(Q('_id', 'in', vids))])
trashed_usage = sum([v.size or 0 for v in FileVersion.find(Q('_id', 'in', t_vids))])
return map(sum, zip(*([(usage, trashed_usage)] + [get_usage(child) for child in node.nodes_primary]))) # Adds tuples together, map(sum, zip((a, b), (c, d))) -> (a+c, b+d)
示例3: get_usage
# 需要导入模块: from website.files.models import TrashedFileNode [as 别名]
# 或者: from website.files.models.TrashedFileNode import find [as 别名]
def get_usage(node):
usage = (
sum([v.size or 0 for file_node in OsfStorageFile.find(Q('node', 'eq', node)) for v in file_node.versions]), # Sum all versions of all files of this node
sum([v.size or 0 for file_node in TrashedFileNode.find(Q('node', 'eq', node) & Q('is_file', 'eq', True) & Q('provider', 'eq', 'osfstorage')) for v in file_node.versions]), # Sum all versions of all deleted files of this node
)
return map(sum, zip(*([usage] + [get_usage(child) for child in node.nodes_primary]))) # Adds tuples together, map(sum, zip((a, b), (c, d))) -> (a+c, b+d)