Changeset 87e262c in indico


Ignore:
Timestamp:
02/25/10 18:28:26 (3 years ago)
Author:
Jose Benito <jose.benito.gonzalez@…>
Branches:
master, burotel, hello-world-walkthrough, ipv6, new-webex, prov-dual-interface, v0.97-series, v0.98-series, v0.98.2, v0.98.3, v0.98b1, v0.98b2, v0.99, 051b2622c51afb171a1dedb46a0df4fbb0cbd02e, d9941f8582b36b24821a11ea5ba16fda6a457fb1
Children:
37e743
Parents:
e7aa6b
git-author:
Jose Benito <jose.benito.gonzalez@…> (02/25/10 18:00:41)
git-committer:
Jose Benito <jose.benito.gonzalez@…> (02/25/10 18:28:26)
Message:

[FIX] catching timing errors as warnings

Location:
indico/MaKaC/services
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • indico/MaKaC/services/implementation/schedule.py

    re7aa6b r87e262c  
    1010from MaKaC.common.PickleJar import DictPickler 
    1111 
    12 from MaKaC.services.interface.rpc.common import ServiceError 
     12from MaKaC.services.interface.rpc.common import ServiceError, TimingNoReportError 
    1313 
    1414from MaKaC.services.implementation import conference as conferenceServices 
     
    7979            return self._performOperation() 
    8080        except TimingError, e: 
    81             raise ServiceError("ERR-E2", e.getMsg()) 
     81            raise TimingNoReportError("ERR-E2", e.getMsg()) 
    8282 
    8383    def initializeAutoOps(self): 
  • indico/MaKaC/services/interface/rpc/common.py

    r626e2c r87e262c  
    1818                'MaKaC.services.interface.rpc.common.HTMLSecurityError', 
    1919                'MaKaC.services.interface.rpc.common.ServiceAccessError', 
     20                'MaKaC.services.interface.rpc.common.TimingNoReportError', 
    2021                'MaKaC.services.implementation.base.ExpectedParameterException', 
    2122                'MaKaC.services.implementation.base.EmptyParameterException', 
     
    3536                'MaKaC.services.interface.rpc.common.HTMLSecurityError', 
    3637                'MaKaC.services.interface.rpc.common.ServiceAccessError', 
     38                'MaKaC.services.interface.rpc.common.TimingNoReportError', 
    3739                'MaKaC.services.implementation.base.ExpectedParameterException', 
    3840                'MaKaC.services.implementation.base.EmptyParameterException', 
     
    5254                'MaKaC.services.interface.rpc.common.HTMLSecurityError', 
    5355                'MaKaC.services.interface.rpc.common.ServiceAccessError', 
     56                'MaKaC.services.interface.rpc.common.TimingNoReportError', 
    5457                'MaKaC.services.implementation.base.ExpectedParameterException', 
    5558                'MaKaC.services.implementation.base.EmptyParameterException', 
     
    6063    def getInner(self): 
    6164        return self.inner 
    62      
     65 
    6366    @Retrieves(['MaKaC.services.interface.rpc.common.CausedError', 
    6467                'MaKaC.services.interface.rpc.common.NoReportError', 
     
    6972                'MaKaC.services.interface.rpc.common.HTMLSecurityError', 
    7073                'MaKaC.services.interface.rpc.common.ServiceAccessError', 
     74                'MaKaC.services.interface.rpc.common.TimingNoReportError', 
    7175                'MaKaC.services.implementation.base.ExpectedParameterException', 
    7276                'MaKaC.services.implementation.base.EmptyParameterException', 
     
    8791                inner = self.inner 
    8892            return "%s : %s\r\n\r\nInner Exception:\r\n%s" % (self.code, self.message, inner) 
    89      
     93 
    9094class NoReportError(CausedError): 
    91      
     95 
    9296    def __init__(self, code, message, inner=None): 
    9397        CausedError.__init__(self, code, message, inner, "noReport") 
     
    97101 
    98102class ProcessError(CausedError): 
    99      
     103 
    100104    def __init__(self, code, message): 
    101105        CausedError.__init__(self, code, message, inner = traceback.format_exception(*sys.exc_info())) 
     
    113117    pass 
    114118 
     119class TimingNoReportError(NoReportError): 
     120    pass 
     121 
    115122 
    116123class Warning(object): 
    117      
     124 
    118125    def __init__(self, title, content): 
    119126        self._title = title 
    120127        self._content = content 
    121      
     128 
    122129    @Retrieves(['MaKaC.services.interface.rpc.common.Warning'], 'title') 
    123130    def getTitle(self): 
    124131        return self._title 
    125      
     132 
    126133    @Retrieves(['MaKaC.services.interface.rpc.common.Warning'], 'content') 
    127134    def getProblems(self): 
    128135        return self._content 
    129      
     136 
    130137class ResultWithWarning(object): 
    131      
     138 
    132139    def __init__(self, result, warning): 
    133140        self._result = result 
    134141        self._warning = warning 
    135          
     142 
    136143    @Retrieves(['MaKaC.services.interface.rpc.common.ResultWithWarning'], 'result', isPicklableObject = True) 
    137144    def getResult(self): 
    138145        return self._result 
    139      
     146 
    140147    @Retrieves(['MaKaC.services.interface.rpc.common.ResultWithWarning'], 'warning', isPicklableObject = True) 
    141148    def getWarning(self): 
    142149        return self._warning 
    143      
     150 
    144151    @Retrieves(['MaKaC.services.interface.rpc.common.ResultWithWarning'], 'hasWarning') 
    145152    def hasWarning(self): 
  • indico/MaKaC/services/interface/rpc/json.py

    r539477 r87e262c  
    117117    except CausedError, e: 
    118118 
    119         errorInfo = DictPickler.pickle(e); 
     119        try: 
     120            errorInfo = DictPickler.pickle(e); 
     121        except Exception, e2: 
     122            # This is to catch Exceptions that are not registered as Pickles. 
     123            errorInfo  = {'code':'', 'message': str(e)} 
     124            Logger.get('dev').exception('Exception not registered as pickle') 
     125 
    120126 
    121127        if isinstance(e, NoReportError): 
Note: See TracChangeset for help on using the changeset viewer.