Пример #1
0
                      template.render(datapackage=datapackage,
                                      date=datetime.datetime.now()).encode('utf8'))

        # Strip out unnecessary data from datapackage
        for res in datapackage['resources']:
            del res['has_data']
            if 'cache_filepath' in res:
                del res['cache_filepath']
            if 'reason' in res:
                del res['reason']
            if 'detected_format' in res:
                del res['detected_format']

        zipf.writestr('datapackage.json', json.dumps(datapackage, indent=4))

    statinfo = os.stat(filepath)
    filesize = statinfo.st_size

    package_zip = PackageZip.get_for_package(package_id)
    if not package_zip:
        PackageZip.create(package_id, filepath, filesize, has_data=any_have_data)
        log.info('Package zip created: %s', filepath)
    else:
        package_zip.filepath = filepath
        package_zip.updated = datetime.datetime.now()
        package_zip.size = filesize
        package_zip.has_data = any_have_data
        log.info('Package zip updated: %s', filepath)

        model.Session.add(package_zip)
        model.Session.commit()