diff options
| author | Vosjedev <vosje@vosjedev.net> | 2025-11-02 17:19:45 +0100 |
|---|---|---|
| committer | Vosjedev <vosje@vosjedev.net> | 2025-11-02 17:19:45 +0100 |
| commit | cffbdd1f728cf9de45ad00ab2d3b6a4cefcefc1d (patch) | |
| tree | 981eec00374bf3c1aa4d15b1d3864482b651e95a | |
| parent | 4bff57624d9db2c2880614df3ff21a3ba1e9d7d0 (diff) | |
| download | acit-cffbdd1f728cf9de45ad00ab2d3b6a4cefcefc1d.tar.gz acit-cffbdd1f728cf9de45ad00ab2d3b6a4cefcefc1d.tar.bz2 acit-cffbdd1f728cf9de45ad00ab2d3b6a4cefcefc1d.tar.xz | |
Add bug search
| -rw-r--r-- | src/acit/pagegenerator.py | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/src/acit/pagegenerator.py b/src/acit/pagegenerator.py index a75eb84..e8f265f 100644 --- a/src/acit/pagegenerator.py +++ b/src/acit/pagegenerator.py @@ -183,6 +183,8 @@ class Generator(plugins.SimplePlugin): from datetime import datetime, timedelta statc=self.statcache[proj] + + self.mlog("Generating projectpage %s"%proj) if register: with self.imap.get_MailBox() as mailbox: @@ -197,12 +199,19 @@ class Generator(plugins.SimplePlugin): #self.mlog("%d: %s"%(statc["today"],email.subject)) except MailboxFolderSelectError: pass - self.mlog("Updated mailbox statcounter") with self.dbpool.get_connection() as conn, conn.cursor() as cur: args=[proj] extraquery='' if kwargs: + + for bugtype in ["bug","patch","discus"]: + if bugtype in kwargs: + kwargs.setdefault("types",[]).append(bugtype.upper()) + for status in ["open","closed","reject","upstrm","unconf"]: + if status in kwargs: + kwargs.setdefault("status",[]).append(status.upper()) + if 'subject' in kwargs: extraquery+="AND LOWER(subject) LIKE LOWER(?)" args.append("%"+kwargs["subject"]+"%") @@ -213,6 +222,30 @@ class Generator(plugins.SimplePlugin): extraquery+="AND status IN ("+",".join("?"*len(kwargs["status"]))+")" args.extend(kwargs["status"]) + filter_subject=kwargs.get("subject","") + filter_by=kwargs.get("by","") + + def default_kws(*keys): + for key in keys: + if key in kwargs: + break + else: + for key in keys: + kwargs[key]="true" + + default_kws("bug","patch","discus") + filter_bug=kwargs.get("bug") + filter_patch=kwargs.get("patch") + filter_discus=kwargs.get("discus") + + default_kws("open","closed","reject","upstrm","unconf") + filter_open=kwargs.get("open") + filter_closed=kwargs.get("closed") + filter_reject=kwargs.get("reject") + filter_upstrm=kwargs.get("upstrm") + filter_unconf=kwargs.get("unconf") + + sql="SELECT bugid,subject,status,type FROM bugs WHERE tracker=? "+\ extraquery+\ " ORDER BY FIELD(status,'OPEN') DESC" @@ -252,6 +285,19 @@ class Generator(plugins.SimplePlugin): patchesclosed=statc["PATCHCLOSED"], patchesrejected=statc["PATCHREJECT"], + filter_subject=filter_subject, + filter_by=filter_by, + + filter_bug="checked" if filter_bug else "", + filter_patch="checked" if filter_patch else "", + filter_discus="checked" if filter_discus else "", + + filter_open="checked" if filter_open else "", + filter_closed="checked" if filter_closed else "", + filter_reject="checked" if filter_reject else "", + filter_upstrm="checked" if filter_upstrm else "", + filter_unconf="checked" if filter_unconf else "", + maillist=tabledata ) if register: |
