def pull(self, src: str, dst: typing.Union[str, pathlib.Path], exist_ok: bool = False) -> int:
        """
        Pull file or directory from device:src to local:dst

        Returns:
            total file size pulled
        """
        src_file_info = self.stat(src)
        is_src_file = src_file_info.mode & stat.S_IFREG != 0
        
        if is_src_file:
            return self.pull_file(src, dst)
        else:
            return self.pull_dir(src, dst, exist_ok)

        Pull file or directory from device:src to local:dst

        Returns:
            total file size pulled
        
adbutils/sync.py