@@ -118,7 +118,7 @@ def fetch_languages(self):
118118
119119 return languages
120120
121- def fetch_translations (self , language_code = None ):
121+ def fetch_translations (self , language_code ):
122122 """Fetch all translations for the given organization/project/(resource)
123123 associated with the current token. Returns a tuple of refresh flag and
124124 a dictionary of the fetched translations per language.
@@ -133,61 +133,53 @@ def fetch_translations(self, language_code=None):
133133
134134 translations = {}
135135
136- if not language_code :
137- languages = [lang ['code' ] for lang in self .fetch_languages ()]
138- else :
139- languages = [language_code ]
140-
141- for language_code in set (languages ) & \
142- set (self .configured_language_codes ):
143-
144- try :
145- last_response_status = 202
146- while last_response_status == 202 :
147- response = requests .get (
148- (self .host +
149- cds_url .format (language_code = language_code )),
150- headers = self ._get_headers (
151- etag = self .etags .get (language_code )
152- )
136+ try :
137+ last_response_status = 202
138+ while last_response_status == 202 :
139+ response = requests .get (
140+ (self .host +
141+ cds_url .format (language_code = language_code )),
142+ headers = self ._get_headers (
143+ etag = self .etags .get (language_code )
153144 )
154- last_response_status = response .status_code
145+ )
146+ last_response_status = response .status_code
155147
156- if not response .ok :
157- logger .error (
158- 'Error retrieving translations from CDS: `{}`' .format (
159- response .reason
160- )
161- )
162- response .raise_for_status ()
163-
164- # etags indicate that no translation have been updated
165- if response .status_code == 304 :
166- translations [language_code ] = (False , {})
167- else :
168- self .etags .set (
169- language_code , response .headers .get ('ETag' , '' ))
170- json_content = response .json ()
171- translations [language_code ] = (
172- True , json_content ['data' ]
148+ if not response .ok :
149+ logger .error (
150+ 'Error retrieving translations from CDS: `{}`' .format (
151+ response .reason
173152 )
153+ )
154+ response .raise_for_status ()
174155
175- except (KeyError , ValueError ):
176- # Compatibility with python2.7 where `JSONDecodeError` doesn't
177- # exist
178- logger .error ('Error retrieving translations from CDS: '
179- 'Malformed response' ) # pragma no cover
180- translations [language_code ] = (False , {}) # pragma no cover
181- except requests .ConnectionError :
182- logger .error (
183- 'Error retrieving translations from CDS: ConnectionError' )
184- translations [language_code ] = (False , {})
185- except Exception as e :
186- logger .error (
187- 'Error retrieving translations from CDS: UnknownError '
188- '(`{}`)' .format (str (e ))
189- ) # pragma no cover
156+ # etags indicate that no translation have been updated
157+ if response .status_code == 304 :
190158 translations [language_code ] = (False , {})
159+ else :
160+ self .etags .set (
161+ language_code , response .headers .get ('ETag' , '' ))
162+ json_content = response .json ()
163+ translations [language_code ] = (
164+ True , json_content ['data' ]
165+ )
166+
167+ except (KeyError , ValueError ):
168+ # Compatibility with python2.7 where `JSONDecodeError` doesn't
169+ # exist
170+ logger .error ('Error retrieving translations from CDS: '
171+ 'Malformed response' ) # pragma no cover
172+ translations [language_code ] = (False , {}) # pragma no cover
173+ except requests .ConnectionError :
174+ logger .error (
175+ 'Error retrieving translations from CDS: ConnectionError' )
176+ translations [language_code ] = (False , {})
177+ except Exception as e :
178+ logger .error (
179+ 'Error retrieving translations from CDS: UnknownError '
180+ '(`{}`)' .format (str (e ))
181+ ) # pragma no cover
182+ translations [language_code ] = (False , {})
191183
192184 return translations
193185
0 commit comments