fh_actors = open(outfile_actors, 'w')

    writer_actors = None

    for root, dirs, files in os.walk(datadir):

        for f in files:

            path = os.path.join(root, f)
            logging.info("processing %s" % path)
    
            data = json.load(open(path, 'r'))

            data['ulan:id'] = data['ULAN']['UlanIdNo']
            data['ulan:name'] = data['ULAN']['Name']
            del(data['ULAN'])

            if not writer_actors:

                keys = data.keys()
                keys.sort()

                writer_actors = csv.DictWriter(fh_actors, fieldnames=keys)
                writer_actors.writeheader()

            data = utils.utf8ify_dict(data)
            writer_actors.writerow(data)

    logging.info("done");
            
            del(data['images'])
            del(data['participants'])
            del(data['exhibitions'])

            #

            if not writer_objects:
                keys = data.keys()
                keys.append('primary_image')
                keys.sort()
                writer_objects = csv.DictWriter(fh_objects, fieldnames=keys)
                writer_objects.writeheader()

            try:
                data = utils.utf8ify_dict(data)
                writer_objects.writerow(data)
            except Exception, e:
                print data
                raise Exception, e

            #

            if not writer_images:
                writer_images = csv.DictWriter(fh_images, fieldnames=('object_id', 'size', 'url', 'width', 'height', 'is_primary'))
                writer_images.writeheader()

            for i in images:

                if not type(i) == types.DictType:
                    continue
Esempio n. 3
0
            #

            roles = data.get('roles', [])
            del(data['roles'])

            #

            if not writer_people:

                keys = data.keys()
                keys.sort()

                writer_people = csv.DictWriter(fh_people, fieldnames=keys)
                writer_people.writeheader()

            data = utils.utf8ify_dict(data)
            writer_people.writerow(data)

            #

            if not writer_roles:
                writer_roles = csv.DictWriter(fh_roles, fieldnames=('person_id', 'person_name', 'id', 'name', 'count_objects'))
                writer_roles.writeheader()

            for details in roles:
                details['person_id'] = data['id']
                details['person_name'] = data['name']

                details = utils.utf8ify_dict(details)
                writer_roles.writerow(details)
Esempio n. 4
0
    fh_actors = open(outfile_actors, 'w')

    writer_actors = None

    for root, dirs, files in os.walk(datadir):

        for f in files:

            path = os.path.join(root, f)
            logging.info("processing %s" % path)

            data = json.load(open(path, 'r'))

            data['ulan:id'] = data['ULAN']['UlanIdNo']
            data['ulan:name'] = data['ULAN']['Name']
            del (data['ULAN'])

            if not writer_actors:

                keys = data.keys()
                keys.sort()

                writer_actors = csv.DictWriter(fh_actors, fieldnames=keys)
                writer_actors.writeheader()

            data = utils.utf8ify_dict(data)
            writer_actors.writerow(data)

    logging.info("done")