]> www.vanbest.org Git - motioneye-debian/commitdiff
gdrive upload: fixed oauth access token renewal
authorCalin Crisan <ccrisan@gmail.com>
Sun, 22 Nov 2015 19:22:14 +0000 (21:22 +0200)
committerCalin Crisan <ccrisan@gmail.com>
Sun, 22 Nov 2015 19:23:23 +0000 (21:23 +0200)
motioneye/__init__.py
motioneye/uploadservices.py

index 47b450041dd43d95b788a6f2c75688e943447d72..b9cb08a62a151f27cc4f87d02f51df653acc7494 100644 (file)
@@ -1,2 +1,2 @@
 
-VERSION = "0.28.3"
+VERSION = "0.28.4-git"
index 2e427ca4e74c887e97171840937ec0f3a6a960c4..3f520d4e256be6b5fd886355e5cba28af144eb2f 100644 (file)
@@ -221,7 +221,7 @@ class GoogleDrive(UploadService):
         
         return items[0]['id']
 
-    def _request(self, url, body=None, headers=None):
+    def _request(self, url, body=None, headers=None, retry_auth=True):
         if not self._authorization_key:
             msg = 'missing authorization key'
             self.error(msg)
@@ -247,11 +247,12 @@ class GoogleDrive(UploadService):
             response = urllib2.urlopen(request)
         
         except urllib2.HTTPError as e:
-            if e.code == 403: # unauthorized, access token may have expired
+            if e.code == 401 and retry_auth: # unauthorized, access token may have expired
                 try:
-                    self.debug('access token might have expired, refreshing it')
+                    self.debug('access token has probably expired, refreshing it')
                     self._credentials.refresh(httplib2.Http())
                     save()
+                    self._request(url, body, headers, retry_auth=False)
 
                 except Exception as e:
                     self.error('refreshing access token failed')