def create_similar(): data = request.json if not data.get('recurrence'): return jsonify(error='missing recurrence') if 'id' in data: id = ObjectId(data['id']) type = data.get('type') search = _get_object_search(id, type) if not search: return jsonify(error='%s %s does not exist' % (type, id)) similar = { 'name': search['name'], 'category': search['category'], } else: if not data.get('name'): return jsonify(error='missing name') if not data.get('category'): return jsonify(error='missing category') similar = { 'name': clean(data['name'], 1), 'category': data['category'], } similar['recurrence'] = int(data['recurrence']) similar['langs'] = data.get('langs') or [] if not SimilarSearch.add(**similar): return jsonify(error='failed to create similar %s' % similar) return jsonify(result=True)