Creating slack local libraries

def slack(self):
        """Creating slack local libraries
        """
        log = self.log_path + "slack/"
        lib = self.lib_path + "slack_repo/"
        repo_name = log[:-1].split("/")[-1]
        lib_file = "PACKAGES.TXT"
        # lst_file = ""
        md5_file = "CHECKSUMS.md5"
        log_file = "ChangeLog.txt"
        if not os.path.exists(log):
            os.mkdir(log)
        if not os.path.exists(lib):
            os.mkdir(lib)
        dirs = ["core/", "extra/", "pasture/", "patches/"]
        for d in dirs:
            if not os.path.exists(lib + d):
                os.mkdir(lib + d)
        PACKAGES_TXT = mirrors(lib_file, "")
        FILELIST_TXT = ""
        CHECKSUMS_MD5 = mirrors(md5_file, "")
        self.EXTRA = mirrors(lib_file, dirs[1])
        self.EXT_CHECKSUMS = mirrors(md5_file, dirs[1])
        self.PASTURE = mirrors(lib_file, dirs[2])
        self.PAS_CHECKSUMS = mirrors(md5_file, dirs[2])
        self.PATCHES = mirrors(lib_file, dirs[3])
        self.PAT_CHECKSUMS = mirrors(md5_file, dirs[3])
        ChangeLog_txt = mirrors(log_file, "")
        if self.check:
            return self.checks_logs(log, ChangeLog_txt)
        self.down(lib + dirs[0], PACKAGES_TXT, repo_name)
        self.down(lib + dirs[0], CHECKSUMS_MD5, repo_name)
        self.down(lib + dirs[1], self.EXTRA, repo_name)
        self.down(lib + dirs[1], self.EXT_CHECKSUMS, repo_name)
        if slack_ver() != "14.0":   # no pasture/ folder for 14.0 version
            self.down(lib + dirs[2], self.PASTURE, repo_name)
            self.down(lib + dirs[2], self.PAS_CHECKSUMS, repo_name)
        self.down(lib + dirs[3], self.PATCHES, repo_name)
        self.down(lib + dirs[3], self.PAT_CHECKSUMS, repo_name)
        self.down(log, ChangeLog_txt, repo_name)
        self.remote(log, ChangeLog_txt, lib, PACKAGES_TXT, CHECKSUMS_MD5,
                    FILELIST_TXT, repo_name)
        self.merge(lib, "PACKAGES.TXT", ["core/PACKAGES.TXT",
                                         "extra/PACKAGES.TXT",
                                         "pasture/PACKAGES.TXT",
                                         "patches/PACKAGES.TXT"])
        self.merge(lib, "CHECKSUMS.md5", ["core/CHECKSUMS.md5",
                                          "extra/CHECKSUMS.md5",
                                          "pasture/CHECKSUMS.md5",
                                          "patches/CHECKSUMS_md5"])