def export_as_related(key, data, errors, context): if 'id' in data[('__extras',)]: for value in data[key].split(';'): if value != '': if len(Session.query(Related).filter(Related.title == value).all()) == 0: data_dict = {'title': value, 'type': _("Paper"), 'dataset_id': data[('__extras',)]['id']} related_create(context, data_dict)
def package_show(context, data_dict): pkg_dict1 = ckan.logic.action.get.package_show(context, data_dict) pkg = Package.get(pkg_dict1['id']) if 'erelated' in pkg.extras: erelated = pkg.extras['erelated'] if len(erelated): for value in erelated.split(';'): if len(Session.query(Related).filter(Related.title == value).all()) == 0: data_dict = {'title': value, 'type': _("Paper"), 'dataset_id': pkg.id} related_create(context, data_dict) for key in pkg.extras.keys(): if TITLE_MATCH.match(key): repo.new_revision() pkg.title = pkg.extras[key] pkg_dict1['title'] = pkg.extras[key] pkg.save() break return pkg_dict1