예제 #1
0
    def handle(self, *args, **options):

        # make sure we're at project root
        chdir_dmd()

        dps_name = options.get('dps')
        if not dps_name:
            logger.error("Unable to match DPS with name `{}`".format(dps_name))
            return 1

        rdc = Entity.get_root()
        dps = Entity.lookup_at(parent=rdc, name=dps_name)[0]
        if dps is None:
            logger.error("Unable to match DPS with name `{}`".format(dps_name))
            return 1

        logger.info("Generating XLS dataentry tool for `{}`".format(dps_name))

        generate_dataentry_for(dps, 'dataentry.xlsx')
예제 #2
0
    def handle(self, *args, **options):

        # make sure we're at project root
        chdir_dmd()

        if not os.path.exists(options.get('file')):
            logger.error("GeoJSON file does not exit.")
            return False

        with open(options.get('file'), 'r') as f:
            gjson = json.load(f)

        rdc = Entity.get_root()

        for feature in gjson['features']:
            dps_name = feature['properties'].get('NOM_DPS')
            if dps_name:
                name = dps_name
                logger.debug(name)
                entity = Entity.objects.get(name=name)
            else:
                zs_name = feature['properties'].get('NAME')
                dps_name = feature['properties'].get('DPS')

                logger.debug("dps: {d} - zs: {z}"
                             .format(d=dps_name, z=zs_name))

                parent = Entity.find_by_stdname(parent=rdc, std_name=dps_name)
                logger.debug("\tparent: {p}".format(p=parent))
                assert parent is not None

                entity, children = Entity.lookup_at(parent=parent,
                                                    name=zs_name.upper())

            assert entity is not None
            logger.info(entity)

            entity.geometry = json.dumps(feature['geometry'])
            entity.save()

        logger.info("done.")
예제 #3
0
    def handle(self, *args, **options):

        # make sure we're at project root
        chdir_dmd()

        if not os.path.exists(options.get('file')):
            logger.error("GeoJSON file does not exit.")
            return False

        with open(options.get('file'), 'r') as f:
            gjson = json.load(f)

        rdc = Entity.get_root()

        for feature in gjson['features']:
            dps_name = feature['properties'].get('NOM_DPS')
            if dps_name:
                name = dps_name
                logger.debug(name)
                entity = Entity.objects.get(name=name)
            else:
                zs_name = feature['properties'].get('NAME')
                dps_name = feature['properties'].get('DPS')

                logger.debug("dps: {d} - zs: {z}".format(d=dps_name,
                                                         z=zs_name))

                parent = Entity.find_by_stdname(parent=rdc, std_name=dps_name)
                logger.debug("\tparent: {p}".format(p=parent))
                assert parent is not None

                entity, children = Entity.lookup_at(parent=parent,
                                                    name=zs_name.upper())

            assert entity is not None
            logger.info(entity)

            entity.geometry = json.dumps(feature['geometry'])
            entity.save()

        logger.info("done.")
예제 #4
0
    def handle(self, *args, **options):

        # make sure we're at project root
        chdir_dmd()

        dps_name = options.get('dps')
        if not dps_name:
            logger.error("Unable to match DPS with name `{}`"
                         .format(dps_name))
            return 1

        rdc = Entity.get_root()
        dps = Entity.lookup_at(parent=rdc, name=dps_name)[0]
        if dps is None:
            logger.error("Unable to match DPS with name `{}`"
                         .format(dps_name))
            return 1

        logger.info("Generating XLS dataentry tool for `{}`"
                    .format(dps_name))

        generate_dataentry_for(dps, 'dataentry.xlsx')