~rpadovani/reminders-app/improveListItemSwipe

« back to all changes in this revision

Viewing changes to src/libqtevernote/jobs/evernotejob.cpp

improve some error handling

* Rate limit exceeded
* Upload quota exceeded
* Authentication expired
. Fixes: https://bugs.launchpad.net/bugs/1430173, https://bugs.launchpad.net/bugs/1430176.

Approved by Riccardo Padovani, Ubuntu Phone Apps Jenkins Bot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
100
100
            }
101
101
        } catch (const evernote::edam::EDAMUserException &e) {
102
102
            QString message;
 
103
            EvernoteConnection::ErrorCode errorCode = EvernoteConnection::ErrorCodeUserException;
103
104
            switch (e.errorCode) {
104
105
            case evernote::edam::EDAMErrorCode::UNKNOWN:
105
106
                message = "Unknown Error: %1";
118
119
                break;
119
120
            case evernote::edam::EDAMErrorCode::LIMIT_REACHED:
120
121
                message = "Limit reached: %1";
 
122
                errorCode = EvernoteConnection::ErrorCodeLimitExceeded;
121
123
                break;
122
124
            case evernote::edam::EDAMErrorCode::QUOTA_REACHED:
123
125
                message = "Quota reached: %1";
 
126
                errorCode = EvernoteConnection::ErrorCodeQutaExceeded;
124
127
                break;
125
128
            case evernote::edam::EDAMErrorCode::INVALID_AUTH:
126
129
                message = "Invalid auth: %1";
127
130
                break;
128
131
            case evernote::edam::EDAMErrorCode::AUTH_EXPIRED:
129
132
                message = "Auth expired: %1";
 
133
                errorCode = EvernoteConnection::ErrorCodeAuthExpired;
130
134
                break;
131
135
            case evernote::edam::EDAMErrorCode::DATA_CONFLICT:
132
136
                message = "Data conflict: %1";
161
165
            }
162
166
            message = message.arg(QString::fromStdString(e.parameter));
163
167
            qCWarning(dcJobQueue) << metaObject()->className() << "EDAMUserException:" << message;
164
 
            emitJobDone(EvernoteConnection::ErrorCodeUserException, message);
 
168
            emitJobDone(errorCode, message);
165
169
        } catch (const evernote::edam::EDAMSystemException &e) {
166
170
            qCWarning(dcJobQueue) << "EDAMSystemException in" << metaObject()->className() << e.what() << e.errorCode << QString::fromStdString(e.message);
167
171
            QString message;
168
172
            EvernoteConnection::ErrorCode errorCode;
169
173
            switch (e.errorCode) {
170
174
            case evernote::edam::EDAMErrorCode::AUTH_EXPIRED:
171
 
                message = gettext("Authentication expired.");
 
175
                message = "Authentication expired.";
172
176
                errorCode = EvernoteConnection::ErrorCodeAuthExpired;
173
177
                break;
174
178
            case evernote::edam::EDAMErrorCode::LIMIT_REACHED:
175
 
                message = gettext("Limit exceeded.");
 
179
                message = "Limit exceeded.";
176
180
                errorCode = EvernoteConnection::ErrorCodeLimitExceeded;
177
181
                break;
178
182
            case evernote::edam::EDAMErrorCode::RATE_LIMIT_REACHED:
179
 
                message = gettext("Rate limit exceeded.");
 
183
                message = "Rate limit exceeded.";
180
184
                errorCode = EvernoteConnection::ErrorCodeRateLimitExceeded;
181
185
                break;
182
186
            case evernote::edam::EDAMErrorCode::QUOTA_REACHED:
183
 
                message = gettext("Quota exceeded.");
 
187
                message = "Quota exceeded.";
184
188
                errorCode = EvernoteConnection::ErrorCodeQutaExceeded;
185
189
                break;
186
190
            default: