class DirectoryAlreadyExists(Exception):
   def __init__(
      self, 
      path
      ):
      super().__init__(f"Output directory '{path}' already exists, cannot \
overwrite it")


class MissingArgumentException(Exception):
   def __init__(
      self, 
      arg
      ):
      super().__init__(f"Missing argument '--{arg.replace("_", "-")}'")


class DuplicateUniqueId(Exception):
   def __init__(
      self, 
      id
      ):
      super().__init__(f"Duplicate unique id: '{id}'")

      
class DuplicateOutputFile(Exception):
   def __init__(
      self, 
      path
      ):
      super().__init__(f"Two items with the same path and name: '{path}'")

      
class NoRelationshipFound(Exception):
   def __init__(
      self, 
      id
      ):
      super().__init__(f"Couldn't find relationship for id '{id}'")