def build_sub_images_table_main(filename, reproc): ''' The main controller. ''' assert os.path.splitext(filename)[1] == '.png', \ 'Expected .png got ' + filename path = os.path.split(filename)[0] basename = os.path.basename(filename) master_filename = get_master_filename(basename) master_images_query = session.query(MasterImages).filter(\ MasterImages.name == master_filename).one() sub_images_query = session.query(SubImages).filter(\ SubImages.name == basename).count() image_width, image_height = get_image_size(filename) # Make the input dict record_dict = {} record_dict['master_images_id'] = master_images_query.id record_dict['master_images_name'] = master_images_query.name record_dict['name'] = basename record_dict['file_location'] = path record_dict['image_width'] = image_width record_dict['image_height'] = image_height record_dict['region'] = get_region(filename) if sub_images_query == 0: record = SubImages() insert_record(record_dict, record) elif sub_images_query == 1: sub_images_query = session.query(SubImages).filter(\ SubImages.name == basename).update(record_dict) session.commit() else: pass session.close()