def search(self, *args, **kwds): """Performs a search on the bugzilla database with the keywords given on the title (or the body if specified). """ search_term = ' '.join(args).strip() show_url = kwds['show_url'] del kwds['show_url'] search_opts = sorted([(opt, val) for opt, val in kwds.items() if val != None and opt != 'order']) if not (search_term or search_opts): raise BugzError('Please give search terms or options.') if search_term: log_msg = 'Searching for \'%s\' ' % search_term else: log_msg = 'Searching for bugs ' if search_opts: self.log(log_msg + 'with the following options:') for opt, val in search_opts: self.log(' %-20s = %s' % (opt, val)) else: self.log(log_msg) result = Bugz.search(self, search_term, **kwds) if result == None: raise RuntimeError('Failed to perform search') if len(result) == 0: self.log('No bugs found.') return self.listbugs(result, show_url)
def search(self, **kwds): """Performs a search on the bugzilla database with the keywords given on the title (or the body if specified). """ search_term = ' '.join(kwds['terms']).strip() del kwds['terms'] show_status = kwds['show_status'] del kwds['show_status'] show_url = kwds['show_url'] del kwds['show_url'] show_only_bug_id = kwds['show_only_bug_id'] del kwds['show_only_bug_id'] search_opts = sorted([(opt, val) for opt, val in kwds.items() if val != None and opt != 'order']) if not (search_term or search_opts): raise BugzError('Please give search terms or options.') if search_term: log_msg = 'Searching for \'%s\' ' % search_term else: log_msg = 'Searching for bugs ' if search_opts: self.log(log_msg + 'with the following options:') for opt, val in search_opts: self.log(' %-20s = %s' % (opt, val)) else: self.log(log_msg) result = Bugz.search(self, search_term, **kwds) if result == None: raise RuntimeError('Failed to perform search') if len(result) == 0: self.log('No bugs found.') return self.listbugs(result, show_url, show_status, show_only_bug_id)