Beispiel #1
0
    def _init_metadata(self):
        if self._sidecar_path is None:
            self._sidecar_path = self.file_path.replace(
                self._extension, ".json")

        if os.path.exists(self._sidecar_path):
            with open(self._sidecar_path) as handle:
                sidecar_data = json.load(handle)

        else:
            sidecar_data = None

        if sidecar_data is not None:
            self._author = sidecar_data.get("author")

            date = sidecar_data.get("date")
            self._date = utils.date_from_string(date)

            description = sidecar_data.get("description")

            if description is not None:
                self._description = description

        # Need to stat file for info.
        else:
            stat_data = os.stat(self.file_path)

            self._author = getpwuid(stat_data.st_uid).pw_name
            self._date = datetime.datetime.fromtimestamp(stat_data.st_mtime)
Beispiel #2
0
    def _init_metadata(self):
        """Initialize data based on the sidecar file.

        :return:

        """
        # No sidecar path so assume the default one.
        if self._sidecar_path is None:
            self._sidecar_path = self.file_path.replace(
                self._extension, ".json")

        # If the file exists, read it.
        if os.path.exists(self._sidecar_path):
            with open(self._sidecar_path) as handle:
                sidecar_data = json.load(handle)

        else:
            sidecar_data = None

        # If data was found then set various properties based on it.
        if sidecar_data is not None:
            self._author = sidecar_data.get("author")

            date = sidecar_data.get("date")
            self._date = utils.date_from_string(date)

            description = sidecar_data.get("description")

            if description is not None:
                self._description = description

        # Need to stat file for info.
        else:
            stat_data = os.stat(self.file_path)

            if getpwuid is not None:
                self._author = getpwuid(stat_data.st_uid).pw_name

            else:
                self._author = "unknown"

            self._date = datetime.datetime.fromtimestamp(stat_data.st_mtime)