Exemplo n.º 1
0
    def fetch_version_info(update_all=False):
        pre_fetch_version.send(object.__class__)

        client = Client(url=wsdl_source)
        result = client.service.GetAllDownloadFileInfo()

        for item in result.DownloadFileInfo:
            ver, created = Version.objects.get_or_create(
                ver=item['VersionId'],
                dumpdate=datetime.datetime.strptime(item['TextVersion'][-10:], "%d.%m.%Y").date(),
            )

            if created or update_all:
                setattr(ver, 'complete_xml_url', item['FiasCompleteXmlUrl'])
                setattr(ver, 'complete_dbf_url', item['FiasCompleteDbfUrl'])

                if hasattr(item, 'FiasDeltaXmlUrl'):
                    setattr(ver, 'delta_xml_url', item['FiasDeltaXmlUrl'])
                else:
                    setattr(ver, 'delta_xml_url', None)

                if hasattr(item, 'FiasDeltaDbfUrl'):
                    setattr(ver, 'delta_dbf_url', item['FiasDeltaDbfUrl'])
                else:
                    setattr(ver, 'delta_dbf_url', None)

                ver.save()

        post_fetch_version.send(object.__class__)
Exemplo n.º 2
0
def fetch_version_info(update_all=False):

    pre_fetch_version.send(object.__class__)

    result = client.service.GetAllDownloadFileInfo()
    for item in iter_version_info(result=result):
        parse_func(item=item, update_all=update_all)

    post_fetch_version.send(object.__class__)
Exemplo n.º 3
0
def fetch_version_info(update_all=False):

    pre_fetch_version.send(object.__class__)

    result = client.service.GetAllDownloadFileInfo()
    for item in iter_version_info(result=result):
        parse_func(item=item, update_all=update_all)

    post_fetch_version.send(object.__class__)
Exemplo n.º 4
0
def fetch_version_info(update_all=False):

    pre_fetch_version.send(object.__class__)

    try:
        result = client.service.GetAllDownloadFileInfo()
    except XMLSyntaxError:
        with urllib.request.urlopen(json_source) as url:
            result = json.loads(url.read().decode())
            parse_func = parse_item_as_dict
    for item in iter_version_info(result=result):
        parse_func(item=item, update_all=update_all)

    post_fetch_version.send(object.__class__)