annotate website/issues/detectors/statusauditor.py @ 8566:e4191aa7b402 default tip

doc: issue2551415 correct doc for change input->input_payload in 2.5 the rest interface changed a variable name from input to input_payload. An earlier commit changed the rest docs. This commit adds an item for it to the upgrading 2.4.0->2.5.0 section. Also cross reference added to the rest docs with the updated examples.
author John Rouillard <rouilj@ieee.org>
date Thu, 09 Apr 2026 00:19:06 -0400
parents 13e8f188f8dd
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
1 def preset_new(db, cl, nodeid, newvalues):
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
2 """ Make sure the status is set on new issues"""
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
3
5381
0942fe89e82e Python 3 preparation: change "x.has_key(y)" to "y in x".
Joseph Myers <jsm@polyomino.org.uk>
parents: 4024
diff changeset
4 if 'status' in newvalues and newvalues['status']:
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
5 return
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
6
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
7 new = db.status.lookup('new')
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
8 newvalues['status'] = new
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
9
6424
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
10 def update_pending(db, cl, nodeid, newvalues):
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
11 ''' If the issue is currently 'pending' and person other than assigned
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
12 updates it, then set it to 'open'.
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
13 '''
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
14 # don't fire if there's no new message (ie. update)
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
15 if 'messages' not in newvalues:
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
16 return
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
17 if newvalues['messages'] == cl.get(nodeid, 'messages'):
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
18 return
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
19
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
20 # get the open state ID
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
21 try:
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
22 open_id = db.status.lookup('open')
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
23 except KeyError:
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
24 # no open state, ignore all this stuff
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
25 return
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
26
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
27 # get the current value
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
28 current_status = cl.get(nodeid, 'status')
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
29
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
30 # see if there's an explicit change in this transaction
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
31 if 'status' in newvalues:
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
32 # yep, skip
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
33 return
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
34
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
35 assignee = cl.get(nodeid, 'assignee')
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
36 if assignee == db.getuid():
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
37 # this change is brought to you by the assignee and number 4
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
38 # so don't change status.
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
39 return
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
40
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
41 # determine the id of 'pending'
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
42 fromstates = []
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
43 for state in 'pending'.split():
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
44 try:
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
45 fromstates.append(db.status.lookup(state))
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
46 except KeyError:
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
47 pass
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
48
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
49 # ok, there's no explicit change, so check if we are in a state that
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
50 # should be changed
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
51 if current_status in fromstates + [None]:
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
52 # yep, we're now open
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
53 newvalues['status'] = open_id
4024
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
54
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
55 def init(db):
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
56 # fire before changes are made
c2d0d3e9099d svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff changeset
57 db.issue.audit('create', preset_new)
6424
13e8f188f8dd Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents: 5381
diff changeset
58 db.issue.audit('set', update_pending)

Roundup Issue Tracker: http://roundup-tracker.org/