# -*- coding: utf-8 -*-
'''
Operations with Rsync.
'''

import salt.utils


def __virtual__():
    '''
    Only if Rsync is available.

    :return:
    '''
    return salt.utils.which('rsync') and 'rsync' or False


def synchronized(name, source, delete=False, force=False, update=False,
                 passwordfile=None, exclude=None, excludefrom=None):
    '''
    Synchronizing directories:

    .. code-block:: yaml

        /opt/user-backups:
          rsync.synchronized:
            - source: /home
    '''
    ret = {'name': name, 'changes': {}, 'result': True, 'comment': ''}
    result = __salt__['rsync.rsync'](source, name, delete=delete, force=force, update=update,
                                     passwordfile=passwordfile, exclude=exclude, excludefrom=excludefrom)

    return ret

# -*- coding: utf-8 -*-
#
# Copyright 2015 SUSE LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
'''
Operations with Rsync.
'''

import salt.utils


def __virtual__():
    '''
    Only if Rsync is available.

    :return:
    '''
    return salt.utils.which('rsync') and 'rsync' or False


def synchronized(name, source, delete=False, force=False, update=False,
                 passwordfile=None, exclude=None, excludefrom=None):
    '''
    Synchronizing directories:

    .. code-block:: yaml

        /opt/user-backups:
          rsync.synchronized:
            - source: /home
    '''
    ret = {'name': name, 'changes': {}, 'result': True, 'comment': ''}
    result = __salt__['rsync.rsync'](source, name, delete=delete, force=force, update=update,
                                     passwordfile=passwordfile, exclude=exclude, excludefrom=excludefrom)

    return ret

Add license and SUSE copyright