Push (synchronize) some data onto the phablet device

        :param src:
            source file or directory
        :param dest:
            destination file or directory
        :param timeout:
            a timeout (in seconds) for device discovery
        :param key:
            a path to a public ssh key to use for connection
        :returns:
            the exit code of the command

def push(self, src, dest, timeout=None, key=None):
        """
        Push (synchronize) some data onto the phablet device

        :param src:
            source file or directory
        :param dest:
            destination file or directory
        :param timeout:
            a timeout (in seconds) for device discovery
        :param key:
            a path to a public ssh key to use for connection
        :returns:
            the exit code of the command
        """
        self.connect(timeout, key)
        _logger.info("Pushing %r to %r", src, dest)
        return self._check_call(
            self.rsync_cmdline(src, dest, '-a'))