Exemple #1
0
 def setUp(self):
     """Setup."""
     valid_host = "partner1.{}".format(settings.AKVOAPP_DOMAIN)
     self.c = Client(HTTP_HOST=valid_host)
     o1 = Organisation(name='p1', long_name='Partner1')
     o1.save()
     ps1 = PartnerSite(organisation=o1, hostname='partner1', cname='projects.partner1.org')
     ps1.save()
     iati_version = Version(code=settings.IATI_VERSION)
     iati_version.save()
 def setUp(self):
     """Setup."""
     valid_host = "partner1.{}".format(settings.AKVOAPP_DOMAIN)
     self.c = Client(HTTP_HOST=valid_host)
     o1 = Organisation(name='p1', long_name='Partner1')
     o1.save()
     ps1 = PartnerSite(organisation=o1,
                       hostname='partner1',
                       cname='projects.partner1.org')
     ps1.save()
Exemple #3
0
 def setUp(self):
     """Setup."""
     # valid_host = "partner1.{}".format(settings.AKVOAPP_DOMAIN)
     self.cname = "projects.partner1.org"
     self.c = Client(HTTP_HOST=self.cname)
     o1 = Organisation(name='p1', long_name='Partner1')
     o1.save()
     ps1 = PartnerSite(organisation=o1,
                       hostname='partner1',
                       cname=self.cname)
     ps1.save()
     iati_version = Version(code=settings.IATI_VERSION)
     iati_version.save()
def import_orgs(xml_file):
    with open(xml_file, "rb") as f:
        report_data = dict(created=0, failed=0, updated=0)
        root = etree.fromstring(f.read())
        for element in root:
            recording_org = Organisation.objects.get(id=CORDAID_ORG_ID)
            identifier = element.findtext("org_id")
            try:  # Find existing InternalOrganisationID & Organisation ...
                action = "updated"
                internal_org_id = InternalOrganisationID.objects.get(
                    recording_org=recording_org,
                    identifier=identifier
                )
                referenced_org = internal_org_id.referenced_org
            except:  # ... or attempt to create new ones
                try:
                    action = "created"
                    referenced_org = Organisation()
                    referenced_org.save()
                    internal_org_id = InternalOrganisationID(
                        recording_org=recording_org,
                        referenced_org=referenced_org,
                        identifier=identifier
                    )
                    internal_org_id.save()
                    for partner_type in PartnerType.objects.all():
                        referenced_org.partner_types.add(partner_type)
                except Exception, e:
                    action = "failed"
                    internal_org_id.delete()
                    referenced_org.delete()
                    print(u"*** UNABLE TO CREATE NEW ORGANISATION! "
                           "Reason: {message}.".format(e.message))
            name = element.findtext("name")
            referenced_org.name, referenced_org.long_name = name[:25], name
            referenced_org.description = element.findtext("description") or "N/A"
            referenced_org.url = normalize_url(element.findtext("url"))
            referenced_org.new_organisation_type = int(element.findtext("iati_organisation_type"))
            referenced_org.organisation_type = get_organisation_type(referenced_org.new_organisation_type)
            report_data[action] += 1
            referenced_org.save()
            log_and_alert(u"{action} organisation {org_id} "
                         "(Cordaid ID: {cordaid_org_id})".format(
                action=action.upper(),
                cordaid_org_id=internal_org_id.identifier,
                org_id=referenced_org.id
            ))
        run_import_report("organisation", report_data)
Exemple #5
0
def import_orgs(xml_file):
    with open(xml_file, "rb") as f:
        report_data = dict(created=0, failed=0, updated=0)
        root = etree.fromstring(f.read())
        for element in root:
            recording_org = Organisation.objects.get(id=CORDAID_ORG_ID)
            identifier = element.findtext("org_id")
            try:  # Find existing InternalOrganisationID & Organisation ...
                action = "updated"
                internal_org_id = InternalOrganisationID.objects.get(
                    recording_org=recording_org, identifier=identifier)
                referenced_org = internal_org_id.referenced_org
            except:  # ... or attempt to create new ones
                try:
                    action = "created"
                    referenced_org = Organisation()
                    referenced_org.save()
                    internal_org_id = InternalOrganisationID(
                        recording_org=recording_org,
                        referenced_org=referenced_org,
                        identifier=identifier)
                    internal_org_id.save()
                    for partner_type in PartnerType.objects.all():
                        referenced_org.partner_types.add(partner_type)
                except Exception, e:
                    action = "failed"
                    internal_org_id.delete()
                    referenced_org.delete()
                    print(u"*** UNABLE TO CREATE NEW ORGANISATION! "
                          "Reason: {message}.".format(e.message))
            name = element.findtext("name")
            referenced_org.name, referenced_org.long_name = name[:25], name
            referenced_org.description = element.findtext(
                "description") or "N/A"
            referenced_org.url = normalize_url(element.findtext("url"))
            referenced_org.new_organisation_type = int(
                element.findtext("iati_organisation_type"))
            referenced_org.organisation_type = get_organisation_type(
                referenced_org.new_organisation_type)
            report_data[action] += 1
            referenced_org.save()
            log_and_alert(u"{action} organisation {org_id} "
                          "(Cordaid ID: {cordaid_org_id})".format(
                              action=action.upper(),
                              cordaid_org_id=internal_org_id.identifier,
                              org_id=referenced_org.id))
        run_import_report("organisation", report_data)