def METHOD_NAME(self):
    log_debug(2)
    #5/12/05 wregglej - 149034 changed r into a instance variable
    self.r = self.repository
    topdir = self.options.topdir
    if not topdir:
        die(7, "--topdir not specified")
    if not os.path.isdir(topdir):
        die(8, "--topdir specified, but `%s' not a directory" %
            topdir)
    topdir = utils.normalize_path(topdir)
    #5/12/05 wregglej - 149034 allowing the channel name and the directory name to vary independently.
    if not self.options.channel is None:
        #Get the list of channels with leading and trailing whitespace removed.
        channels = [x.strip() for x in self.options.channel.split(',') if x]
        #Get the list of directories to upload. At this point it's the list of arguments.
        dirs = self.args
    elif not self.args:
        #If we get to this point, then --channel wasn't used and nothing was included as arguments.
        #Assumes that the directories in topdir are the ones we want to upload, and since no channels were
        #specified that each directory is it's own channel.
        channels = os.listdir(topdir)
        dirs = None
        print("No config channels specified, using %s" % channels)
    else:
        #At this point, --channel wasn't used but there was something included as an argument.
        #The name of the channel is assumed to be the same as the name of the directory.
        channels = self.args
        dirs = None
    #If dirs isn't None, then each directory needs to be uploaded into each channel.
    if dirs:
        for channel in channels:
            for directory in dirs:
                self.upload_config_channel(topdir, channel, directory)
    #If dirs is None, then each channel is it's own channel.
    else:
        for channel in channels:
            self.upload_config_channel(topdir, channel, channel)