MCPcopy Create free account
hub / github.com/python-pendulum/pendulum / _get_parsed_value

Method _get_parsed_value

src/pendulum/formatting/formatter.py:554–619  ·  view source on GitHub ↗
(
        self,
        token: str,
        value: str,
        parsed: dict[str, Any],
        now: pendulum.DateTime,
    )

Source from the content-addressed store, hash-verified

552 self._get_parsed_value(token, m.group(index), parsed, now)
553
554 def _get_parsed_value(
555 self,
556 token: str,
557 value: str,
558 parsed: dict[str, Any],
559 now: pendulum.DateTime,
560 ) -> None:
561 parsed_token = self._PARSE_TOKENS[token](value)
562
563 if "Y" in token:
564 if token == "YY":
565 if parsed_token <= 68:
566 parsed_token += 2000
567 else:
568 parsed_token += 1900
569
570 parsed["year"] = parsed_token
571 elif token == "Q":
572 parsed["quarter"] = parsed_token
573 elif token in ["MM", "M"]:
574 parsed["month"] = parsed_token
575 elif token in ["DDDD", "DDD"]:
576 parsed["day_of_year"] = parsed_token
577 elif "D" in token:
578 parsed["day"] = parsed_token
579 elif "H" in token:
580 parsed["hour"] = parsed_token
581 elif token in ["hh", "h"]:
582 if parsed_token > 12:
583 raise ValueError("Invalid date")
584
585 parsed["hour"] = parsed_token
586 elif "m" in token:
587 parsed["minute"] = parsed_token
588 elif "s" in token:
589 parsed["second"] = parsed_token
590 elif "S" in token:
591 parsed["microsecond"] = parsed_token
592 elif token in ["d", "E"]:
593 parsed["day_of_week"] = parsed_token
594 elif token in ["X", "x"]:
595 parsed["timestamp"] = parsed_token
596 elif token in ["ZZ", "Z"]:
597 negative = bool(value.startswith("-"))
598 tz = value[1:]
599 if ":" not in tz:
600 if len(tz) == 2:
601 tz = f"{tz}00"
602
603 off_hour = tz[0:2]
604 off_minute = tz[2:4]
605 else:
606 off_hour, off_minute = tz.split(":")
607
608 offset = ((int(off_hour) * 60) + int(off_minute)) * 60
609
610 if negative:
611 offset = -1 * offset

Callers 1

_get_parsed_valuesMethod · 0.95

Calls 1

timezoneMethod · 0.80

Tested by

no test coverage detected