<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def deploy_directory(directory, auth=None):
 """Deploy all files in a given directory. :param str directory: the path to a directory :param tuple[str] auth: A pair of (str username, str password) to give to the auth keyword of the constructor of :class:`artifactory.ArtifactoryPath`. Defaults to the result of :func:`get_arty_auth`. """

    for file in os.listdir(directory):
        full_path = os.path.join(directory, file)

        if file.endswith(BELANNO_EXTENSION):
            name = file[:-len(BELANNO_EXTENSION)]
            log.info('deploying annotation %s', full_path)
            deploy_annotation(full_path, name, auth=auth)

        elif file.endswith(BELNS_EXTENSION):
            name = file[:-len(BELNS_EXTENSION)]
            log.info('deploying namespace %s', full_path)
            deploy_namespace(full_path, name, auth=auth)

        elif file.endswith(BEL_EXTENSION):
            name = file[:-len(BEL_EXTENSION)]
            log.info('deploying knowledge %s', full_path)
            deploy_knowledge(full_path, name, auth=auth)

        else:
            log.debug('not deploying %s', full_path)