提交 6ea8ab6e 编写于 作者: J Joerg Jaspert

Merge remote branch 'drkranz/master' into merge

* drkranz/master:
  Add an option to reverse sorting of binary-NEW packages
  examine-package: colorize distribution
Signed-off-by: NJoerg Jaspert <joerg@debian.org>
...@@ -114,7 +114,8 @@ ansi_colours = { ...@@ -114,7 +114,8 @@ ansi_colours = {
'arch': "\033[32m", 'arch': "\033[32m",
'end': "\033[0m", 'end': "\033[0m",
'bold': "\033[1m", 'bold': "\033[1m",
'maintainer': "\033[32m"} 'maintainer': "\033[32m",
'distro': "\033[1m\033[41m"}
html_colours = { html_colours = {
'main': ('<span style="color: aqua">',"</span>"), 'main': ('<span style="color: aqua">',"</span>"),
...@@ -122,7 +123,8 @@ html_colours = { ...@@ -122,7 +123,8 @@ html_colours = {
'nonfree': ('<span style="color: red">',"</span>"), 'nonfree': ('<span style="color: red">',"</span>"),
'arch': ('<span style="color: green">',"</span>"), 'arch': ('<span style="color: green">',"</span>"),
'bold': ('<span style="font-weight: bold">',"</span>"), 'bold': ('<span style="font-weight: bold">',"</span>"),
'maintainer': ('<span style="color: green">',"</span>")} 'maintainer': ('<span style="color: green">',"</span>"),
'distro': ('<span style="font-weight: bold; background-color: red">',"</span>")}
def colour_output(s, colour): def colour_output(s, colour):
if use_html: if use_html:
...@@ -298,6 +300,9 @@ def read_changes_or_dsc (suite, filename, session = None): ...@@ -298,6 +300,9 @@ def read_changes_or_dsc (suite, filename, session = None):
elif k == "architecture": elif k == "architecture":
if (dsc["architecture"] != "any"): if (dsc["architecture"] != "any"):
dsc['architecture'] = colour_output(dsc["architecture"], 'arch') dsc['architecture'] = colour_output(dsc["architecture"], 'arch')
elif k == "distribution":
if dsc["distribution"] not in ('unstable', 'experimental'):
dsc['distribution'] = colour_output(dsc["distribution"], 'distro')
elif k in ("files","changes","description"): elif k in ("files","changes","description"):
if use_html: if use_html:
dsc[k] = formatted_text(dsc[k], strip=True) dsc[k] = formatted_text(dsc[k], strip=True)
......
...@@ -516,6 +516,7 @@ def do_new(upload, session): ...@@ -516,6 +516,7 @@ def do_new(upload, session):
def usage (exit_code=0): def usage (exit_code=0):
print """Usage: dak process-new [OPTION]... [CHANGES]... print """Usage: dak process-new [OPTION]... [CHANGES]...
-a, --automatic automatic run -a, --automatic automatic run
-b, --no-binaries do not sort binary-NEW packages first
-h, --help show this help and exit. -h, --help show this help and exit.
-m, --manual-reject=MSG manual reject with `msg' -m, --manual-reject=MSG manual reject with `msg'
-n, --no-action don't do anything -n, --no-action don't do anything
...@@ -730,12 +731,13 @@ def main(): ...@@ -730,12 +731,13 @@ def main():
session = DBConn().session() session = DBConn().session()
Arguments = [('a',"automatic","Process-New::Options::Automatic"), Arguments = [('a',"automatic","Process-New::Options::Automatic"),
('b',"no-binaries","Process-New::Options::Binaries"),
('h',"help","Process-New::Options::Help"), ('h',"help","Process-New::Options::Help"),
('m',"manual-reject","Process-New::Options::Manual-Reject", "HasArg"), ('m',"manual-reject","Process-New::Options::Manual-Reject", "HasArg"),
('t',"trainee","Process-New::Options::Trainee"), ('t',"trainee","Process-New::Options::Trainee"),
('n',"no-action","Process-New::Options::No-Action")] ('n',"no-action","Process-New::Options::No-Action")]
for i in ["automatic", "help", "manual-reject", "no-action", "version", "trainee"]: for i in ["automatic", "no-binaries", "help", "manual-reject", "no-action", "version", "trainee"]:
if not cnf.has_key("Process-New::Options::%s" % (i)): if not cnf.has_key("Process-New::Options::%s" % (i)):
cnf["Process-New::Options::%s" % (i)] = "" cnf["Process-New::Options::%s" % (i)] = ""
...@@ -763,7 +765,7 @@ def main(): ...@@ -763,7 +765,7 @@ def main():
if len(changes_paths) > 1: if len(changes_paths) > 1:
sys.stderr.write("Sorting changes...\n") sys.stderr.write("Sorting changes...\n")
changes_files = sort_changes(changes_paths, session) changes_files = sort_changes(changes_paths, session, Options["Binaries"])
for changes_file in changes_files: for changes_file in changes_files:
changes_file = utils.validate_changes_file_arg(changes_file, 0) changes_file = utils.validate_changes_file_arg(changes_file, 0)
......
...@@ -84,7 +84,7 @@ def sg_compare (a, b): ...@@ -84,7 +84,7 @@ def sg_compare (a, b):
__all__.append('sg_compare') __all__.append('sg_compare')
def sort_changes(changes_files, session): def sort_changes(changes_files, session, binaries = None):
"""Sort into source groups, then sort each source group by version, """Sort into source groups, then sort each source group by version,
have source, filename. Finally, sort the source groups by have have source, filename. Finally, sort the source groups by have
note, time of oldest upload of each source upload.""" note, time of oldest upload of each source upload."""
...@@ -116,7 +116,7 @@ def sort_changes(changes_files, session): ...@@ -116,7 +116,7 @@ def sort_changes(changes_files, session):
# Determine oldest time and have note status for each source group # Determine oldest time and have note status for each source group
for source in per_source.keys(): for source in per_source.keys():
q = session.query(DBSource).filter_by(source = source).all() q = session.query(DBSource).filter_by(source = source).all()
per_source[source]["source_in_database"] = len(q)>0 per_source[source]["source_in_database"] = binaries and -(len(q)>0) or len(q)>0
source_list = per_source[source]["list"] source_list = per_source[source]["list"]
first = source_list[0] first = source_list[0]
oldest = os.stat(first["filename"])[stat.ST_MTIME] oldest = os.stat(first["filename"])[stat.ST_MTIME]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册