[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: On colourizing RC bug fixes with different colours



Hi!

On Sun, Sep 26, 2010 at 08:58:21AM -0500, Kumar Appaiah wrote:
> I have attached a new patch. Please let me know if this is closer to
> what you would expect.

Hi! Sorry if I am bugging about this, but have you had time to check
this out? I didn't think you'd mind a gentle ping, so...

Thanks.

Kumar

> From 07b32662da657399c5c4e21770df2dbebab25c13 Mon Sep 17 00:00:00 2001
> From: Kumar Appaiah <a.kumar@alumni.iitm.ac.in>
> Date: Sat, 25 Sep 2010 17:04:10 -0500
> Subject: [PATCH] Add functions to colourize RC bug fixing packages differently
> 
> This commit adds some functions to query the BTS Soap interface to
> determine if the package closes an RC bug or not. If it does close an
> RC bug, it allows for differently colourizing the package line. It
> adds a variable to indicate if a package fixes an RC bug or not, and
> already allows for colourization of the HTML output; the new entry can
> be used to colourize in other output formats as well.
> 
> Signed-off-by: Kumar Appaiah <a.kumar@alumni.iitm.ac.in>
> ---
>  dak/queue_report.py |   40 ++++++++++++++++++++++++++++++++++------
>  1 files changed, 34 insertions(+), 6 deletions(-)
> 
> diff --git a/dak/queue_report.py b/dak/queue_report.py
> index e2d8578..9c34989 100755
> --- a/dak/queue_report.py
> +++ b/dak/queue_report.py
> @@ -43,6 +43,7 @@ from daklib.queue import Upload
>  from daklib.dbconn import DBConn, has_new_comment, DBChange, DBSource, get_uid_from_fingerprint
>  from daklib.textutils import fix_maintainer
>  from daklib.dak_exceptions import *
> +import debianbts
>  
>  Cnf = None
>  direction = []
> @@ -264,7 +265,30 @@ def table_footer(type):
>      print "</tbody></table>"
>  
>  
> -def table_row(source, version, arch, last_mod, maint, distribution, closes, fingerprint, sponsor, changedby):
> +def find_bug_severities(bugnrs):
> +    """Take a list of bug numbers and
> +    return a dictionary with bug number - severity pairs."""
> +    statuses = None
> +    try: statuses = debianbts.get_status(bugnrs)
> +    except Exception:
> +        return None
> +    severities = {}
> +    for bug_status in statuses:
> +        severities[bug_status.bug_num] = bug_status.severity
> +    return severities
> +
> +def rcbug_close_check(closes):
> +    """Take a list of bug numbers and determine if at least one of them
> +    is release critical."""
> +    severity_list = find_bug_severities(closes)
> +    if severity_list:
> +        severities = severity_list.values()
> +        return ('critical' in severities) or \
> +               ('serious' in severities) or \
> +               ('grave' in severities)
> +    return False
> +
> +def table_row(source, version, arch, last_mod, maint, distribution, closes, fingerprint, sponsor, changedby, fixes_rcbug):
>  
>      global row_number
>  
> @@ -274,6 +298,9 @@ def table_row(source, version, arch, last_mod, maint, distribution, closes, fing
>          if dist == "experimental":
>              trclass = "exp"
>  
> +    if fixes_rcbug:
> +        trclass = "rcfix"
> +
>      if not len(session.query(DBSource).filter_by(source = source).all()):
>          trclass += " binNEW"
>      session.commit()
> @@ -443,7 +470,8 @@ def process_changes_files(changes_files, type, log):
>              note = " | [N]"
>          else:
>              note = ""
> -        entries.append([source, binary, version_list, arch_list, note, last_modified, maint, distribution, closes, fingerprint, sponsor, changedby, filename])
> +        fixes_rcbug = rcbug_close_check(closes)
> +        entries.append([source, binary, version_list, arch_list, note, last_modified, maint, distribution, closes, fingerprint, sponsor, changedby, filename, fixes_rcbug])
>  
>      # direction entry consists of "Which field, which direction, time-consider" where
>      # time-consider says how we should treat last_modified. Thats all.
> @@ -485,7 +513,7 @@ def process_changes_files(changes_files, type, log):
>      if Cnf.has_key("Queue-Report::Options::822"):
>          # print stuff out in 822 format
>          for entry in entries:
> -            (source, binary, version_list, arch_list, note, last_modified, maint, distribution, closes, fingerprint, sponsor, changedby, changes_file) = entry
> +            (source, binary, version_list, arch_list, note, last_modified, maint, distribution, closes, fingerprint, sponsor, changedby, changes_file, fixes_rcbug) = entry
>  
>              # We'll always have Source, Version, Arch, Mantainer, and Dist
>              # For the rest, check to see if we have them, then print them out
> @@ -528,8 +556,8 @@ def process_changes_files(changes_files, type, log):
>              source_count = len(per_source_items)
>              table_header(type.upper(), source_count, total_count)
>              for entry in entries:
> -                (source, binary, version_list, arch_list, note, last_modified, maint, distribution, closes, fingerprint, sponsor, changedby, undef) = entry
> -                table_row(source, version_list, arch_list, time_pp(last_modified), maint, distribution, closes, fingerprint, sponsor, changedby)
> +                (source, binary, version_list, arch_list, note, last_modified, maint, distribution, closes, fingerprint, sponsor, changedby, undef, fixes_rcbug) = entry
> +                table_row(source, version_list, arch_list, time_pp(last_modified), maint, distribution, closes, fingerprint, sponsor, changedby, entries, fixes_rcbug)
>              table_footer(type.upper())
>      elif not Cnf.has_key("Queue-Report::Options::822"):
>      # The "normal" output without any formatting.
> @@ -537,7 +565,7 @@ def process_changes_files(changes_files, type, log):
>  
>          msg = ""
>          for entry in entries:
> -            (source, binary, version_list, arch_list, note, last_modified, undef, undef, undef, undef, undef, undef, undef) = entry
> +            (source, binary, version_list, arch_list, note, last_modified, undef, undef, undef, undef, undef, undef, undef, fixes_rcbug) = entry
>              msg += format % (source, version_list, arch_list, note, time_pp(last_modified))
>  
>          if msg:
> -- 
> 1.7.1
> 




Reply to: