File tree 2 files changed +11
-8
lines changed
2 files changed +11
-8
lines changed Original file line number Diff line number Diff line change @@ -31,23 +31,26 @@ def handle_mail():
31
31
toname , to = parseaddr (unicode (make_header (decode_header (message ["delivered-to" ]))))
32
32
m = ID_PATTERN .search (to )
33
33
if m is None :
34
- return
35
- id = int (m .group (1 ))
34
+ t = None
35
+ else :
36
+ t = queue .Ticket .get (int (m .group (1 )))
36
37
37
38
byname , by = parseaddr (unicode (make_header (decode_header (message ["from" ]))))
38
39
by = by .lower ()
39
40
if by .endswith (u"@mit.edu" ):
40
41
by = by [: - len (u"@mit.edu" )]
41
42
42
- t = queue .Ticket .get (id )
43
-
44
43
RTID_PATTERN = re .compile (r"\[help.mit.edu\s+\#(\d+)\]" )
45
44
subject = unicode (make_header (decode_header (message ["subject" ])))
46
45
m = RTID_PATTERN .search (subject )
47
46
if m :
48
- if t .rtid is None :
49
- by = u"rt"
50
- t .rtid = int (m .group (1 ))
47
+ rtid = int (m .group (1 ))
48
+ if t is None :
49
+ t = queue .Ticket .query .filter_by (rtid = rtid ).one ()
50
+ else :
51
+ if t .rtid is None :
52
+ by = u"rt"
53
+ t .rtid = rtid
51
54
52
55
newstate = t .state
53
56
# TODO: blanche accounts-internal
Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ class Ticket(DeclarativeBase):
26
26
path = Column (Unicode (255 ))
27
27
# "open" or "moira" or "dns" or "resolved"
28
28
state = Column (Unicode (32 ))
29
- rtid = Column (Integer )
29
+ rtid = Column (Integer , index = True , unique = True )
30
30
# Purpose
31
31
purpose = Column (UnicodeText ())
32
32
You can’t perform that action at this time.
0 commit comments