mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
move functions from openpype.lib.config to openpype.lib.dateutils
This commit is contained in:
parent
297aaa6ee1
commit
31a3911d4e
6 changed files with 134 additions and 79 deletions
|
|
@ -83,8 +83,9 @@ from .anatomy import (
|
|||
Anatomy
|
||||
)
|
||||
|
||||
from .config import (
|
||||
from .dateutils import (
|
||||
get_datetime_data,
|
||||
get_timestamp,
|
||||
get_formatted_current_time
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,82 +1,41 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Get configuration data."""
|
||||
import datetime
|
||||
import warnings
|
||||
import functools
|
||||
|
||||
|
||||
def get_datetime_data(datetime_obj=None):
|
||||
"""Returns current datetime data as dictionary.
|
||||
class ConfigDeprecatedWarning(DeprecationWarning):
|
||||
pass
|
||||
|
||||
Args:
|
||||
datetime_obj (datetime): Specific datetime object
|
||||
|
||||
Returns:
|
||||
dict: prepared date & time data
|
||||
def deprecated(func):
|
||||
"""Mark functions as deprecated.
|
||||
|
||||
Available keys:
|
||||
"d" - <Day of month number> in shortest possible way.
|
||||
"dd" - <Day of month number> with 2 digits.
|
||||
"ddd" - <Week day name> shortened week day. e.g.: `Mon`, ...
|
||||
"dddd" - <Week day name> full name of week day. e.g.: `Monday`, ...
|
||||
"m" - <Month number> in shortest possible way. e.g.: `1` if January
|
||||
"mm" - <Month number> with 2 digits.
|
||||
"mmm" - <Month name> shortened month name. e.g.: `Jan`, ...
|
||||
"mmmm" - <Month name> full month name. e.g.: `January`, ...
|
||||
"yy" - <Year number> shortened year. e.g.: `19`, `20`, ...
|
||||
"yyyy" - <Year number> full year. e.g.: `2019`, `2020`, ...
|
||||
"H" - <Hours number 24-hour> shortened hours.
|
||||
"HH" - <Hours number 24-hour> with 2 digits.
|
||||
"h" - <Hours number 12-hour> shortened hours.
|
||||
"hh" - <Hours number 12-hour> with 2 digits.
|
||||
"ht" - <Midday type> AM or PM.
|
||||
"M" - <Minutes number> shortened minutes.
|
||||
"MM" - <Minutes number> with 2 digits.
|
||||
"S" - <Seconds number> shortened seconds.
|
||||
"SS" - <Seconds number> with 2 digits.
|
||||
It will result in a warning being emitted when the function is used.
|
||||
"""
|
||||
|
||||
if not datetime_obj:
|
||||
datetime_obj = datetime.datetime.now()
|
||||
|
||||
year = datetime_obj.strftime("%Y")
|
||||
|
||||
month = datetime_obj.strftime("%m")
|
||||
month_name_full = datetime_obj.strftime("%B")
|
||||
month_name_short = datetime_obj.strftime("%b")
|
||||
day = datetime_obj.strftime("%d")
|
||||
|
||||
weekday_full = datetime_obj.strftime("%A")
|
||||
weekday_short = datetime_obj.strftime("%a")
|
||||
|
||||
hours = datetime_obj.strftime("%H")
|
||||
hours_midday = datetime_obj.strftime("%I")
|
||||
hour_midday_type = datetime_obj.strftime("%p")
|
||||
minutes = datetime_obj.strftime("%M")
|
||||
seconds = datetime_obj.strftime("%S")
|
||||
|
||||
return {
|
||||
"d": str(int(day)),
|
||||
"dd": str(day),
|
||||
"ddd": weekday_short,
|
||||
"dddd": weekday_full,
|
||||
"m": str(int(month)),
|
||||
"mm": str(month),
|
||||
"mmm": month_name_short,
|
||||
"mmmm": month_name_full,
|
||||
"yy": str(year[2:]),
|
||||
"yyyy": str(year),
|
||||
"H": str(int(hours)),
|
||||
"HH": str(hours),
|
||||
"h": str(int(hours_midday)),
|
||||
"hh": str(hours_midday),
|
||||
"ht": hour_midday_type,
|
||||
"M": str(int(minutes)),
|
||||
"MM": str(minutes),
|
||||
"S": str(int(seconds)),
|
||||
"SS": str(seconds),
|
||||
}
|
||||
@functools.wraps(func)
|
||||
def new_func(*args, **kwargs):
|
||||
warnings.simplefilter("always", ConfigDeprecatedWarning)
|
||||
warnings.warn(
|
||||
(
|
||||
"Deprecated import of function '{}'."
|
||||
" Class was moved to 'openpype.lib.dateutils.{}'."
|
||||
" Please change your imports."
|
||||
).format(func.__name__),
|
||||
category=ConfigDeprecatedWarning
|
||||
)
|
||||
return func(*args, **kwargs)
|
||||
return new_func
|
||||
|
||||
|
||||
@deprecated
|
||||
def get_datetime_data(datetime_obj=None):
|
||||
from .dateutils import get_datetime_data
|
||||
|
||||
return get_datetime_data(datetime_obj)
|
||||
|
||||
|
||||
@deprecated
|
||||
def get_formatted_current_time():
|
||||
return datetime.datetime.now().strftime(
|
||||
"%Y%m%dT%H%M%SZ"
|
||||
)
|
||||
from .dateutils import get_formatted_current_time
|
||||
|
||||
return get_formatted_current_time()
|
||||
|
|
|
|||
95
openpype/lib/dateutils.py
Normal file
95
openpype/lib/dateutils.py
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""Get configuration data."""
|
||||
import datetime
|
||||
|
||||
|
||||
def get_datetime_data(datetime_obj=None):
|
||||
"""Returns current datetime data as dictionary.
|
||||
|
||||
Args:
|
||||
datetime_obj (datetime): Specific datetime object
|
||||
|
||||
Returns:
|
||||
dict: prepared date & time data
|
||||
|
||||
Available keys:
|
||||
"d" - <Day of month number> in shortest possible way.
|
||||
"dd" - <Day of month number> with 2 digits.
|
||||
"ddd" - <Week day name> shortened week day. e.g.: `Mon`, ...
|
||||
"dddd" - <Week day name> full name of week day. e.g.: `Monday`, ...
|
||||
"m" - <Month number> in shortest possible way. e.g.: `1` if January
|
||||
"mm" - <Month number> with 2 digits.
|
||||
"mmm" - <Month name> shortened month name. e.g.: `Jan`, ...
|
||||
"mmmm" - <Month name> full month name. e.g.: `January`, ...
|
||||
"yy" - <Year number> shortened year. e.g.: `19`, `20`, ...
|
||||
"yyyy" - <Year number> full year. e.g.: `2019`, `2020`, ...
|
||||
"H" - <Hours number 24-hour> shortened hours.
|
||||
"HH" - <Hours number 24-hour> with 2 digits.
|
||||
"h" - <Hours number 12-hour> shortened hours.
|
||||
"hh" - <Hours number 12-hour> with 2 digits.
|
||||
"ht" - <Midday type> AM or PM.
|
||||
"M" - <Minutes number> shortened minutes.
|
||||
"MM" - <Minutes number> with 2 digits.
|
||||
"S" - <Seconds number> shortened seconds.
|
||||
"SS" - <Seconds number> with 2 digits.
|
||||
"""
|
||||
|
||||
if not datetime_obj:
|
||||
datetime_obj = datetime.datetime.now()
|
||||
|
||||
year = datetime_obj.strftime("%Y")
|
||||
|
||||
month = datetime_obj.strftime("%m")
|
||||
month_name_full = datetime_obj.strftime("%B")
|
||||
month_name_short = datetime_obj.strftime("%b")
|
||||
day = datetime_obj.strftime("%d")
|
||||
|
||||
weekday_full = datetime_obj.strftime("%A")
|
||||
weekday_short = datetime_obj.strftime("%a")
|
||||
|
||||
hours = datetime_obj.strftime("%H")
|
||||
hours_midday = datetime_obj.strftime("%I")
|
||||
hour_midday_type = datetime_obj.strftime("%p")
|
||||
minutes = datetime_obj.strftime("%M")
|
||||
seconds = datetime_obj.strftime("%S")
|
||||
|
||||
return {
|
||||
"d": str(int(day)),
|
||||
"dd": str(day),
|
||||
"ddd": weekday_short,
|
||||
"dddd": weekday_full,
|
||||
"m": str(int(month)),
|
||||
"mm": str(month),
|
||||
"mmm": month_name_short,
|
||||
"mmmm": month_name_full,
|
||||
"yy": str(year[2:]),
|
||||
"yyyy": str(year),
|
||||
"H": str(int(hours)),
|
||||
"HH": str(hours),
|
||||
"h": str(int(hours_midday)),
|
||||
"hh": str(hours_midday),
|
||||
"ht": hour_midday_type,
|
||||
"M": str(int(minutes)),
|
||||
"MM": str(minutes),
|
||||
"S": str(int(seconds)),
|
||||
"SS": str(seconds),
|
||||
}
|
||||
|
||||
|
||||
def get_timestamp(datetime_obj=None):
|
||||
"""Get standardized timestamp from datetime object.
|
||||
|
||||
Args:
|
||||
datetime_obj (datetime.datetime): Object of datetime. Current time
|
||||
is used if not passed.
|
||||
"""
|
||||
|
||||
if datetime_obj is None:
|
||||
datetime_obj = datetime.datetime.now()
|
||||
return datetime_obj.strftime(
|
||||
"%Y%m%dT%H%M%SZ"
|
||||
)
|
||||
|
||||
|
||||
def get_formatted_current_time():
|
||||
return get_timestamp()
|
||||
|
|
@ -16,7 +16,7 @@ from openpype_modules.ftrack.lib.avalon_sync import CUST_ATTR_ID_KEY
|
|||
from openpype_modules.ftrack.lib.custom_attributes import (
|
||||
query_custom_attributes
|
||||
)
|
||||
from openpype.lib import config
|
||||
from openpype.lib.dateutils import get_datetime_data
|
||||
from openpype.lib.delivery import (
|
||||
path_from_representation,
|
||||
get_format_dict,
|
||||
|
|
@ -555,7 +555,7 @@ class Delivery(BaseAction):
|
|||
|
||||
format_dict = get_format_dict(anatomy, location_path)
|
||||
|
||||
datetime_data = config.get_datetime_data()
|
||||
datetime_data = get_datetime_data()
|
||||
for repre in repres_to_deliver:
|
||||
source_path = repre.get("data", {}).get("path")
|
||||
debug_msg = "Processing representation {}".format(repre["_id"])
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ from collections import defaultdict
|
|||
from Qt import QtWidgets, QtCore, QtGui
|
||||
|
||||
from openpype.client import get_representations
|
||||
from openpype.lib import config
|
||||
from openpype.pipeline import load, Anatomy
|
||||
from openpype import resources, style
|
||||
|
||||
from openpype.lib.dateutils import get_datetime_data
|
||||
from openpype.lib.delivery import (
|
||||
sizeof_fmt,
|
||||
path_from_representation,
|
||||
|
|
@ -160,7 +160,7 @@ class DeliveryOptionsDialog(QtWidgets.QDialog):
|
|||
|
||||
selected_repres = self._get_selected_repres()
|
||||
|
||||
datetime_data = config.get_datetime_data()
|
||||
datetime_data = get_datetime_data()
|
||||
template_name = self.dropdown.currentText()
|
||||
format_dict = get_format_dict(self.anatomy, self.root_line_edit.text())
|
||||
for repre in self._representations:
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ Provides:
|
|||
"""
|
||||
|
||||
import pyblish.api
|
||||
from openpype.api import config
|
||||
from openpype.lib.dateutils import get_datetime_data
|
||||
|
||||
|
||||
class CollectDateTimeData(pyblish.api.ContextPlugin):
|
||||
|
|
@ -15,4 +15,4 @@ class CollectDateTimeData(pyblish.api.ContextPlugin):
|
|||
def process(self, context):
|
||||
key = "datetimeData"
|
||||
if key not in context.data:
|
||||
context.data[key] = config.get_datetime_data()
|
||||
context.data[key] = get_datetime_data()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue