def get_from_translator(self, request): """ Get the translations from Smartling and save them to the database into the model instance that they were sent from. """ if self.LOCALE in SMARTLING_SETTINGS['locales']: FILE_NAME = request.GET['fileUri'] environment_name, item_type, item_id, file_type = FILE_NAME.split('.') uploadDataUtf16 = UploadData(self.FILE_PATH, FILE_NAME, self.FILE_TYPE) uploadDataUtf16.setApproveContent("true") fapi = SmartlingFileApiFactory().getSmartlingTranslationApi(self.SANDBOX_MODE, self.MY_API_KEY, self.MY_PROJECT_ID) sl_response, sl_status = fapi.get(uploadDataUtf16.name, self.LOCALE) incoming_object = self.deserialise(item_type, item_id, sl_response) return incoming_object.save_translation() else: opta_logger.info('locale %s is not supported', self.LOCALE)
def post_to_translator(self, item_type, item_id): """ Send the django model to Smartling. """ if self.LOCALE in SMARTLING_SETTINGS['locales']: opta_logger.info('post_to_translator called: %s', item_id) FILE_NAME = self.serialise(item_type, item_id) uploadDataUtf16 = UploadData(self.FILE_PATH, FILE_NAME, self.FILE_TYPE) uploadDataUtf16.setApproveContent("true") uploadDataUtf16.setCallbackUrl(self.CALLBACK_URL) opta_logger.info('temp file is here: %s %s' % (self.FILE_PATH, FILE_NAME,)) fapi = SmartlingFileApiFactory().getSmartlingTranslationApi(self.SANDBOX_MODE, self.MY_API_KEY, self.MY_PROJECT_ID) response = fapi.upload(uploadDataUtf16) if response: opta_logger.info('file posted: %s', FILE_NAME) opta_logger.info(response) self.delete_upload('%s%s' % (self.FILE_PATH, FILE_NAME,)) else: opta_logger.info('file not posted: sadface.gif') return True else: opta_logger.info('locale %s is not supported', self.LOCALE)