Esempio n. 1
0
    def __read_file(self, file_path):
        """
        :param file_path: absolute path of the file.
        :return: entity name and value as list inside config file.
        """
        try:
            val = []
            name = []

            with open(file_path, 'r') as f:

                for l in f:
                    l = l.strip()

                    if l != "\n" and l:

                        if l.startswith("#"):
                            continue

                        line = l.split("=")
                        left_side_val = line[0].strip().lower()
                        right_side_val = line[1].strip()
                        name.append(left_side_val)

                        if right_side_val.lower() == 'true':
                            val.append(True)
                        elif right_side_val.lower() == 'false':
                            val.append(False)
                        elif right_side_val.lstrip("+-").isdigit():
                            val.append(int(right_side_val))
                        elif (len(right_side_val.lower())
                              == 0) or (right_side_val.lower() == "n/a"):
                            val.append(None)
                        else:
                            if left_side_val.lower() in [
                                    "gcs_credential_directory_path",
                                    "local_upload_path", "local_download_path",
                                    "local_log_path"
                            ]:
                                ResourceManager.create_dir(right_side_val)
                            val.append(right_side_val)
                f.close()
            return name, val
        except:
            trace_err = StackTrace.get_stack_trace()
            msg = "Config (__read_file()) : %s%s" % ("\n", trace_err)
            raise Exception(msg)