diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2019-05-27 08:25:54 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2019-06-10 17:15:32 -0400 |
commit | fef5badc5ef135a781d2f197fcef4f1f333bf38d (patch) | |
tree | d195c72b9cf68865b49d7378b8e12469b7174e76 /coverage/sqldata.py | |
parent | 5af8150018ccd76c4ac5643b3675faff67856246 (diff) | |
download | python-coveragepy-git-fef5badc5ef135a781d2f197fcef4f1f333bf38d.tar.gz |
Make --contexts available for HTML reports
Diffstat (limited to 'coverage/sqldata.py')
-rw-r--r-- | coverage/sqldata.py | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/coverage/sqldata.py b/coverage/sqldata.py index fe32dcdc..2feca6e0 100644 --- a/coverage/sqldata.py +++ b/coverage/sqldata.py @@ -627,23 +627,32 @@ class CoverageSqliteData(SimpleReprMixin): "where arc.file_id = ? and arc.context_id = context.id" ) data = [file_id] + context_ids = self._get_query_context_ids() + if context_ids is not None: + ids_array = ', '.join('?'*len(context_ids)) + query += " and arc.context_id in (" + ids_array + ")" + data += context_ids for fromno, tono, context in con.execute(query, data): if context not in lineno_contexts_map[fromno]: lineno_contexts_map[fromno].append(context) if context not in lineno_contexts_map[tono]: lineno_contexts_map[tono].append(context) - return lineno_contexts_map - - query = ( - "select line.lineno, context.context " - "from line, context " - "where line.file_id = ? and line.context_id = context.id" - ) - data = [file_id] - for lineno, context in con.execute(query, data): - if context not in lineno_contexts_map[lineno]: - lineno_contexts_map[lineno].append(context) - return lineno_contexts_map + else: + query = ( + "select line.lineno, context.context " + "from line, context " + "where line.file_id = ? and line.context_id = context.id" + ) + data = [file_id] + context_ids = self._get_query_context_ids() + if context_ids is not None: + ids_array = ', '.join('?'*len(context_ids)) + query += " and line.context_id in (" + ids_array + ")" + data += context_ids + for lineno, context in con.execute(query, data): + if context not in lineno_contexts_map[lineno]: + lineno_contexts_map[lineno].append(context) + return lineno_contexts_map def run_infos(self): return [] # TODO |