Esempio n. 1
0
    def get_archive_directory(self):
        archive_directory = os.path.join(
            self["file_info"].getProperty("archive_base_directory"),
            self["file_info"].getProperty("archive_folder"),
        )

        archive_directory = PathTemplate.get_archive_directory()

        return archive_directory
Esempio n. 2
0
    def set_base_data_directories(
        self,
        base_directory,
        base_process_directory,
        base_archive_directory,
        raw_folder="RAW_DATA",
        process_folder="PROCESSED_DATA",
        archive_folder="ARCHIVE",
    ):

        self.base_directory = base_directory
        self.base_process_directory = base_process_directory
        self.base_archive_directory = base_archive_directory

        self.raw_data_folder_name = raw_folder
        self.processed_data_folder_name = process_folder

        if self.base_directory is not None:
            PathTemplate.set_data_base_path(self.base_directory)

        if self.base_archive_directory is not None:
            PathTemplate.set_archive_path(self.base_archive_directory,
                                          archive_folder)
Esempio n. 3
0
 def get_archive_directory(self, directory):
     pt = PathTemplate()
     pt.directory = directory
     return pt.get_archive_directory()
Esempio n. 4
0
    def init(self):
        self.synchrotron_name = self.getProperty("synchrotron_name")
        self.beamline_name = self.getProperty("beamline_name")
        self.endstation_name = self.getProperty("endstation_name").lower()

        self.suffix = self["file_info"].getProperty("file_suffix")
        self.template = self["file_info"].getProperty("file_template")

        base_directory = self["file_info"].getProperty("base_directory")

        base_process_directory = self["file_info"].getProperty(
            "processed_data_base_directory")

        base_archive_directory = self["file_info"].getProperty(
            "archive_base_directory")

        folder_name = self["file_info"].getProperty("raw_data_folder_name")
        if folder_name and folder_name.strip():
            self.raw_data_folder_name = folder_name

        folder_name = self["file_info"].getProperty(
            "processed_data_folder_name")
        if folder_name and folder_name.strip():
            self.processed_data_folder_name = folder_name

        archive_folder = self["file_info"].getProperty("archive_folder")
        if archive_folder:
            archive_folder = archive_folder.strip()
        if not archive_folder:
            archive_folder = default_archive_folder
        try:
            inhouse_proposals = self["inhouse_users"]["proposal"]
            for prop in inhouse_proposals:
                self.in_house_users.append((prop.getProperty("code"),
                                            str(prop.getProperty("number"))))
        except KeyError:
            pass

        email_extension = self.getProperty("email_extension")
        if email_extension:
            self.email_extension = email_extension
        else:
            try:
                domain = socket.getfqdn().split(".")
                self.email_extension = ".".join((domain[-2], domain[-1]))
            except (TypeError, IndexError):
                pass

        self.set_base_data_directories(
            base_directory,
            base_process_directory,
            base_archive_directory,
            raw_folder=self.raw_data_folder_name,
            process_folder=self.processed_data_folder_name,
            archive_folder=archive_folder,
        )

        try:
            precision = int(self["file_info"].getProperty("precision", ""))
        except ValueError:
            precision = self.default_precision

        PathTemplate.set_precision(precision)
        PathTemplate.set_path_template_style(self.synchrotron_name,
                                             self.template)
 def get_archive_directory(self, directory):
     pt = PathTemplate()
     pt.directory = directory
     return pt.get_archive_directory()