Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
喜羊羊3508
Dak
提交
28d6d316
D
Dak
项目概览
喜羊羊3508
/
Dak
10 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Dak
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
28d6d316
编写于
8月 01, 2009
作者:
M
Mark Hymers
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add check_poolfile routine and fix session usage
Signed-off-by:
N
Mark Hymers
<
mhy@debian.org
>
上级
1359e943
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
49 addition
and
2 deletion
+49
-2
daklib/dbconn.py
daklib/dbconn.py
+49
-2
未找到文件。
daklib/dbconn.py
浏览文件 @
28d6d316
...
...
@@ -614,6 +614,53 @@ class PoolFile(object):
__all__
.
append
(
'PoolFile'
)
def
check_poolfile
(
filename
,
filesize
,
md5sum
,
location_id
,
session
=
None
):
"""
Returns a tuple:
(ValidFileFound [boolean or None], PoolFile object or None)
@type filename: string
@param filename: the filename of the file to check against the DB
@type filesize: int
@param filesize: the size of the file to check against the DB
@type md5sum: string
@param md5sum: the md5sum of the file to check against the DB
@type location_id: int
@param location_id: the id of the location to look in
@rtype: tuple
@return: Tuple of length 2.
If more than one file found with that name:
(None, None)
If valid pool file found: (True, PoolFile object)
If valid pool file not found:
(False, None) if no file found
(False, PoolFile object) if file found with size/md5sum mismatch
"""
if
session
is
None
:
session
=
DBConn
().
session
()
q
=
session
.
query
(
PoolFile
).
filter_by
(
filename
=
filename
)
q
=
q
.
join
(
Location
).
filter_by
(
location_id
=
location_id
)
if
q
.
count
()
>
1
:
return
(
None
,
None
)
if
q
.
count
()
<
1
:
return
(
False
,
None
)
obj
=
q
.
one
()
if
obj
.
md5sum
!=
md5sum
or
obj
.
filesize
!=
filesize
:
return
(
False
,
obj
)
return
(
True
,
obj
)
__all__
.
append
(
'check_poolfile'
)
def
get_poolfile_by_name
(
filename
,
location_id
=
None
,
session
=
None
):
"""
Returns an array of PoolFile objects for the given filename and
...
...
@@ -629,7 +676,7 @@ def get_poolfile_by_name(filename, location_id=None, session=None):
@return: array of PoolFile objects
"""
if
session
is
not
None
:
if
session
is
None
:
session
=
DBConn
().
session
()
q
=
session
.
query
(
PoolFile
).
filter_by
(
filename
=
filename
)
...
...
@@ -652,7 +699,7 @@ def get_poolfile_like_name(filename, session=None):
@return: array of PoolFile objects
"""
if
session
is
not
None
:
if
session
is
None
:
session
=
DBConn
().
session
()
# TODO: There must be a way of properly using bind parameters with %FOO%
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录