aboutsummaryrefslogtreecommitdiffstats
path: root/servo/management
diff options
context:
space:
mode:
authorFilipp Lepalaan <filipp@mac.com>2015-11-18 22:41:40 +0200
committerFilipp Lepalaan <filipp@mac.com>2015-11-18 22:41:40 +0200
commit085832888a6ebee7f0b2d23c68ef887833f2a94d (patch)
tree31363288b92ea742b9e10ff21990bd77b8bdbf82 /servo/management
parent15ea45e17ebe662b4a105a0a61d6e46dcf591358 (diff)
downloadServo-085832888a6ebee7f0b2d23c68ef887833f2a94d.tar.gz
Servo-085832888a6ebee7f0b2d23c68ef887833f2a94d.tar.bz2
Servo-085832888a6ebee7f0b2d23c68ef887833f2a94d.zip
Cleanup
Diffstat (limited to 'servo/management')
-rw-r--r--servo/management/commands/checkescalations.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/servo/management/commands/checkescalations.py b/servo/management/commands/checkescalations.py
index 488bda9..a4dfd5f 100644
--- a/servo/management/commands/checkescalations.py
+++ b/servo/management/commands/checkescalations.py
@@ -4,6 +4,8 @@ from django.db.models import Q
from django.utils import timezone
from django.core.management.base import BaseCommand, CommandError
+from servo.lib.utils import empty
+from servo.exceptions import ConfigurationError
from servo.models import Configuration, Note, User, Escalation
@@ -11,16 +13,22 @@ class Command(BaseCommand):
help = "Check updates for open escalations"
def handle(self, *args, **options):
+ # get local user to create notes as
uid = Configuration.conf('imap_act')
-
- if uid in [None, '']:
- return
+
+ if empty(uid):
+ raise ConfigurationError('Incoming message user not defined')
user = User.objects.get(pk=uid)
tz = timezone.get_current_timezone()
for i in Escalation.objects.exclude(Q(escalation_id='') | Q(status='C')):
- i.gsx_account.connect(i.created_by)
+ # connect per-user since the escalations can be under different ship-tos
+ try:
+ i.gsx_account.connect(i.created_by)
+ except Exception:
+ continue # skip auth errors so we don't get stuck
+
r = i.get_escalation().lookup()
aware = timezone.make_aware(r.lastModifiedTimestamp, tz)