def _get_server_from_metadata(xform, meta, token): # Fetch metadata details from master directly try: report_templates = MetaData.external_export(xform) except MetaData.DoesNotExist: from multidb.pinning import use_master with use_master: report_templates = MetaData.external_export(xform) if meta: try: int(meta) except ValueError: raise Exception(u"Invalid metadata pk {0}".format(meta)) # Get the external server from the metadata result = report_templates.get(pk=meta) server = result.external_export_url name = result.external_export_name elif token: server = token name = None else: # Take the latest value in the metadata if not report_templates: raise Exception( u"Could not find the template token: Please upload template.") server = report_templates[0].external_export_url name = report_templates[0].external_export_name return server, name
def _get_server_from_metadata(xform, meta, token): report_templates = MetaData.external_export(xform) if meta: try: int(meta) except ValueError: raise Exception(u"Invalid metadata pk {0}".format(meta)) # Get the external server from the metadata result = report_templates.get(pk=meta) server = result.external_export_url name = result.external_export_name elif token: server = token name = None else: # Take the latest value in the metadata if not report_templates: raise Exception( u"Could not find the template token: Please upload template.") server = report_templates[0].external_export_url name = report_templates[0].external_export_name return server, name
def test_external_export_list(self): kwargs = {'username': self.user.username, 'id_string': self.xform.id_string, 'export_type': Export.EXTERNAL_EXPORT} server = 'http://localhost:8080/xls/23fa4c38c0054748a984ffd89021a295' data_value = 'template 1 |{0}'.format(server) meta = MetaData.external_export(self.xform, data_value) custom_params = { 'meta': meta.id, } url = reverse(export_list, kwargs=kwargs) count = len(Export.objects.all()) response = self.client.get(url, custom_params) self.assertEqual(response.status_code, 200) count1 = len(Export.objects.all()) self.assertEquals(count + 1, count1)
def test_create_external_export_url(self): self._publish_transportation_form() self._submit_transport_instance() num_exports = Export.objects.count() server = 'http://localhost:8080/xls/23fa4c38c0054748a984ffd89021a295' data_value = 'template 1 |{0}'.format(server) meta = MetaData.external_export(self.xform, data_value) custom_params = { 'meta': meta.id, } # create export create_export_url = reverse(create_export, kwargs={ 'username': self.user.username, 'id_string': self.xform.id_string, 'export_type': Export.EXTERNAL_EXPORT }) response = self.client.post(create_export_url, custom_params) self.assertEqual(response.status_code, 302) self.assertEqual(Export.objects.count(), num_exports + 1)
def _add_external_export_metadata(self, content_object): MetaData.external_export(content_object, "https://test/external/export")