aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVosjedev <vosje@vosjedev.net>2025-11-02 17:19:45 +0100
committerVosjedev <vosje@vosjedev.net>2025-11-02 17:19:45 +0100
commitcffbdd1f728cf9de45ad00ab2d3b6a4cefcefc1d (patch)
tree981eec00374bf3c1aa4d15b1d3864482b651e95a
parent4bff57624d9db2c2880614df3ff21a3ba1e9d7d0 (diff)
downloadacit-cffbdd1f728cf9de45ad00ab2d3b6a4cefcefc1d.tar.gz
acit-cffbdd1f728cf9de45ad00ab2d3b6a4cefcefc1d.tar.bz2
acit-cffbdd1f728cf9de45ad00ab2d3b6a4cefcefc1d.tar.xz
Add bug search
-rw-r--r--src/acit/pagegenerator.py48
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: