aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
5 daysRefactor codebase to better work with pyproject.tomlHEADmasterKonstantin Ryabitsev11-19/+359
It's easier to define the single toplevel src directory with the sources inside it. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-10-26Abstract public-inbox searches in configKonstantin Ryabitsev5-23/+52
We may want to be able to reuse searches across multiple component definitions, so abstract them into their own config hierarchy. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-10-26Rename peebz into bugsprayKonstantin Ryabitsev10-134/+134
We will do more than just bugzilla, so don't tie ourselves to "bz" and rename the project as "bugspray". Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-09-08Appease the gods of pip installKonstantin Ryabitsev1-4/+4
Not sure if this is what it's looking for, but attempt to fix the "PEP 508" error. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-09-08Fix typo in pyproject.tomlKonstantin Ryabitsev1-1/+1
Somehow didn't trip up pycharm's validator. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-09-08Add basic pyproject.tomlKonstantin Ryabitsev1-0/+41
Go with the new recommended way of doing it by using pyproject.toml and not setup.py. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-07-28pi2bz: retrieve new messages in updated threads onlyKonstantin Ryabitsev2-75/+72
Use the new public-inbox feature to retrieve only the newest messages in tracked threads. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-07-14Report elapsed time during cron runsKonstantin Ryabitsev1-0/+6
Give a simple report how long it took to run full cron. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-07-14Add "cron mode" runsKonstantin Ryabitsev1-0/+12
To make it easier to run from cron, add a unifying "cron" command that just runs all actions defined in the config file. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-05-04Make date increment in threadsKonstantin Ryabitsev1-0/+8
When we convert a bug with pre-existing comments into a mail thread, we send all messages with the same Date: header, which may cause things to render out of order. Increment the Date: header by a second for each comment count, to help sort them correctly. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-04-19TODO: update todo to add cron modeKonstantin Ryabitsev1-0/+11
Need to make it simple to run it as a cron/systemd timer command. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-04-19git2bz: initial implementation for trackig git commitsKonstantin Ryabitsev4-1/+189
We should now be able to track commits for mentions of our bugs. This is a rough initial implementation and will probably be enhanced. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-04-13Don't quote '@' in msgid for URLsKonstantin Ryabitsev1-1/+1
We can leave '@' unquoted in the URLs, which makes msgid links more readable. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-04-12URL-escape msgid when adding it to lookup URLKonstantin Ryabitsev1-1/+1
We're still stuck with non-url-friendly chars in the msgid, so remember to quote-escape the msgid before adding it to the lookup url. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-04-11Include attachment commentKonstantin Ryabitsev4-12/+16
Include the comment info when reporting a new attachment, which may carry important accompanying info. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-04-05TODO: add plan to add patches as attachmentsKonstantin Ryabitsev1-1/+1
When we recognize that the message is a patch submission, we should create it as an attachment instead of a regular comment. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-04-05Better fix bugs without a config-defined componentKonstantin Ryabitsev2-13/+14
This should fix other instances where we're working with bugs that have a product/component that isn't known to us from the config file. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-04-05Fix when looking up privacy mode for unknown componentKonstantin Ryabitsev1-3/+8
There was a couple of bugs discovered when a bug was moved to a component for which we don't have a section in the config file. We should be able to handle this situation. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-04-04pi2bz: use a 10-minute overlap buffer for queriesKonstantin Ryabitsev1-1/+3
When querying public-inbox, use a small overlap for dt: ranges, so we have a lower chance of missing messages. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-04-04pi2bz: implement more accurate trigger for commandsKonstantin Ryabitsev5-24/+87
We use pi_query when looking for interesting threads, but we can have false-positives (e.g. someone talking about bugbot trigger words, not someone actually issuing bot commands). This implements pi_trigger_regexes so we can separate commands (on a separate line) from false-positives. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-03-31Do a better job finding signaturesKonstantin Ryabitsev1-1/+1
Don't just split on any '-- ' string, it actually has to be on a newline by itself. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-03-31Add privacy mode that doesn't leak addressesKonstantin Ryabitsev3-15/+39
In privacy mode, any addresses not viewable to an anonymous user will not be included into outgoing mail. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-03-30Use lambda when sorting tuplesKonstantin Ryabitsev1-1/+1
Sorting tuples of (datetime, message) requires using a lambda so Python doesn't try to compare messages. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-03-30Add COPYING and README.mdKonstantin Ryabitsev2-0/+343
More documentation forthcoming. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
2023-03-30Initial commitKonstantin Ryabitsev9-0/+1704
This is the initial commit of "minimal viable product" as startups like to say. Documentation is going to be forthcoming -- for now we're running initial burn-in tests and finding the largest bugs. Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>