From 085832888a6ebee7f0b2d23c68ef887833f2a94d Mon Sep 17 00:00:00 2001 From: Filipp Lepalaan Date: Wed, 18 Nov 2015 22:41:40 +0200 Subject: Cleanup --- servo/management/commands/checkescalations.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'servo/management/commands') 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) -- cgit v1.2.3