Re: [libvirt] [test-API PATCH 1/4] filter: new class for filter or extract data
On 04/11/2012 04:04 PM, Guannan Ren wrote: activityfilter.py --- activityfilter.py | 74 + 1 files changed, 74 insertions(+), 0 deletions(-) create mode 100644 activityfilter.py diff --git a/activityfilter.py b/activityfilter.py new file mode 100644 index 000..d99d690 --- /dev/null +++ b/activityfilter.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +# +# libvirt-test-API is copyright 2010, 2012 Red Hat, Inc. +# +# libvirt-test-API is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. This program is distributed in +# the hope that it will be useful, but WITHOUT ANY WARRANTY; without +# even the implied warranties of TITLE, NON-INFRINGEMENT, +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# The GPL text is available in the file COPYING that accompanies this +# distribution and at http://www.gnu.org/licenses. +# + + +class Filter(object): +filter activity list to form various data list +def __init__(self, activities_list): +self.testcase_keys = [] +for activity in activities_list: +for testcase in activity: +testcases_key = testcase.keys() +self.testcase_keys += testcases_key + +def unique_testcase_cleansuffix(self): +get a list of module:testcase from activities_list + eliminate duplicate items, with 'module:testcase_clean' + +keylist_clean = self._keylist_cleanappended_without_sleep() +return list(set(keylist_clean)) + +def unique_testcases(self): + get a list of module:testcase from activities_list +eliminate duplicate items + +keylist = self._keylist_without_sleep_clean() +return list(set(keylist)) + +def _keylist_without_sleep_clean(self): + filter out 'clean' and 'sleep' flag +to generate a list of testcases + +keylist = [] +for key in self.testcase_keys: +key = key.lower() +if key == 'clean' or key == 'sleep': +continue + +keylist.append(key) + +return keylist + +def _keylist_cleanappended_without_sleep(self): + remove 'sleep' flag, and append ':_clean' to +the previous testcase to form a new element + +keylist_clean = [] +prev_casename = '' + +for key in self.testcase_keys: +key = key.lower() +if key == 'sleep': +continue + +if key == 'clean': +keylist_clean.append(prev_casename + :_clean) +continue + +prev_casename = key +keylist_clean.append(prev_casename) + +return keylist_clean This looks ok, ACK. I'm looking at the rest now. Martin -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
[libvirt] [test-API PATCH 1/4] filter: new class for filter or extract data
activityfilter.py --- activityfilter.py | 74 + 1 files changed, 74 insertions(+), 0 deletions(-) create mode 100644 activityfilter.py diff --git a/activityfilter.py b/activityfilter.py new file mode 100644 index 000..d99d690 --- /dev/null +++ b/activityfilter.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +# +# libvirt-test-API is copyright 2010, 2012 Red Hat, Inc. +# +# libvirt-test-API is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. This program is distributed in +# the hope that it will be useful, but WITHOUT ANY WARRANTY; without +# even the implied warranties of TITLE, NON-INFRINGEMENT, +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# The GPL text is available in the file COPYING that accompanies this +# distribution and at http://www.gnu.org/licenses. +# + + +class Filter(object): +filter activity list to form various data list +def __init__(self, activities_list): +self.testcase_keys = [] +for activity in activities_list: +for testcase in activity: +testcases_key = testcase.keys() +self.testcase_keys += testcases_key + +def unique_testcase_cleansuffix(self): +get a list of module:testcase from activities_list + eliminate duplicate items, with 'module:testcase_clean' + +keylist_clean = self._keylist_cleanappended_without_sleep() +return list(set(keylist_clean)) + +def unique_testcases(self): + get a list of module:testcase from activities_list +eliminate duplicate items + +keylist = self._keylist_without_sleep_clean() +return list(set(keylist)) + +def _keylist_without_sleep_clean(self): + filter out 'clean' and 'sleep' flag +to generate a list of testcases + +keylist = [] +for key in self.testcase_keys: +key = key.lower() +if key == 'clean' or key == 'sleep': +continue + +keylist.append(key) + +return keylist + +def _keylist_cleanappended_without_sleep(self): + remove 'sleep' flag, and append ':_clean' to +the previous testcase to form a new element + +keylist_clean = [] +prev_casename = '' + +for key in self.testcase_keys: +key = key.lower() +if key == 'sleep': +continue + +if key == 'clean': +keylist_clean.append(prev_casename + :_clean) +continue + +prev_casename = key +keylist_clean.append(prev_casename) + +return keylist_clean -- 1.7.7.5 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list