Exemplo n.º 1
0
def share_media():
    data = request.json
    if not data.get('id'):
        return jsonify(error='missing id')
    id = ObjectId(data['id'])
    media = Media.get(id)
    if not media:
        return jsonify(error='media %s not found' % id)
    user = data.get('user')
    if not user:
        return jsonify(error='user %s not found' % user)
    parameters = {
        'id': id,
        'path': data.get('path'),
        }
    if not Sync.add(user=ObjectId(user),
            category=media['info']['subtype'],
            parameters=parameters):
        return jsonify(error='failed to create sync')

    return jsonify(result=True)
Exemplo n.º 2
0
        'parameters': {
            'genre_incl': params.get('genre_incl') or [],
            'genre_excl': params.get('genre_excl') or [],
            'count_max': int(count_max) if count_max else None,
            'size_max': int(size_max) if size_max else None,
            },
        }

@app.route('/sync/create', methods=['POST', 'OPTIONS'])
@crossdomain(origin='*')
def create_sync():
    try:
        sync = _get_sync(request.json)
    except SyncError, e:
        return jsonify(error=str(e))
    if not Sync.add(**sync):
        return jsonify(error='failed to create sync')
    return jsonify(result=True)

def _get_user(user):
    return {
        'id': user['_id'],
        'name': user['name'],
        'paths': user.get('paths', {}),
        }

@app.route('/sync/list', methods=['GET', 'OPTIONS'])
@crossdomain(origin='*')
def list_syncs():
    now = datetime.utcnow()
    sync_recurrence = timedelta(minutes=Settings.get_settings('sync')['recurrence'])