# Path: ddsc/exceptions.py
# class DDSUserException(Exception):
#     """
#     Exception with an error message to be displayed to the user on the command line.
#     """
#     pass


from ddsc.exceptions import DDSUserException

    def get_projects(self):
        return self._placeholder_projects

    def get_project(self, project_name):
        items = [p for p in self._placeholder_projects if p.name == project_name]
        if not items:
            raise ItemNotFound("Unable to find project named '{}'.".format(project_name))
        return items[0]

    def get_files(self, project):
        return self._placeholder_files.get(project.name, [])

    def get_auth_roles(self):
        return self._auth_roles

    def upload_files(self, project, paths, follow_symlinks, dry_run):
        print("Upload files/folders")
        print("project", project)
        print("paths", paths)
        print("follow_symlinks", follow_symlinks)
        print("dry_run", dry_run)

    def add_user(self, project, netid, auth_role):
        print("Add user")
        print("project", project)
        print("netid", netid)
        print("auth_role", auth_role)

    def remove_user(self, project, netid):

# Path: ddsc/exceptions.py
# class DDSUserException(Exception):
#     """
#     Exception with an error message to be displayed to the user on the command line.
#     """
#     pass


# Path: ddsc/sdk/azure.py
from ddsc.exceptions import DDSUserException


    def get_projects(self):
        return self._placeholder_projects

    def get_project(self, project_name):
        items = [p for p in self._placeholder_projects if p.name == project_name]
        if not items:
            raise ItemNotFound("Unable to find project named '{}'.".format(project_name))
        return items[0]

    def get_files(self, project):
        return self._placeholder_files.get(project.name, [])

    def get_auth_roles(self):
        return self._auth_roles

    def upload_files(self, project, paths, follow_symlinks, dry_run):
        print("Upload files/folders")
        print("project", project)
        print("paths", paths)
        print("follow_symlinks", follow_symlinks)
        print("dry_run", dry_run)

    def add_user(self, project, netid, auth_role):
        print("Add user")
        print("project", project)
        print("netid", netid)
        print("auth_role", auth_role)

    def remove_user(self, project, netid):

        print("Remove User")