How to use the osxphotos.datetime_formatter.DateTimeFormatter function in osxphotos

To help you get started, we’ve selected a few osxphotos examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github RhetTbull / osxphotos / osxphotos / phototemplate.py View on Github external
if field == "created.sec":
            return DateTimeFormatter(self.photo.date).sec

        if field == "created.strftime":
            if default:
                try:
                    return self.photo.date.strftime(default)
                except:
                    raise ValueError(f"Invalid strftime template: '{default}'")
            else:
                return None

        if field == "modified.date":
            return (
                DateTimeFormatter(self.photo.date_modified).date
                if self.photo.date_modified
                else None
            )

        if field == "modified.year":
            return (
                DateTimeFormatter(self.photo.date_modified).year
                if self.photo.date_modified
                else None
            )

        if field == "modified.yy":
            return (
                DateTimeFormatter(self.photo.date_modified).yy
                if self.photo.date_modified
                else None
github RhetTbull / osxphotos / osxphotos / phototemplate.py View on Github external
return self.photo.title

        if field == "descr":
            return self.photo.description

        if field == "created.date":
            return DateTimeFormatter(self.photo.date).date

        if field == "created.year":
            return DateTimeFormatter(self.photo.date).year

        if field == "created.yy":
            return DateTimeFormatter(self.photo.date).yy

        if field == "created.mm":
            return DateTimeFormatter(self.photo.date).mm

        if field == "created.month":
            return DateTimeFormatter(self.photo.date).month

        if field == "created.mon":
            return DateTimeFormatter(self.photo.date).mon

        if field == "created.dd":
            return DateTimeFormatter(self.photo.date).dd

        if field == "created.dow":
            return DateTimeFormatter(self.photo.date).dow

        if field == "created.doy":
            return DateTimeFormatter(self.photo.date).doy
github RhetTbull / osxphotos / osxphotos / phototemplate.py View on Github external
#         except:
        #             raise ValueError(f"Invalid strftime template: '{default}'")
        #     else:
        #         return None

        if field == "today.date":
            return DateTimeFormatter(self.today).date

        if field == "today.year":
            return DateTimeFormatter(self.today).year

        if field == "today.yy":
            return DateTimeFormatter(self.today).yy

        if field == "today.mm":
            return DateTimeFormatter(self.today).mm

        if field == "today.month":
            return DateTimeFormatter(self.today).month

        if field == "today.mon":
            return DateTimeFormatter(self.today).mon

        if field == "today.dd":
            return DateTimeFormatter(self.today).dd

        if field == "today.dow":
            return DateTimeFormatter(self.today).dow

        if field == "today.doy":
            return DateTimeFormatter(self.today).doy
github RhetTbull / osxphotos / osxphotos / __main__.py View on Github external
Args:
        photo: a PhotoInstance object
        directory: a PhotoTemplate template string, may be None
        export_by_date: boolean; if True, creates output directories in form YYYY-MM-DD
        dest: top-level destination directory
        dry_run: boolean; if True, runs in dry-run mode and does not create output directories

    Returns:
        list of export directories

    Raises:
        click.BadOptionUsage if template is invalid
    """

    if export_by_date:
        date_created = DateTimeFormatter(photo.date)
        dest_path = os.path.join(
            dest, date_created.year, date_created.mm, date_created.dd
        )
        if not (dry_run or os.path.isdir(dest_path)):
            os.makedirs(dest_path)
        dest_paths = [dest_path]
    elif directory:
        # got a directory template, render it and check results are valid
        dirnames, unmatched = photo.render_template(directory)
        if not dirnames:
            raise click.BadOptionUsage(
                "directory",
                f"Invalid template '{directory}': results={dirnames} unmatched={unmatched}",
            )
        elif unmatched:
            raise click.BadOptionUsage(
github RhetTbull / osxphotos / osxphotos / phototemplate.py View on Github external
return DateTimeFormatter(self.today).year

        if field == "today.yy":
            return DateTimeFormatter(self.today).yy

        if field == "today.mm":
            return DateTimeFormatter(self.today).mm

        if field == "today.month":
            return DateTimeFormatter(self.today).month

        if field == "today.mon":
            return DateTimeFormatter(self.today).mon

        if field == "today.dd":
            return DateTimeFormatter(self.today).dd

        if field == "today.dow":
            return DateTimeFormatter(self.today).dow

        if field == "today.doy":
            return DateTimeFormatter(self.today).doy

        if field == "today.hour":
            return DateTimeFormatter(self.today).hour

        if field == "today.min":
            return DateTimeFormatter(self.today).min

        if field == "today.sec":
            return DateTimeFormatter(self.today).sec
github RhetTbull / osxphotos / osxphotos / phototemplate.py View on Github external
return (
                DateTimeFormatter(self.photo.date_modified).year
                if self.photo.date_modified
                else None
            )

        if field == "modified.yy":
            return (
                DateTimeFormatter(self.photo.date_modified).yy
                if self.photo.date_modified
                else None
            )

        if field == "modified.mm":
            return (
                DateTimeFormatter(self.photo.date_modified).mm
                if self.photo.date_modified
                else None
            )

        if field == "modified.month":
            return (
                DateTimeFormatter(self.photo.date_modified).month
                if self.photo.date_modified
                else None
            )

        if field == "modified.mon":
            return (
                DateTimeFormatter(self.photo.date_modified).mon
                if self.photo.date_modified
                else None
github RhetTbull / osxphotos / osxphotos / phototemplate.py View on Github external
return DateTimeFormatter(self.photo.date).yy

        if field == "created.mm":
            return DateTimeFormatter(self.photo.date).mm

        if field == "created.month":
            return DateTimeFormatter(self.photo.date).month

        if field == "created.mon":
            return DateTimeFormatter(self.photo.date).mon

        if field == "created.dd":
            return DateTimeFormatter(self.photo.date).dd

        if field == "created.dow":
            return DateTimeFormatter(self.photo.date).dow

        if field == "created.doy":
            return DateTimeFormatter(self.photo.date).doy

        if field == "created.hour":
            return DateTimeFormatter(self.photo.date).hour

        if field == "created.min":
            return DateTimeFormatter(self.photo.date).min

        if field == "created.sec":
            return DateTimeFormatter(self.photo.date).sec

        if field == "created.strftime":
            if default:
                try:
github RhetTbull / osxphotos / osxphotos / phototemplate.py View on Github external
return (
                DateTimeFormatter(self.photo.date_modified).dd
                if self.photo.date_modified
                else None
            )

        if field == "modified.doy":
            return (
                DateTimeFormatter(self.photo.date_modified).doy
                if self.photo.date_modified
                else None
            )

        if field == "modified.hour":
            return (
                DateTimeFormatter(self.photo.date_modified).hour
                if self.photo.date_modified
                else None
            )

        if field == "modified.min":
            return (
                DateTimeFormatter(self.photo.date_modified).min
                if self.photo.date_modified
                else None
            )

        if field == "modified.sec":
            return (
                DateTimeFormatter(self.photo.date_modified).sec
                if self.photo.date_modified
                else None
github RhetTbull / osxphotos / osxphotos / phototemplate.py View on Github external
return (
                DateTimeFormatter(self.photo.date_modified).doy
                if self.photo.date_modified
                else None
            )

        if field == "modified.hour":
            return (
                DateTimeFormatter(self.photo.date_modified).hour
                if self.photo.date_modified
                else None
            )

        if field == "modified.min":
            return (
                DateTimeFormatter(self.photo.date_modified).min
                if self.photo.date_modified
                else None
            )

        if field == "modified.sec":
            return (
                DateTimeFormatter(self.photo.date_modified).sec
                if self.photo.date_modified
                else None
            )

        # TODO: disabling modified.strftime for now because now clean way to pass
        # a default value if modified time is None
        # if field == "modified.strftime":
        #     if default and self.photo.date_modified:
        #         try:
github RhetTbull / osxphotos / osxphotos / phototemplate.py View on Github external
else None
            )

        # TODO: disabling modified.strftime for now because now clean way to pass
        # a default value if modified time is None
        # if field == "modified.strftime":
        #     if default and self.photo.date_modified:
        #         try:
        #             return self.photo.date_modified.strftime(default)
        #         except:
        #             raise ValueError(f"Invalid strftime template: '{default}'")
        #     else:
        #         return None

        if field == "today.date":
            return DateTimeFormatter(self.today).date

        if field == "today.year":
            return DateTimeFormatter(self.today).year

        if field == "today.yy":
            return DateTimeFormatter(self.today).yy

        if field == "today.mm":
            return DateTimeFormatter(self.today).mm

        if field == "today.month":
            return DateTimeFormatter(self.today).month

        if field == "today.mon":
            return DateTimeFormatter(self.today).mon