Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
喜羊羊3508
Dak
提交
daceadb7
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 搜索 >>
未验证
提交
daceadb7
编写于
1月 01, 2023
作者:
A
Ansgar
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
parse_changes: use bool instead of int for `dsc_file`
上级
d6acd4f1
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
17 addition
and
17 deletion
+17
-17
dak/check_archive.py
dak/check_archive.py
+3
-3
dak/clean_queues.py
dak/clean_queues.py
+1
-1
dak/examine_package.py
dak/examine_package.py
+1
-1
daklib/utils.py
daklib/utils.py
+1
-1
tests/test_parse_changes.py
tests/test_parse_changes.py
+11
-11
未找到文件。
dak/check_archive.py
浏览文件 @
daceadb7
...
...
@@ -178,7 +178,7 @@ def check_dscs():
for
src
in
DBConn
().
session
().
query
(
DBSource
).
order_by
(
DBSource
.
source
,
DBSource
.
version
):
f
=
src
.
poolfile
.
fullpath
try
:
utils
.
parse_changes
(
f
,
signing_rules
=
1
,
dsc_file
=
1
)
utils
.
parse_changes
(
f
,
signing_rules
=
1
,
dsc_file
=
True
)
except
InvalidDscError
:
utils
.
warn
(
"syntax error in .dsc file %s"
%
f
)
count
+=
1
...
...
@@ -371,7 +371,7 @@ def check_files_in_dsc():
try
:
# NB: don't enforce .dsc syntax
dsc
=
utils
.
parse_changes
(
filename
,
dsc_file
=
1
)
dsc
=
utils
.
parse_changes
(
filename
,
dsc_file
=
True
)
except
:
utils
.
fubar
(
"error parsing .dsc file '%s'."
%
(
filename
))
...
...
@@ -480,7 +480,7 @@ def chk_bd_process_dir(dirname, filenames):
if
not
name
.
endswith
(
".dsc"
):
continue
filename
=
os
.
path
.
abspath
(
dirname
+
'/'
+
name
)
dsc
=
utils
.
parse_changes
(
filename
,
dsc_file
=
1
)
dsc
=
utils
.
parse_changes
(
filename
,
dsc_file
=
True
)
for
field_name
in
[
"build-depends"
,
"build-depends-indep"
]:
field
=
dsc
.
get
(
field_name
)
if
field
:
...
...
dak/clean_queues.py
浏览文件 @
daceadb7
...
...
@@ -174,7 +174,7 @@ def flush_orphans():
for
f
in
files
.
keys
():
if
f
.
endswith
(
".dsc"
):
try
:
dsc
=
utils
.
parse_changes
(
f
,
dsc_file
=
1
)
dsc
=
utils
.
parse_changes
(
f
,
dsc_file
=
True
)
dsc_files
=
utils
.
build_file_list
(
dsc
,
is_a_dsc
=
True
)
except
:
utils
.
warn
(
"error processing '%s'; skipping it. [Got %s]"
%
(
f
,
sys
.
exc_info
()[
0
]))
...
...
dak/examine_package.py
浏览文件 @
daceadb7
...
...
@@ -309,7 +309,7 @@ def read_changes_or_dsc(suite, filename, session=None):
with
open
(
filename
)
as
dsc_file
:
try
:
dsc
=
utils
.
parse_changes
(
filename
,
dsc_file
=
1
)
dsc
=
utils
.
parse_changes
(
filename
,
dsc_file
=
True
)
except
:
return
formatted_text
(
"can't parse .dsc control info"
)
...
...
daklib/utils.py
浏览文件 @
daceadb7
...
...
@@ -167,7 +167,7 @@ def parse_deb822(armored_contents: bytes, signing_rules=0, keyrings=None) -> dic
################################################################################
def
parse_changes
(
filename
:
str
,
signing_rules
=
0
,
dsc_file
=
0
,
keyrings
=
None
)
->
dict
[
str
,
str
]:
def
parse_changes
(
filename
:
str
,
signing_rules
=
0
,
dsc_file
:
bool
=
False
,
keyrings
=
None
)
->
dict
[
str
,
str
]:
"""
Parses a changes file and returns a dictionary where each field is a
key. The mandatory first argument is the filename of the .changes
...
...
tests/test_parse_changes.py
浏览文件 @
daceadb7
...
...
@@ -23,50 +23,50 @@ class ParseDscTestCase(ParseChangesTestCase):
def
test_1_ignoreErrors
(
self
):
# Valid .dsc ; ignoring errors
self
.
assertParse
(
'dsc/1.dsc'
,
-
1
,
1
)
self
.
assertParse
(
'dsc/1.dsc'
,
-
1
,
True
)
def
test_2
(
self
):
# Missing blank line before signature body
self
.
assertParse
(
'dsc/2.dsc'
,
-
1
,
1
)
self
.
assertParse
(
'dsc/2.dsc'
,
-
1
,
True
)
def
test_2_ignoreErrors
(
self
):
# Invalid .dsc ; ignoring errors
self
.
assertParse
(
'dsc/2.dsc'
,
-
1
,
1
)
self
.
assertParse
(
'dsc/2.dsc'
,
-
1
,
True
)
def
test_3
(
self
):
# Missing blank line after signature header
self
.
assertParse
(
'dsc/3.dsc'
,
-
1
,
1
)
self
.
assertParse
(
'dsc/3.dsc'
,
-
1
,
True
)
def
test_4
(
self
):
# No blank lines at all
with
self
.
assertRaises
(
GpgException
):
self
.
assertParse
(
'dsc/4.dsc'
,
-
1
,
1
)
self
.
assertParse
(
'dsc/4.dsc'
,
-
1
,
True
)
def
test_5
(
self
):
# Extra blank line before signature body
self
.
assertParse
(
'dsc/5.dsc'
,
-
1
,
1
)
self
.
assertParse
(
'dsc/5.dsc'
,
-
1
,
True
)
def
test_6
(
self
):
# Extra blank line after signature header
self
.
assertParse
(
'dsc/6.dsc'
,
-
1
,
1
)
self
.
assertParse
(
'dsc/6.dsc'
,
-
1
,
True
)
def
test_7
(
self
):
# Blank file is an invalid armored GPG file
with
self
.
assertRaises
(
GpgException
):
self
.
assertParse
(
'dsc/7.dsc'
,
-
1
,
1
)
self
.
assertParse
(
'dsc/7.dsc'
,
-
1
,
True
)
def
test_8
(
self
):
# No armored contents
with
self
.
assertRaisesRegex
(
ParseChangesError
,
"Empty changes"
):
self
.
assertParse
(
'dsc/8.dsc'
,
-
1
,
1
)
self
.
assertParse
(
'dsc/8.dsc'
,
-
1
,
True
)
def
test_9
(
self
):
changes
=
self
.
assertParse
(
'dsc/9.dsc'
,
-
1
,
1
)
changes
=
self
.
assertParse
(
'dsc/9.dsc'
,
-
1
,
True
)
self
.
assertTrue
(
changes
[
'question'
]
==
'Is this a bug?'
)
self
.
assertFalse
(
changes
.
get
(
'this'
))
def
test_10
(
self
):
changes
=
self
.
assertParse
(
'dsc/10.dsc'
,
-
1
,
1
)
changes
=
self
.
assertParse
(
'dsc/10.dsc'
,
-
1
,
True
)
files
=
build_file_list
(
changes
,
True
)
rejmsg
=
check_dsc_files
(
'10.dsc'
,
changes
,
files
.
keys
())
self
.
assertEqual
(
rejmsg
,
[])
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录