From d1726215dfc5905812c8786710b9831c457a623f Mon Sep 17 00:00:00 2001 From: Giovanni <5774411+giovannicoppola@users.noreply.github.com> Date: Fri, 24 Jun 2022 06:56:01 -0400 Subject: [PATCH 01/15] version 4.0 migration to Python 3 --- .gitignore | 4 + arrow/__init__.py | 8 - arrow/api.py | 55 - arrow/arrow.py | 912 ------ arrow/factory.py | 254 -- arrow/formatter.py | 105 - arrow/locales.py | 1789 ----------- arrow/parser.py | 331 -- arrow/util.py | 45 - date_format_mappings.pyc | Bin 5270 -> 0 bytes dateutil/__init__.py | 9 - dateutil/__init__.pyc | Bin 549 -> 0 bytes dateutil/easter.py | 92 - dateutil/parser.py | 886 ------ dateutil/relativedelta.py | 432 --- dateutil/relativedelta.pyc | Bin 16484 -> 0 bytes dateutil/rrule.py | 1097 ------- dateutil/tz.py | 951 ------ dateutil/tzwin.py | 180 -- dateutil/zoneinfo/__init__.py | 87 - dateutil/zoneinfo/zoneinfo-2010g.tar.gz | Bin 171995 -> 0 bytes humanfriendly.pyc | Bin 16916 -> 0 bytes parsedatetime/__init__.py | 2787 ----------------- parsedatetime/context.py | 187 -- parsedatetime/parsedatetime.py | 2 - parsedatetime/pdt_locales/__init__.py | 30 - parsedatetime/pdt_locales/base.py | 199 -- parsedatetime/pdt_locales/de_DE.py | 118 - parsedatetime/pdt_locales/en_AU.py | 19 - parsedatetime/pdt_locales/en_US.py | 7 - parsedatetime/pdt_locales/es.py | 46 - parsedatetime/pdt_locales/fr_FR.py | 248 -- parsedatetime/pdt_locales/icu.py | 149 - parsedatetime/pdt_locales/nl_NL.py | 114 - parsedatetime/pdt_locales/pt_BR.py | 48 - parsedatetime/pdt_locales/ru_RU.py | 164 - parsedatetime/warns.py | 26 - pyparsing.pyc | Bin 197280 -> 0 bytes pypeg2/__init__.py | 1474 --------- pypeg2/test/__init__.py | 0 pypeg2/test/test_pypeg2.py | 377 --- pypeg2/test/test_xmlast.py | 110 - pypeg2/xmlast.py | 210 -- .../82367634-DAB1-4D69-BC58-77B4F9322402.png | Bin .../B222BD5C-5A0E-4EC1-9D9E-E308621BC7C8.png | Bin .../anniversary_list.py | 0 date_calculator.py => src/date_calculator.py | 8 +- .../date_format_list.py | 0 .../date_format_mappings.py | 0 date_formatters.py => src/date_formatters.py | 0 date_functions.py => src/date_functions.py | 80 +- date_parser.py => src/date_parser.py | 0 .../date_time_format_list.py | 3 +- humanfriendly.py => src/humanfriendly.py | 0 icon.png => src/icon.png | Bin info.plist => src/info.plist | 188 +- isoweek.py => src/isoweek.py | 0 macros_parser.py => src/macros_parser.py | 0 src/packal/muppet.gate.net.DateCalculator.pub | 9 + src/packal/package.xml | 8 + src/requirements.txt | 5 + set_anniversary.py => src/set_anniversary.py | 0 set_date_format.py => src/set_date_format.py | 0 .../set_date_time_format.py | 0 set_time_format.py => src/set_time_format.py | 0 .../show_date_format.py | 0 .../show_time_format.py | 0 .../time_format_list.py | 0 utils.py => src/utils.py | 1 - versioning.py => src/versioning.py | 0 .../workflow}/.alfredversionchecked | 0 {workflow => src/workflow}/Notify.tgz | Bin src/workflow/__init__.py | 104 + {workflow => src/workflow}/background.py | 92 +- {workflow => src/workflow}/notify.py | 177 +- src/workflow/update.py | 581 ++++ src/workflow/util.py | 647 ++++ src/workflow/version | 1 + {workflow => src/workflow}/web.py | 162 +- {workflow => src/workflow}/workflow.py | 1646 +++++----- {workflow => src/workflow}/workflow3.py | 271 +- utils.pyc | Bin 4820 -> 0 bytes workflow/__init__.py | 108 - workflow/__init__.pyc | Bin 4893 -> 0 bytes workflow/update.py | 426 --- workflow/version | 1 - workflow/workflow.pyc | Bin 74847 -> 0 bytes 87 files changed, 2664 insertions(+), 15406 deletions(-) delete mode 100644 arrow/__init__.py delete mode 100644 arrow/api.py delete mode 100644 arrow/arrow.py delete mode 100644 arrow/factory.py delete mode 100644 arrow/formatter.py delete mode 100644 arrow/locales.py delete mode 100644 arrow/parser.py delete mode 100644 arrow/util.py delete mode 100644 date_format_mappings.pyc delete mode 100644 dateutil/__init__.py delete mode 100644 dateutil/__init__.pyc delete mode 100644 dateutil/easter.py delete mode 100644 dateutil/parser.py delete mode 100644 dateutil/relativedelta.py delete mode 100644 dateutil/relativedelta.pyc delete mode 100644 dateutil/rrule.py delete mode 100644 dateutil/tz.py delete mode 100644 dateutil/tzwin.py delete mode 100644 dateutil/zoneinfo/__init__.py delete mode 100644 dateutil/zoneinfo/zoneinfo-2010g.tar.gz delete mode 100644 humanfriendly.pyc delete mode 100755 parsedatetime/__init__.py delete mode 100755 parsedatetime/context.py delete mode 100755 parsedatetime/parsedatetime.py delete mode 100755 parsedatetime/pdt_locales/__init__.py delete mode 100755 parsedatetime/pdt_locales/base.py delete mode 100755 parsedatetime/pdt_locales/de_DE.py delete mode 100755 parsedatetime/pdt_locales/en_AU.py delete mode 100755 parsedatetime/pdt_locales/en_US.py delete mode 100755 parsedatetime/pdt_locales/es.py delete mode 100755 parsedatetime/pdt_locales/fr_FR.py delete mode 100755 parsedatetime/pdt_locales/icu.py delete mode 100755 parsedatetime/pdt_locales/nl_NL.py delete mode 100755 parsedatetime/pdt_locales/pt_BR.py delete mode 100755 parsedatetime/pdt_locales/ru_RU.py delete mode 100755 parsedatetime/warns.py delete mode 100644 pyparsing.pyc delete mode 100644 pypeg2/__init__.py delete mode 100644 pypeg2/test/__init__.py delete mode 100644 pypeg2/test/test_pypeg2.py delete mode 100644 pypeg2/test/test_xmlast.py delete mode 100644 pypeg2/xmlast.py rename 82367634-DAB1-4D69-BC58-77B4F9322402.png => src/82367634-DAB1-4D69-BC58-77B4F9322402.png (100%) rename B222BD5C-5A0E-4EC1-9D9E-E308621BC7C8.png => src/B222BD5C-5A0E-4EC1-9D9E-E308621BC7C8.png (100%) rename anniversary_list.py => src/anniversary_list.py (100%) rename date_calculator.py => src/date_calculator.py (98%) rename date_format_list.py => src/date_format_list.py (100%) rename date_format_mappings.py => src/date_format_mappings.py (100%) rename date_formatters.py => src/date_formatters.py (100%) rename date_functions.py => src/date_functions.py (77%) rename date_parser.py => src/date_parser.py (100%) rename date_time_format_list.py => src/date_time_format_list.py (96%) rename humanfriendly.py => src/humanfriendly.py (100%) rename icon.png => src/icon.png (100%) rename info.plist => src/info.plist (90%) rename isoweek.py => src/isoweek.py (100%) rename macros_parser.py => src/macros_parser.py (100%) create mode 100644 src/packal/muppet.gate.net.DateCalculator.pub create mode 100644 src/packal/package.xml create mode 100755 src/requirements.txt rename set_anniversary.py => src/set_anniversary.py (100%) rename set_date_format.py => src/set_date_format.py (100%) rename set_date_time_format.py => src/set_date_time_format.py (100%) rename set_time_format.py => src/set_time_format.py (100%) rename show_date_format.py => src/show_date_format.py (100%) rename show_time_format.py => src/show_time_format.py (100%) rename time_format_list.py => src/time_format_list.py (100%) rename utils.py => src/utils.py (99%) rename versioning.py => src/versioning.py (100%) rename {workflow => src/workflow}/.alfredversionchecked (100%) rename {workflow => src/workflow}/Notify.tgz (100%) create mode 100644 src/workflow/__init__.py rename {workflow => src/workflow}/background.py (75%) rename {workflow => src/workflow}/notify.py (61%) create mode 100644 src/workflow/update.py create mode 100644 src/workflow/util.py create mode 100644 src/workflow/version rename {workflow => src/workflow}/web.py (80%) rename {workflow => src/workflow}/workflow.py (68%) rename {workflow => src/workflow}/workflow3.py (72%) delete mode 100644 utils.pyc delete mode 100644 workflow/__init__.py delete mode 100644 workflow/__init__.pyc delete mode 100644 workflow/update.py delete mode 100644 workflow/version delete mode 100644 workflow/workflow.pyc diff --git a/.gitignore b/.gitignore index dce8600..6ac18e3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +.DS_Store +*.pyc +__pycache__ + # Created by .ignore support plugin (hsz.mobi) ### Python template # Byte-compiled / optimized / DLL files diff --git a/arrow/__init__.py b/arrow/__init__.py deleted file mode 100644 index 916297a..0000000 --- a/arrow/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -# -*- coding: utf-8 -*- - -from .arrow import Arrow -from .factory import ArrowFactory -from .api import get, now, utcnow - -__version__ = '0.8.0' -VERSION = __version__ diff --git a/arrow/api.py b/arrow/api.py deleted file mode 100644 index 495eef4..0000000 --- a/arrow/api.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- -''' -Provides the default implementation of :class:`ArrowFactory ` -methods for use as a module API. - -''' - -from __future__ import absolute_import - -from arrow.factory import ArrowFactory - - -# internal default factory. -_factory = ArrowFactory() - - -def get(*args, **kwargs): - ''' Implements the default :class:`ArrowFactory ` - ``get`` method. - - ''' - - return _factory.get(*args, **kwargs) - -def utcnow(): - ''' Implements the default :class:`ArrowFactory ` - ``utcnow`` method. - - ''' - - return _factory.utcnow() - - -def now(tz=None): - ''' Implements the default :class:`ArrowFactory ` - ``now`` method. - - ''' - - return _factory.now(tz) - - -def factory(type): - ''' Returns an :class:`.ArrowFactory` for the specified :class:`Arrow ` - or derived type. - - :param type: the type, :class:`Arrow ` or derived. - - ''' - - return ArrowFactory(type) - - -__all__ = ['get', 'utcnow', 'now', 'factory', 'iso'] - diff --git a/arrow/arrow.py b/arrow/arrow.py deleted file mode 100644 index b17c435..0000000 --- a/arrow/arrow.py +++ /dev/null @@ -1,912 +0,0 @@ -# -*- coding: utf-8 -*- -''' -Provides the :class:`Arrow ` class, an enhanced ``datetime`` -replacement. - -''' - -from __future__ import absolute_import - -from datetime import datetime, timedelta, tzinfo -from dateutil import tz as dateutil_tz -from dateutil.relativedelta import relativedelta -import calendar -import sys - -from arrow import util, locales, parser, formatter - - -class Arrow(object): - '''An :class:`Arrow ` object. - - Implements the ``datetime`` interface, behaving as an aware ``datetime`` while implementing - additional functionality. - - :param year: the calendar year. - :param month: the calendar month. - :param day: the calendar day. - :param hour: (optional) the hour. Defaults to 0. - :param minute: (optional) the minute, Defaults to 0. - :param second: (optional) the second, Defaults to 0. - :param microsecond: (optional) the microsecond. Defaults 0. - :param tzinfo: (optional) the ``tzinfo`` object. Defaults to ``None``. - - If tzinfo is None, it is assumed to be UTC on creation. - - Usage:: - - >>> import arrow - >>> arrow.Arrow(2013, 5, 5, 12, 30, 45) - - - ''' - - resolution = datetime.resolution - - _ATTRS = ['year', 'month', 'day', 'hour', 'minute', 'second', 'microsecond'] - _ATTRS_PLURAL = ['{0}s'.format(a) for a in _ATTRS] - _MONTHS_PER_QUARTER = 3 - - def __init__(self, year, month, day, hour=0, minute=0, second=0, microsecond=0, - tzinfo=None): - - if util.isstr(tzinfo): - tzinfo = parser.TzinfoParser.parse(tzinfo) - tzinfo = tzinfo or dateutil_tz.tzutc() - - self._datetime = datetime(year, month, day, hour, minute, second, - microsecond, tzinfo) - - - # factories: single object, both original and from datetime. - - @classmethod - def now(cls, tzinfo=None): - '''Constructs an :class:`Arrow ` object, representing "now". - - :param tzinfo: (optional) a ``tzinfo`` object. Defaults to local time. - - ''' - - utc = datetime.utcnow().replace(tzinfo=dateutil_tz.tzutc()) - dt = utc.astimezone(dateutil_tz.tzlocal() if tzinfo is None else tzinfo) - - return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, - dt.microsecond, dt.tzinfo) - - @classmethod - def utcnow(cls): - ''' Constructs an :class:`Arrow ` object, representing "now" in UTC - time. - - ''' - - dt = datetime.utcnow() - - return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, - dt.microsecond, dateutil_tz.tzutc()) - - @classmethod - def fromtimestamp(cls, timestamp, tzinfo=None): - ''' Constructs an :class:`Arrow ` object from a timestamp. - - :param timestamp: an ``int`` or ``float`` timestamp, or a ``str`` that converts to either. - :param tzinfo: (optional) a ``tzinfo`` object. Defaults to local time. - - ''' - - tzinfo = tzinfo or dateutil_tz.tzlocal() - timestamp = cls._get_timestamp_from_input(timestamp) - dt = datetime.fromtimestamp(timestamp, tzinfo) - - return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, - dt.microsecond, tzinfo) - - @classmethod - def utcfromtimestamp(cls, timestamp): - '''Constructs an :class:`Arrow ` object from a timestamp, in UTC time. - - :param timestamp: an ``int`` or ``float`` timestamp, or a ``str`` that converts to either. - - ''' - - timestamp = cls._get_timestamp_from_input(timestamp) - dt = datetime.utcfromtimestamp(timestamp) - - return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, - dt.microsecond, dateutil_tz.tzutc()) - - @classmethod - def fromdatetime(cls, dt, tzinfo=None): - ''' Constructs an :class:`Arrow ` object from a ``datetime`` and optional - ``tzinfo`` object. - - :param dt: the ``datetime`` - :param tzinfo: (optional) a ``tzinfo`` object. Defaults to UTC. - - ''' - - tzinfo = tzinfo or dt.tzinfo or dateutil_tz.tzutc() - - return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, - dt.microsecond, tzinfo) - - @classmethod - def fromdate(cls, date, tzinfo=None): - ''' Constructs an :class:`Arrow ` object from a ``date`` and optional - ``tzinfo`` object. Time values are set to 0. - - :param date: the ``date`` - :param tzinfo: (optional) a ``tzinfo`` object. Defaults to UTC. - ''' - - tzinfo = tzinfo or dateutil_tz.tzutc() - - return cls(date.year, date.month, date.day, tzinfo=tzinfo) - - @classmethod - def strptime(cls, date_str, fmt, tzinfo=None): - ''' Constructs an :class:`Arrow ` object from a date string and format, - in the style of ``datetime.strptime``. - - :param date_str: the date string. - :param fmt: the format string. - :param tzinfo: (optional) an optional ``tzinfo`` - ''' - - dt = datetime.strptime(date_str, fmt) - tzinfo = tzinfo or dt.tzinfo - - return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, - dt.microsecond, tzinfo) - - - # factories: ranges and spans - - @classmethod - def range(cls, frame, start, end=None, tz=None, limit=None): - ''' Returns an array of :class:`Arrow ` objects, representing - an iteration of time between two inputs. - - :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). - :param start: A datetime expression, the start of the range. - :param end: (optional) A datetime expression, the end of the range. - :param tz: (optional) A timezone expression. Defaults to UTC. - :param limit: (optional) A maximum number of tuples to return. - - **NOTE**: the **end** or **limit** must be provided. Call with **end** alone to - return the entire range, with **limit** alone to return a maximum # of results from the - start, and with both to cap a range at a maximum # of results. - - Supported frame values: year, quarter, month, week, day, hour, minute, second - - Recognized datetime expressions: - - - An :class:`Arrow ` object. - - A ``datetime`` object. - - Recognized timezone expressions: - - - A ``tzinfo`` object. - - A ``str`` describing a timezone, similar to 'US/Pacific', or 'Europe/Berlin'. - - A ``str`` in ISO-8601 style, as in '+07:00'. - - A ``str``, one of the following: 'local', 'utc', 'UTC'. - - Usage: - - >>> start = datetime(2013, 5, 5, 12, 30) - >>> end = datetime(2013, 5, 5, 17, 15) - >>> for r in arrow.Arrow.range('hour', start, end): - ... print repr(r) - ... - - - - - - - ''' - - _, frame_relative, relative_steps = cls._get_frames(frame) - - tzinfo = cls._get_tzinfo(start.tzinfo if tz is None else tz) - - start = cls._get_datetime(start).replace(tzinfo=tzinfo) - end, limit = cls._get_iteration_params(end, limit) - end = cls._get_datetime(end).replace(tzinfo=tzinfo) - - current = cls.fromdatetime(start) - results = [] - - while current <= end and len(results) < limit: - results.append(current) - - values = [getattr(current, f) for f in cls._ATTRS] - current = cls(*values, tzinfo=tzinfo) + relativedelta(**{frame_relative: relative_steps}) - - return results - - - @classmethod - def span_range(cls, frame, start, end, tz=None, limit=None): - ''' Returns an array of tuples, each :class:`Arrow ` objects, - representing a series of timespans between two inputs. - - :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). - :param start: A datetime expression, the start of the range. - :param end: (optional) A datetime expression, the end of the range. - :param tz: (optional) A timezone expression. Defaults to UTC. - :param limit: (optional) A maximum number of tuples to return. - - **NOTE**: the **end** or **limit** must be provided. Call with **end** alone to - return the entire range, with **limit** alone to return a maximum # of results from the - start, and with both to cap a range at a maximum # of results. - - Supported frame values: year, quarter, month, week, day, hour, minute, second - - Recognized datetime expressions: - - - An :class:`Arrow ` object. - - A ``datetime`` object. - - Recognized timezone expressions: - - - A ``tzinfo`` object. - - A ``str`` describing a timezone, similar to 'US/Pacific', or 'Europe/Berlin'. - - A ``str`` in ISO-8601 style, as in '+07:00'. - - A ``str``, one of the following: 'local', 'utc', 'UTC'. - - Usage: - - >>> start = datetime(2013, 5, 5, 12, 30) - >>> end = datetime(2013, 5, 5, 17, 15) - >>> for r in arrow.Arrow.span_range('hour', start, end): - ... print r - ... - (, ) - (, ) - (, ) - (, ) - (, ) - - ''' - tzinfo = cls._get_tzinfo(start.tzinfo if tz is None else tz) - start = cls.fromdatetime(start, tzinfo).span(frame)[0] - _range = cls.range(frame, start, end, tz, limit) - return [r.span(frame) for r in _range] - - - # representations - - def __repr__(self): - - dt = self._datetime - attrs = ', '.join([str(i) for i in [dt.year, dt.month, dt.day, dt.hour, dt.minute, - dt.second, dt.microsecond]]) - - return '<{0} [{1}]>'.format(self.__class__.__name__, self.__str__()) - - def __str__(self): - return self._datetime.isoformat() - - def __format__(self, formatstr): - - if len(formatstr) > 0: - return self.format(formatstr) - - return str(self) - - def __hash__(self): - return self._datetime.__hash__() - - - # attributes & properties - - def __getattr__(self, name): - - if name == 'week': - return self.isocalendar()[1] - - if name == 'quarter': - return int(self.month/self._MONTHS_PER_QUARTER) + 1 - - if not name.startswith('_'): - value = getattr(self._datetime, name, None) - - if value is not None: - return value - - return object.__getattribute__(self, name) - - @property - def tzinfo(self): - ''' Gets the ``tzinfo`` of the :class:`Arrow ` object. ''' - - return self._datetime.tzinfo - - @tzinfo.setter - def tzinfo(self, tzinfo): - ''' Sets the ``tzinfo`` of the :class:`Arrow ` object. ''' - - self._datetime = self._datetime.replace(tzinfo=tzinfo) - - @property - def datetime(self): - ''' Returns a datetime representation of the :class:`Arrow ` object. ''' - - return self._datetime - - @property - def naive(self): - ''' Returns a naive datetime representation of the :class:`Arrow ` object. ''' - - return self._datetime.replace(tzinfo=None) - - @property - def timestamp(self): - ''' Returns a timestamp representation of the :class:`Arrow ` object. ''' - - return calendar.timegm(self._datetime.utctimetuple()) - - @property - def float_timestamp(self): - ''' Returns a floating-point representation of the :class:`Arrow ` object. ''' - - return self.timestamp + float(self.microsecond) / 1000000 - - - # mutation and duplication. - - def clone(self): - ''' Returns a new :class:`Arrow ` object, cloned from the current one. - - Usage: - - >>> arw = arrow.utcnow() - >>> cloned = arw.clone() - - ''' - - return self.fromdatetime(self._datetime) - - def replace(self, **kwargs): - ''' Returns a new :class:`Arrow ` object with attributes updated - according to inputs. - - Use single property names to set their value absolutely: - - >>> import arrow - >>> arw = arrow.utcnow() - >>> arw - - >>> arw.replace(year=2014, month=6) - - - Use plural property names to shift their current value relatively: - - >>> arw.replace(years=1, months=-1) - - - You can also provide a timezone expression can also be replaced: - - >>> arw.replace(tzinfo=tz.tzlocal()) - - - Recognized timezone expressions: - - - A ``tzinfo`` object. - - A ``str`` describing a timezone, similar to 'US/Pacific', or 'Europe/Berlin'. - - A ``str`` in ISO-8601 style, as in '+07:00'. - - A ``str``, one of the following: 'local', 'utc', 'UTC'. - - ''' - - absolute_kwargs = {} - relative_kwargs = {} - - for key, value in kwargs.items(): - - if key in self._ATTRS: - absolute_kwargs[key] = value - elif key in self._ATTRS_PLURAL or key in ['weeks', 'quarters']: - relative_kwargs[key] = value - elif key in ['week', 'quarter']: - raise AttributeError('setting absolute {0} is not supported'.format(key)) - elif key !='tzinfo': - raise AttributeError('unknown attribute: "{0}"'.format(key)) - - # core datetime does not support quarters, translate to months. - if 'quarters' in relative_kwargs.keys(): - if relative_kwargs.get('months') is None: - relative_kwargs['months'] = 0 - relative_kwargs['months'] += (value * self._MONTHS_PER_QUARTER) - relative_kwargs.pop('quarters') - - current = self._datetime.replace(**absolute_kwargs) - current += relativedelta(**relative_kwargs) - - tzinfo = kwargs.get('tzinfo') - - if tzinfo is not None: - tzinfo = self._get_tzinfo(tzinfo) - current = current.replace(tzinfo=tzinfo) - - return self.fromdatetime(current) - - def to(self, tz): - ''' Returns a new :class:`Arrow ` object, converted to the target - timezone. - - :param tz: an expression representing a timezone. - - Recognized timezone expressions: - - - A ``tzinfo`` object. - - A ``str`` describing a timezone, similar to 'US/Pacific', or 'Europe/Berlin'. - - A ``str`` in ISO-8601 style, as in '+07:00'. - - A ``str``, one of the following: 'local', 'utc', 'UTC'. - - Usage:: - - >>> utc = arrow.utcnow() - >>> utc - - - >>> utc.to('US/Pacific') - - - >>> utc.to(tz.tzlocal()) - - - >>> utc.to('-07:00') - - - >>> utc.to('local') - - - >>> utc.to('local').to('utc') - - - ''' - - if not isinstance(tz, tzinfo): - tz = parser.TzinfoParser.parse(tz) - - dt = self._datetime.astimezone(tz) - - return self.__class__(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, - dt.microsecond, dt.tzinfo) - - def span(self, frame, count=1): - ''' Returns two new :class:`Arrow ` objects, representing the timespan - of the :class:`Arrow ` object in a given timeframe. - - :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). - :param count: (optional) the number of frames to span. - - Supported frame values: year, quarter, month, week, day, hour, minute, second - - Usage:: - - >>> arrow.utcnow() - - - >>> arrow.utcnow().span('hour') - (, ) - - >>> arrow.utcnow().span('day') - (, ) - - >>> arrow.utcnow().span('day', count=2) - (, ) - - ''' - - frame_absolute, frame_relative, relative_steps = self._get_frames(frame) - - if frame_absolute == 'week': - attr = 'day' - elif frame_absolute == 'quarter': - attr = 'month' - else: - attr = frame_absolute - - index = self._ATTRS.index(attr) - frames = self._ATTRS[:index + 1] - - values = [getattr(self, f) for f in frames] - - for i in range(3 - len(values)): - values.append(1) - - floor = self.__class__(*values, tzinfo=self.tzinfo) - - if frame_absolute == 'week': - floor = floor + relativedelta(days=-(self.isoweekday() - 1)) - elif frame_absolute == 'quarter': - floor = floor + relativedelta(months=-((self.month - 1) % 3)) - - ceil = floor + relativedelta( - **{frame_relative: count * relative_steps}) + relativedelta(microseconds=-1) - - return floor, ceil - - def floor(self, frame): - ''' Returns a new :class:`Arrow ` object, representing the "floor" - of the timespan of the :class:`Arrow ` object in a given timeframe. - Equivalent to the first element in the 2-tuple returned by - :func:`span `. - - :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). - - Usage:: - - >>> arrow.utcnow().floor('hour') - - ''' - - return self.span(frame)[0] - - def ceil(self, frame): - ''' Returns a new :class:`Arrow ` object, representing the "ceiling" - of the timespan of the :class:`Arrow ` object in a given timeframe. - Equivalent to the second element in the 2-tuple returned by - :func:`span `. - - :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). - - Usage:: - - >>> arrow.utcnow().ceil('hour') - - ''' - - return self.span(frame)[1] - - - # string output and formatting. - - def format(self, fmt='YYYY-MM-DD HH:mm:ssZZ', locale='en_us'): - ''' Returns a string representation of the :class:`Arrow ` object, - formatted according to a format string. - - :param fmt: the format string. - - Usage:: - - >>> arrow.utcnow().format('YYYY-MM-DD HH:mm:ss ZZ') - '2013-05-09 03:56:47 -00:00' - - >>> arrow.utcnow().format('X') - '1368071882' - - >>> arrow.utcnow().format('MMMM DD, YYYY') - 'May 09, 2013' - - >>> arrow.utcnow().format() - '2013-05-09 03:56:47 -00:00' - - ''' - - return formatter.DateTimeFormatter(locale).format(self._datetime, fmt) - - - def humanize(self, other=None, locale='en_us', only_distance=False): - ''' Returns a localized, humanized representation of a relative difference in time. - - :param other: (optional) an :class:`Arrow ` or ``datetime`` object. - Defaults to now in the current :class:`Arrow ` object's timezone. - :param locale: (optional) a ``str`` specifying a locale. Defaults to 'en_us'. - :param only_distance: (optional) returns only time difference eg: "11 seconds" without "in" or "ago" part. - Usage:: - - >>> earlier = arrow.utcnow().replace(hours=-2) - >>> earlier.humanize() - '2 hours ago' - - >>> later = later = earlier.replace(hours=4) - >>> later.humanize(earlier) - 'in 4 hours' - - ''' - - locale = locales.get_locale(locale) - - if other is None: - utc = datetime.utcnow().replace(tzinfo=dateutil_tz.tzutc()) - dt = utc.astimezone(self._datetime.tzinfo) - - elif isinstance(other, Arrow): - dt = other._datetime - - elif isinstance(other, datetime): - if other.tzinfo is None: - dt = other.replace(tzinfo=self._datetime.tzinfo) - else: - dt = other.astimezone(self._datetime.tzinfo) - - else: - raise TypeError() - - delta = int(util.total_seconds(self._datetime - dt)) - sign = -1 if delta < 0 else 1 - diff = abs(delta) - delta = diff - - if diff < 10: - return locale.describe('now', only_distance=only_distance) - - if diff < 45: - return locale.describe('seconds', sign, only_distance=only_distance) - - elif diff < 90: - return locale.describe('minute', sign, only_distance=only_distance) - elif diff < 2700: - minutes = sign * int(max(delta / 60, 2)) - return locale.describe('minutes', minutes, only_distance=only_distance) - - elif diff < 5400: - return locale.describe('hour', sign, only_distance=only_distance) - elif diff < 79200: - hours = sign * int(max(delta / 3600, 2)) - return locale.describe('hours', hours, only_distance=only_distance) - - elif diff < 129600: - return locale.describe('day', sign, only_distance=only_distance) - elif diff < 2160000: - days = sign * int(max(delta / 86400, 2)) - return locale.describe('days', days, only_distance=only_distance) - - elif diff < 3888000: - return locale.describe('month', sign, only_distance=only_distance) - elif diff < 29808000: - self_months = self._datetime.year * 12 + self._datetime.month - other_months = dt.year * 12 + dt.month - - months = sign * int(max(abs(other_months - self_months), 2)) - - return locale.describe('months', months, only_distance=only_distance) - - elif diff < 47260800: - return locale.describe('year', sign, only_distance=only_distance) - else: - years = sign * int(max(delta / 31536000, 2)) - return locale.describe('years', years, only_distance=only_distance) - - - # math - - def __add__(self, other): - - if isinstance(other, (timedelta, relativedelta)): - return self.fromdatetime(self._datetime + other, self._datetime.tzinfo) - - raise TypeError() - - def __radd__(self, other): - return self.__add__(other) - - def __sub__(self, other): - - if isinstance(other, timedelta): - return self.fromdatetime(self._datetime - other, self._datetime.tzinfo) - - elif isinstance(other, datetime): - return self._datetime - other - - elif isinstance(other, Arrow): - return self._datetime - other._datetime - - raise TypeError() - - def __rsub__(self, other): - - if isinstance(other, datetime): - return other - self._datetime - - raise TypeError() - - - # comparisons - - def _cmperror(self, other): - raise TypeError('can\'t compare \'{0}\' to \'{1}\''.format( - type(self), type(other))) - - def __eq__(self, other): - - if not isinstance(other, (Arrow, datetime)): - return False - - other = self._get_datetime(other) - - return self._datetime == self._get_datetime(other) - - def __ne__(self, other): - return not self.__eq__(other) - - def __gt__(self, other): - - if not isinstance(other, (Arrow, datetime)): - self._cmperror(other) - - return self._datetime > self._get_datetime(other) - - def __ge__(self, other): - - if not isinstance(other, (Arrow, datetime)): - self._cmperror(other) - - return self._datetime >= self._get_datetime(other) - - def __lt__(self, other): - - if not isinstance(other, (Arrow, datetime)): - self._cmperror(other) - - return self._datetime < self._get_datetime(other) - - def __le__(self, other): - - if not isinstance(other, (Arrow, datetime)): - self._cmperror(other) - - return self._datetime <= self._get_datetime(other) - - - # datetime methods - - def date(self): - ''' Returns a ``date`` object with the same year, month and day. ''' - - return self._datetime.date() - - def time(self): - ''' Returns a ``time`` object with the same hour, minute, second, microsecond. ''' - - return self._datetime.time() - - def timetz(self): - ''' Returns a ``time`` object with the same hour, minute, second, microsecond and tzinfo. ''' - - return self._datetime.timetz() - - def astimezone(self, tz): - ''' Returns a ``datetime`` object, adjusted to the specified tzinfo. - - :param tz: a ``tzinfo`` object. - - ''' - - return self._datetime.astimezone(tz) - - def utcoffset(self): - ''' Returns a ``timedelta`` object representing the whole number of minutes difference from UTC time. ''' - - return self._datetime.utcoffset() - - def dst(self): - ''' Returns the daylight savings time adjustment. ''' - return self._datetime.dst() - - def timetuple(self): - ''' Returns a ``time.struct_time``, in the current timezone. ''' - - return self._datetime.timetuple() - - def utctimetuple(self): - ''' Returns a ``time.struct_time``, in UTC time. ''' - - return self._datetime.utctimetuple() - - def toordinal(self): - ''' Returns the proleptic Gregorian ordinal of the date. ''' - - return self._datetime.toordinal() - - def weekday(self): - ''' Returns the day of the week as an integer (0-6). ''' - - return self._datetime.weekday() - - def isoweekday(self): - ''' Returns the ISO day of the week as an integer (1-7). ''' - - return self._datetime.isoweekday() - - def isocalendar(self): - ''' Returns a 3-tuple, (ISO year, ISO week number, ISO weekday). ''' - - return self._datetime.isocalendar() - - def isoformat(self, sep='T'): - '''Returns an ISO 8601 formatted representation of the date and time. ''' - - return self._datetime.isoformat(sep) - - def ctime(self): - ''' Returns a ctime formatted representation of the date and time. ''' - - return self._datetime.ctime() - - def strftime(self, format): - ''' Formats in the style of ``datetime.strptime``. - - :param format: the format string. - - ''' - - return self._datetime.strftime(format) - - def for_json(self): - '''Serializes for the ``for_json`` protocol of simplejson.''' - return self.isoformat() - - # internal tools. - - @staticmethod - def _get_tzinfo(tz_expr): - - if tz_expr is None: - return dateutil_tz.tzutc() - if isinstance(tz_expr, tzinfo): - return tz_expr - else: - try: - return parser.TzinfoParser.parse(tz_expr) - except parser.ParserError: - raise ValueError('\'{0}\' not recognized as a timezone'.format( - tz_expr)) - - @classmethod - def _get_datetime(cls, expr): - - if isinstance(expr, Arrow): - return expr.datetime - - if isinstance(expr, datetime): - return expr - - try: - expr = float(expr) - return cls.utcfromtimestamp(expr).datetime - except: - raise ValueError( - '\'{0}\' not recognized as a timestamp or datetime'.format(expr)) - - @classmethod - def _get_frames(cls, name): - - if name in cls._ATTRS: - return name, '{0}s'.format(name), 1 - - elif name in ['week', 'weeks']: - return 'week', 'weeks', 1 - elif name in ['quarter', 'quarters']: - return 'quarter', 'months', 3 - - raise AttributeError() - - @classmethod - def _get_iteration_params(cls, end, limit): - - if end is None: - - if limit is None: - raise Exception('one of \'end\' or \'limit\' is required') - - return cls.max, limit - - else: - return end, sys.maxsize - - @staticmethod - def _get_timestamp_from_input(timestamp): - - try: - return float(timestamp) - except: - raise ValueError('cannot parse \'{0}\' as a timestamp'.format(timestamp)) - -Arrow.min = Arrow.fromdatetime(datetime.min) -Arrow.max = Arrow.fromdatetime(datetime.max) diff --git a/arrow/factory.py b/arrow/factory.py deleted file mode 100644 index a5d690b..0000000 --- a/arrow/factory.py +++ /dev/null @@ -1,254 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Implements the :class:`ArrowFactory ` class, -providing factory methods for common :class:`Arrow ` -construction scenarios. - -""" - -from __future__ import absolute_import - -from arrow.arrow import Arrow -from arrow import parser -from arrow.util import is_timestamp, isstr - -from datetime import datetime, tzinfo, date -from dateutil import tz as dateutil_tz -from time import struct_time -import calendar - - -class ArrowFactory(object): - ''' A factory for generating :class:`Arrow ` objects. - - :param type: (optional) the :class:`Arrow `-based class to construct from. - Defaults to :class:`Arrow `. - - ''' - - def __init__(self, type=Arrow): - self.type = type - - def get(self, *args, **kwargs): - ''' Returns an :class:`Arrow ` object based on flexible inputs. - - Usage:: - - >>> import arrow - - **No inputs** to get current UTC time:: - - >>> arrow.get() - - - **None** to also get current UTC time:: - - >>> arrow.get(None) - - - **One** :class:`Arrow ` object, to get a copy. - - >>> arw = arrow.utcnow() - >>> arrow.get(arw) - - - **One** ``str``, ``float``, or ``int``, convertible to a floating-point timestamp, to get that timestamp in UTC:: - - >>> arrow.get(1367992474.293378) - - - >>> arrow.get(1367992474) - - - >>> arrow.get('1367992474.293378') - - - >>> arrow.get('1367992474') - - - **One** ISO-8601-formatted ``str``, to parse it:: - - >>> arrow.get('2013-09-29T01:26:43.830580') - - - **One** ``tzinfo``, to get the current time in that timezone:: - - >>> arrow.get(tz.tzlocal()) - - - **One** naive ``datetime``, to get that datetime in UTC:: - - >>> arrow.get(datetime(2013, 5, 5)) - - - **One** aware ``datetime``, to get that datetime:: - - >>> arrow.get(datetime(2013, 5, 5, tzinfo=tz.tzlocal())) - - - **One** naive ``date``, to get that date in UTC:: - - >>> arrow.get(date(2013, 5, 5)) - - - **Two** arguments, a naive or aware ``datetime``, and a timezone expression (as above):: - - >>> arrow.get(datetime(2013, 5, 5), 'US/Pacific') - - - **Two** arguments, a naive ``date``, and a timezone expression (as above):: - - >>> arrow.get(date(2013, 5, 5), 'US/Pacific') - - - **Two** arguments, both ``str``, to parse the first according to the format of the second:: - - >>> arrow.get('2013-05-05 12:30:45', 'YYYY-MM-DD HH:mm:ss') - - - **Two** arguments, first a ``str`` to parse and second a ``list`` of formats to try:: - - >>> arrow.get('2013-05-05 12:30:45', ['MM/DD/YYYY', 'YYYY-MM-DD HH:mm:ss']) - - - **Three or more** arguments, as for the constructor of a ``datetime``:: - - >>> arrow.get(2013, 5, 5, 12, 30, 45) - - - **One** time.struct time:: - >>> arrow.get(gmtime(0)) - - - ''' - - arg_count = len(args) - locale = kwargs.get('locale', 'en_us') - tz = kwargs.get('tzinfo', None) - - # () -> now, @ utc. - if arg_count == 0: - if isinstance(tz, tzinfo): - return self.type.now(tz) - return self.type.utcnow() - - if arg_count == 1: - arg = args[0] - - # (None) -> now, @ utc. - if arg is None: - return self.type.utcnow() - - # try (int, float, str(int), str(float)) -> utc, from timestamp. - if is_timestamp(arg): - return self.type.utcfromtimestamp(arg) - - # (Arrow) -> from the object's datetime. - if isinstance(arg, Arrow): - return self.type.fromdatetime(arg.datetime) - - # (datetime) -> from datetime. - if isinstance(arg, datetime): - return self.type.fromdatetime(arg) - - # (date) -> from date. - if isinstance(arg, date): - return self.type.fromdate(arg) - - # (tzinfo) -> now, @ tzinfo. - elif isinstance(arg, tzinfo): - return self.type.now(arg) - - # (str) -> now, @ tzinfo. - elif isstr(arg): - dt = parser.DateTimeParser(locale).parse_iso(arg) - return self.type.fromdatetime(dt) - - # (struct_time) -> from struct_time - elif isinstance(arg, struct_time): - return self.type.utcfromtimestamp(calendar.timegm(arg)) - - else: - raise TypeError('Can\'t parse single argument type of \'{0}\''.format(type(arg))) - - elif arg_count == 2: - - arg_1, arg_2 = args[0], args[1] - - if isinstance(arg_1, datetime): - - # (datetime, tzinfo) -> fromdatetime @ tzinfo/string. - if isinstance(arg_2, tzinfo) or isstr(arg_2): - return self.type.fromdatetime(arg_1, arg_2) - else: - raise TypeError('Can\'t parse two arguments of types \'datetime\', \'{0}\''.format( - type(arg_2))) - - # (date, tzinfo/str) -> fromdate @ tzinfo/string. - elif isinstance(arg_1, date): - - if isinstance(arg_2, tzinfo) or isstr(arg_2): - return self.type.fromdate(arg_1, tzinfo=arg_2) - else: - raise TypeError('Can\'t parse two arguments of types \'date\', \'{0}\''.format( - type(arg_2))) - - # (str, format) -> parse. - elif isstr(arg_1) and (isstr(arg_2) or isinstance(arg_2, list)): - dt = parser.DateTimeParser(locale).parse(args[0], args[1]) - return self.type.fromdatetime(dt, tzinfo=tz) - - else: - raise TypeError('Can\'t parse two arguments of types \'{0}\', \'{1}\''.format( - type(arg_1), type(arg_2))) - - # 3+ args -> datetime-like via constructor. - else: - return self.type(*args, **kwargs) - - def utcnow(self): - '''Returns an :class:`Arrow ` object, representing "now" in UTC time. - - Usage:: - - >>> import arrow - >>> arrow.utcnow() - - ''' - - return self.type.utcnow() - - def now(self, tz=None): - '''Returns an :class:`Arrow ` object, representing "now". - - :param tz: (optional) An expression representing a timezone. Defaults to local time. - - Recognized timezone expressions: - - - A ``tzinfo`` object. - - A ``str`` describing a timezone, similar to 'US/Pacific', or 'Europe/Berlin'. - - A ``str`` in ISO-8601 style, as in '+07:00'. - - A ``str``, one of the following: 'local', 'utc', 'UTC'. - - Usage:: - - >>> import arrow - >>> arrow.now() - - - >>> arrow.now('US/Pacific') - - - >>> arrow.now('+02:00') - - - >>> arrow.now('local') - - ''' - - if tz is None: - tz = dateutil_tz.tzlocal() - elif not isinstance(tz, tzinfo): - tz = parser.TzinfoParser.parse(tz) - - return self.type.now(tz) diff --git a/arrow/formatter.py b/arrow/formatter.py deleted file mode 100644 index 0ae2389..0000000 --- a/arrow/formatter.py +++ /dev/null @@ -1,105 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -import calendar -import re -from dateutil import tz as dateutil_tz -from arrow import util, locales - - -class DateTimeFormatter(object): - - _FORMAT_RE = re.compile('(YYY?Y?|MM?M?M?|Do|DD?D?D?|d?dd?d?|HH?|hh?|mm?|ss?|SS?S?S?S?S?|ZZ?|a|A|X)') - - def __init__(self, locale='en_us'): - - self.locale = locales.get_locale(locale) - - def format(cls, dt, fmt): - - return cls._FORMAT_RE.sub(lambda m: cls._format_token(dt, m.group(0)), fmt) - - def _format_token(self, dt, token): - - if token == 'YYYY': - return self.locale.year_full(dt.year) - if token == 'YY': - return self.locale.year_abbreviation(dt.year) - - if token == 'MMMM': - return self.locale.month_name(dt.month) - if token == 'MMM': - return self.locale.month_abbreviation(dt.month) - if token == 'MM': - return '{0:02d}'.format(dt.month) - if token == 'M': - return str(dt.month) - - if token == 'DDDD': - return '{0:03d}'.format(dt.timetuple().tm_yday) - if token == 'DDD': - return str(dt.timetuple().tm_yday) - if token == 'DD': - return '{0:02d}'.format(dt.day) - if token == 'D': - return str(dt.day) - - if token == 'Do': - return self.locale.ordinal_number(dt.day) - - if token == 'dddd': - return self.locale.day_name(dt.isoweekday()) - if token == 'ddd': - return self.locale.day_abbreviation(dt.isoweekday()) - if token == 'd': - return str(dt.isoweekday()) - - if token == 'HH': - return '{0:02d}'.format(dt.hour) - if token == 'H': - return str(dt.hour) - if token == 'hh': - return '{0:02d}'.format(dt.hour if 0 < dt.hour < 13 else abs(dt.hour - 12)) - if token == 'h': - return str(dt.hour if 0 < dt.hour < 13 else abs(dt.hour - 12)) - - if token == 'mm': - return '{0:02d}'.format(dt.minute) - if token == 'm': - return str(dt.minute) - - if token == 'ss': - return '{0:02d}'.format(dt.second) - if token == 's': - return str(dt.second) - - if token == 'SSSSSS': - return str('{0:06d}'.format(int(dt.microsecond))) - if token == 'SSSSS': - return str('{0:05d}'.format(int(dt.microsecond / 10))) - if token == 'SSSS': - return str('{0:04d}'.format(int(dt.microsecond / 100))) - if token == 'SSS': - return str('{0:03d}'.format(int(dt.microsecond / 1000))) - if token == 'SS': - return str('{0:02d}'.format(int(dt.microsecond / 10000))) - if token == 'S': - return str(int(dt.microsecond / 100000)) - - if token == 'X': - return str(calendar.timegm(dt.utctimetuple())) - - if token in ['ZZ', 'Z']: - separator = ':' if token == 'ZZ' else '' - tz = dateutil_tz.tzutc() if dt.tzinfo is None else dt.tzinfo - total_minutes = int(util.total_seconds(tz.utcoffset(dt)) / 60) - - sign = '+' if total_minutes > 0 else '-' - total_minutes = abs(total_minutes) - hour, minute = divmod(total_minutes, 60) - - return '{0}{1:02d}{2}{3:02d}'.format(sign, hour, separator, minute) - - if token in ('a', 'A'): - return self.locale.meridian(dt.hour, token) - diff --git a/arrow/locales.py b/arrow/locales.py deleted file mode 100644 index 5af4267..0000000 --- a/arrow/locales.py +++ /dev/null @@ -1,1789 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import -from __future__ import unicode_literals - -import inspect -import sys - - -def get_locale(name): - '''Returns an appropriate :class:`Locale ` corresponding - to an inpute locale name. - - :param name: the name of the locale. - - ''' - - locale_cls = _locales.get(name.lower()) - - if locale_cls is None: - raise ValueError('Unsupported locale \'{0}\''.format(name)) - - return locale_cls() - - -# base locale type. - -class Locale(object): - ''' Represents locale-specific data and functionality. ''' - - names = [] - - timeframes = { - 'now': '', - 'seconds': '', - 'minute': '', - 'minutes': '', - 'hour': '', - 'hours': '', - 'day': '', - 'days': '', - 'month': '', - 'months': '', - 'year': '', - 'years': '', - } - - meridians = { - 'am': '', - 'pm': '', - 'AM': '', - 'PM': '', - } - - past = None - future = None - - month_names = [] - month_abbreviations = [] - - day_names = [] - day_abbreviations = [] - - ordinal_day_re = r'(\d+)' - - def __init__(self): - - self._month_name_to_ordinal = None - - def describe(self, timeframe, delta=0, only_distance=False): - ''' Describes a delta within a timeframe in plain language. - - :param timeframe: a string representing a timeframe. - :param delta: a quantity representing a delta in a timeframe. - :param only_distance: return only distance eg: "11 seconds" without "in" or "ago" keywords - ''' - - humanized = self._format_timeframe(timeframe, delta) - if not only_distance: - humanized = self._format_relative(humanized, timeframe, delta) - - return humanized - - def day_name(self, day): - ''' Returns the day name for a specified day of the week. - - :param day: the ``int`` day of the week (1-7). - - ''' - - return self.day_names[day] - - def day_abbreviation(self, day): - ''' Returns the day abbreviation for a specified day of the week. - - :param day: the ``int`` day of the week (1-7). - - ''' - - return self.day_abbreviations[day] - - def month_name(self, month): - ''' Returns the month name for a specified month of the year. - - :param month: the ``int`` month of the year (1-12). - - ''' - - return self.month_names[month] - - def month_abbreviation(self, month): - ''' Returns the month abbreviation for a specified month of the year. - - :param month: the ``int`` month of the year (1-12). - - ''' - - return self.month_abbreviations[month] - - def month_number(self, name): - ''' Returns the month number for a month specified by name or abbreviation. - - :param name: the month name or abbreviation. - - ''' - - if self._month_name_to_ordinal is None: - self._month_name_to_ordinal = self._name_to_ordinal(self.month_names) - self._month_name_to_ordinal.update(self._name_to_ordinal(self.month_abbreviations)) - - return self._month_name_to_ordinal.get(name) - - def year_full(self, year): - ''' Returns the year for specific locale if available - - :param name: the ``int`` year (4-digit) - ''' - return '{0:04d}'.format(year) - - def year_abbreviation(self, year): - ''' Returns the year for specific locale if available - - :param name: the ``int`` year (4-digit) - ''' - return '{0:04d}'.format(year)[2:] - - def meridian(self, hour, token): - ''' Returns the meridian indicator for a specified hour and format token. - - :param hour: the ``int`` hour of the day. - :param token: the format token. - ''' - - if token == 'a': - return self.meridians['am'] if hour < 12 else self.meridians['pm'] - if token == 'A': - return self.meridians['AM'] if hour < 12 else self.meridians['PM'] - - def ordinal_number(self, n): - ''' Returns the ordinal format of a given integer - - :param n: an integer - ''' - return self._ordinal_number(n) - - def _ordinal_number(self, n): - return '{0}'.format(n) - - def _name_to_ordinal(self, lst): - return dict(map(lambda i: (i[1].lower(), i[0] + 1), enumerate(lst[1:]))) - - def _format_timeframe(self, timeframe, delta): - - return self.timeframes[timeframe].format(abs(delta)) - - def _format_relative(self, humanized, timeframe, delta): - - if timeframe == 'now': - return humanized - - direction = self.past if delta < 0 else self.future - - return direction.format(humanized) - - -# base locale type implementations. - -class EnglishLocale(Locale): - - names = ['en', 'en_us', 'en_gb', 'en_au', 'en_be', 'en_jp', 'en_za', 'en_ca'] - - past = '{0} ago' - future = 'in {0}' - - timeframes = { - 'now': 'just now', - 'seconds': 'seconds', - 'minute': 'a minute', - 'minutes': '{0} minutes', - 'hour': 'an hour', - 'hours': '{0} hours', - 'day': 'a day', - 'days': '{0} days', - 'month': 'a month', - 'months': '{0} months', - 'year': 'a year', - 'years': '{0} years', - } - - meridians = { - 'am': 'am', - 'pm': 'pm', - 'AM': 'AM', - 'PM': 'PM', - } - - month_names = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'] - month_abbreviations = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', - 'Sep', 'Oct', 'Nov', 'Dec'] - - day_names = ['', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] - day_abbreviations = ['', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] - - ordinal_day_re = r'((?P[2-3]?1(?=st)|[2-3]?2(?=nd)|[2-3]?3(?=rd)|[1-3]?[04-9](?=th)|1[1-3](?=th))(st|nd|rd|th))' - - def _ordinal_number(self, n): - if n % 100 not in (11, 12, 13): - remainder = abs(n) % 10 - if remainder == 1: - return '{0}st'.format(n) - elif remainder == 2: - return '{0}nd'.format(n) - elif remainder == 3: - return '{0}rd'.format(n) - return '{0}th'.format(n) - - -class ItalianLocale(Locale): - names = ['it', 'it_it'] - past = '{0} fa' - future = 'tra {0}' - - timeframes = { - 'now': 'adesso', - 'seconds': 'qualche secondo', - 'minute': 'un minuto', - 'minutes': '{0} minuti', - 'hour': 'un\'ora', - 'hours': '{0} ore', - 'day': 'un giorno', - 'days': '{0} giorni', - 'month': 'un mese', - 'months': '{0} mesi', - 'year': 'un anno', - 'years': '{0} anni', - } - - month_names = ['', 'gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', - 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'] - month_abbreviations = ['', 'gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', - 'set', 'ott', 'nov', 'dic'] - - day_names = ['', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato', 'domenica'] - day_abbreviations = ['', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab', 'dom'] - - ordinal_day_re = r'((?P[1-3]?[0-9](?=[ºª]))[ºª])' - - def _ordinal_number(self, n): - return '{0}º'.format(n) - - -class SpanishLocale(Locale): - names = ['es', 'es_es'] - past = 'hace {0}' - future = 'en {0}' - - timeframes = { - 'now': 'ahora', - 'seconds': 'segundos', - 'minute': 'un minuto', - 'minutes': '{0} minutos', - 'hour': 'una hora', - 'hours': '{0} horas', - 'day': 'un día', - 'days': '{0} días', - 'month': 'un mes', - 'months': '{0} meses', - 'year': 'un año', - 'years': '{0} años', - } - - month_names = ['', 'enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', - 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'] - month_abbreviations = ['', 'ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', - 'sep', 'oct', 'nov', 'dic'] - - day_names = ['', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo'] - day_abbreviations = ['', 'lun', 'mar', 'mie', 'jue', 'vie', 'sab', 'dom'] - - ordinal_day_re = r'((?P[1-3]?[0-9](?=[ºª]))[ºª])' - - def _ordinal_number(self, n): - return '{0}º'.format(n) - - -class FrenchLocale(Locale): - names = ['fr', 'fr_fr'] - past = 'il y a {0}' - future = 'dans {0}' - - timeframes = { - 'now': 'maintenant', - 'seconds': 'quelques secondes', - 'minute': 'une minute', - 'minutes': '{0} minutes', - 'hour': 'une heure', - 'hours': '{0} heures', - 'day': 'un jour', - 'days': '{0} jours', - 'month': 'un mois', - 'months': '{0} mois', - 'year': 'un an', - 'years': '{0} ans', - } - - month_names = ['', 'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août', 'septembre', 'octobre', 'novembre', 'décembre'] - month_abbreviations = ['', 'janv', 'févr', 'mars', 'avr', 'mai', 'juin', 'juil', 'août', - 'sept', 'oct', 'nov', 'déc'] - - day_names = ['', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'] - day_abbreviations = ['', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam', 'dim'] - - ordinal_day_re = r'((?P\b1(?=er\b)|[1-3]?[02-9](?=e\b)|[1-3]1(?=e\b))(er|e)\b)' - - def _ordinal_number(self, n): - if abs(n) == 1: - return '{0}er'.format(n) - return '{0}e'.format(n) - - -class GreekLocale(Locale): - - names = ['el', 'el_gr'] - - past = '{0} πριν' - future = 'σε {0}' - - timeframes = { - 'now': 'τώρα', - 'seconds': 'δευτερόλεπτα', - 'minute': 'ένα λεπτό', - 'minutes': '{0} λεπτά', - 'hour': 'μια ώρα', - 'hours': '{0} ώρες', - 'day': 'μια μέρα', - 'days': '{0} μέρες', - 'month': 'ένα μήνα', - 'months': '{0} μήνες', - 'year': 'ένα χρόνο', - 'years': '{0} χρόνια', - } - - month_names = ['', 'Ιανουαρίου', 'Φεβρουαρίου', 'Μαρτίου', 'Απριλίου', 'Μαΐου', 'Ιουνίου', - 'Ιουλίου', 'Αυγούστου', 'Σεπτεμβρίου', 'Οκτωβρίου', 'Νοεμβρίου', 'Δεκεμβρίου'] - month_abbreviations = ['', 'Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαϊ', 'Ιον', 'Ιολ', 'Αυγ', - 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ'] - - day_names = ['', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο', 'Κυριακή'] - day_abbreviations = ['', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', 'Σαβ', 'Κυρ'] - - -class JapaneseLocale(Locale): - - names = ['ja', 'ja_jp'] - - past = '{0}前' - future = '{0}後' - - timeframes = { - 'now': '現在', - 'seconds': '数秒', - 'minute': '1分', - 'minutes': '{0}分', - 'hour': '1時間', - 'hours': '{0}時間', - 'day': '1日', - 'days': '{0}日', - 'month': '1ヶ月', - 'months': '{0}ヶ月', - 'year': '1年', - 'years': '{0}年', - } - - month_names = ['', '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'] - month_abbreviations = ['', ' 1', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7', ' 8', - ' 9', '10', '11', '12'] - - day_names = ['', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日', '日曜日'] - day_abbreviations = ['', '月', '火', '水', '木', '金', '土', '日'] - - -class SwedishLocale(Locale): - - names = ['sv', 'sv_se'] - - past = 'för {0} sen' - future = 'om {0}' - - timeframes = { - 'now': 'just nu', - 'seconds': 'några sekunder', - 'minute': 'en minut', - 'minutes': '{0} minuter', - 'hour': 'en timme', - 'hours': '{0} timmar', - 'day': 'en dag', - 'days': '{0} dagar', - 'month': 'en månad', - 'months': '{0} månader', - 'year': 'ett år', - 'years': '{0} år', - } - - month_names = ['', 'januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', - 'augusti', 'september', 'oktober', 'november', 'december'] - month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'dec'] - - day_names = ['', 'måndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag', 'söndag'] - day_abbreviations = ['', 'mån', 'tis', 'ons', 'tor', 'fre', 'lör', 'sön'] - - -class FinnishLocale(Locale): - - names = ['fi', 'fi_fi'] - - # The finnish grammar is very complex, and its hard to convert - # 1-to-1 to something like English. - - past = '{0} sitten' - future = '{0} kuluttua' - - timeframes = { - 'now': ['juuri nyt', 'juuri nyt'], - 'seconds': ['muutama sekunti', 'muutaman sekunnin'], - 'minute': ['minuutti', 'minuutin'], - 'minutes': ['{0} minuuttia', '{0} minuutin'], - 'hour': ['tunti', 'tunnin'], - 'hours': ['{0} tuntia', '{0} tunnin'], - 'day': ['päivä', 'päivä'], - 'days': ['{0} päivää', '{0} päivän'], - 'month': ['kuukausi', 'kuukauden'], - 'months': ['{0} kuukautta', '{0} kuukauden'], - 'year': ['vuosi', 'vuoden'], - 'years': ['{0} vuotta', '{0} vuoden'], - } - - # Months and days are lowercase in Finnish - month_names = ['', 'tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', - 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', - 'syyskuu', 'lokakuu', 'marraskuu', 'joulukuu'] - - month_abbreviations = ['', 'tammi', 'helmi', 'maalis', 'huhti', - 'touko', 'kesä', 'heinä', 'elo', - 'syys', 'loka', 'marras', 'joulu'] - - day_names = ['', 'maanantai', 'tiistai', 'keskiviikko', 'torstai', - 'perjantai', 'lauantai', 'sunnuntai'] - - day_abbreviations = ['', 'ma', 'ti', 'ke', 'to', 'pe', 'la', 'su'] - - def _format_timeframe(self, timeframe, delta): - return (self.timeframes[timeframe][0].format(abs(delta)), - self.timeframes[timeframe][1].format(abs(delta))) - - def _format_relative(self, humanized, timeframe, delta): - if timeframe == 'now': - return humanized[0] - - direction = self.past if delta < 0 else self.future - which = 0 if delta < 0 else 1 - - return direction.format(humanized[which]) - - def _ordinal_number(self, n): - return '{0}.'.format(n) - - -class ChineseCNLocale(Locale): - - names = ['zh', 'zh_cn'] - - past = '{0}前' - future = '{0}后' - - timeframes = { - 'now': '刚才', - 'seconds': '几秒', - 'minute': '1分钟', - 'minutes': '{0}分钟', - 'hour': '1小时', - 'hours': '{0}小时', - 'day': '1天', - 'days': '{0}天', - 'month': '1个月', - 'months': '{0}个月', - 'year': '1年', - 'years': '{0}年', - } - - month_names = ['', '一月', '二月', '三月', '四月', '五月', '六月', '七月', - '八月', '九月', '十月', '十一月', '十二月'] - month_abbreviations = ['', ' 1', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7', ' 8', - ' 9', '10', '11', '12'] - - day_names = ['', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'] - day_abbreviations = ['', '一', '二', '三', '四', '五', '六', '日'] - - -class ChineseTWLocale(Locale): - - names = ['zh_tw'] - - past = '{0}前' - future = '{0}後' - - timeframes = { - 'now': '剛才', - 'seconds': '幾秒', - 'minute': '1分鐘', - 'minutes': '{0}分鐘', - 'hour': '1小時', - 'hours': '{0}小時', - 'day': '1天', - 'days': '{0}天', - 'month': '1個月', - 'months': '{0}個月', - 'year': '1年', - 'years': '{0}年', - } - - month_names = ['', '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', - '9月', '10月', '11月', '12月'] - month_abbreviations = ['', ' 1', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7', ' 8', - ' 9', '10', '11', '12'] - - day_names = ['', '周一', '周二', '周三', '周四', '周五', '周六', '周日'] - day_abbreviations = ['', '一', '二', '三', '四', '五', '六', '日'] - - -class KoreanLocale(Locale): - - names = ['ko', 'ko_kr'] - - past = '{0} 전' - future = '{0} 후' - - timeframes = { - 'now': '지금', - 'seconds': '몇 초', - 'minute': '1분', - 'minutes': '{0}분', - 'hour': '1시간', - 'hours': '{0}시간', - 'day': '1일', - 'days': '{0}일', - 'month': '1개월', - 'months': '{0}개월', - 'year': '1년', - 'years': '{0}년', - } - - month_names = ['', '1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', - '9월', '10월', '11월', '12월'] - month_abbreviations = ['', ' 1', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7', ' 8', - ' 9', '10', '11', '12'] - - day_names = ['', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일', '일요일'] - day_abbreviations = ['', '월', '화', '수', '목', '금', '토', '일'] - - -# derived locale types & implementations. -class DutchLocale(Locale): - - names = ['nl', 'nl_nl'] - - past = '{0} geleden' - future = 'over {0}' - - timeframes = { - 'now': 'nu', - 'seconds': 'seconden', - 'minute': 'een minuut', - 'minutes': '{0} minuten', - 'hour': 'een uur', - 'hours': '{0} uur', - 'day': 'een dag', - 'days': '{0} dagen', - 'month': 'een maand', - 'months': '{0} maanden', - 'year': 'een jaar', - 'years': '{0} jaar', - } - - # In Dutch names of months and days are not starting with a capital letter - # like in the English language. - month_names = ['', 'januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', - 'augustus', 'september', 'oktober', 'november', 'december'] - month_abbreviations = ['', 'jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', - 'sep', 'okt', 'nov', 'dec'] - - day_names = ['', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag'] - day_abbreviations = ['', 'ma', 'di', 'wo', 'do', 'vr', 'za', 'zo'] - - -class SlavicBaseLocale(Locale): - - def _format_timeframe(self, timeframe, delta): - - form = self.timeframes[timeframe] - delta = abs(delta) - - if isinstance(form, list): - - if delta % 10 == 1 and delta % 100 != 11: - form = form[0] - elif 2 <= delta % 10 <= 4 and (delta % 100 < 10 or delta % 100 >= 20): - form = form[1] - else: - form = form[2] - - return form.format(delta) - -class BelarusianLocale(SlavicBaseLocale): - - names = ['be', 'be_by'] - - past = '{0} таму' - future = 'праз {0}' - - timeframes = { - 'now': 'зараз', - 'seconds': 'некалькі секунд', - 'minute': 'хвіліну', - 'minutes': ['{0} хвіліну', '{0} хвіліны', '{0} хвілін'], - 'hour': 'гадзіну', - 'hours': ['{0} гадзіну', '{0} гадзіны', '{0} гадзін'], - 'day': 'дзень', - 'days': ['{0} дзень', '{0} дні', '{0} дзён'], - 'month': 'месяц', - 'months': ['{0} месяц', '{0} месяцы', '{0} месяцаў'], - 'year': 'год', - 'years': ['{0} год', '{0} гады', '{0} гадоў'], - } - - month_names = ['', 'студзеня', 'лютага', 'сакавіка', 'красавіка', 'траўня', 'чэрвеня', - 'ліпеня', 'жніўня', 'верасня', 'кастрычніка', 'лістапада', 'снежня'] - month_abbreviations = ['', 'студ', 'лют', 'сак', 'крас', 'трав', 'чэрв', 'ліп', 'жнів', - 'вер', 'каст', 'ліст', 'снеж'] - - day_names = ['', 'панядзелак', 'аўторак', 'серада', 'чацвер', 'пятніца', 'субота', 'нядзеля'] - day_abbreviations = ['', 'пн', 'ат', 'ср', 'чц', 'пт', 'сб', 'нд'] - - -class PolishLocale(SlavicBaseLocale): - - names = ['pl', 'pl_pl'] - - past = '{0} temu' - future = 'za {0}' - - timeframes = { - 'now': 'teraz', - 'seconds': 'kilka sekund', - 'minute': 'minutę', - 'minutes': ['{0} minut', '{0} minuty', '{0} minut'], - 'hour': 'godzina', - 'hours': ['{0} godzin', '{0} godziny', '{0} godzin'], - 'day': 'dzień', - 'days': ['{0} dzień', '{0} dni', '{0} dni'], - 'month': 'miesiąc', - 'months': ['{0} miesiąc', '{0} miesiące', '{0} miesięcy'], - 'year': 'rok', - 'years': ['{0} rok', '{0} lata', '{0} lat'], - } - - month_names = ['', 'styczeń', 'luty', 'marzec', 'kwiecień', 'maj', - 'czerwiec', 'lipiec', 'sierpień', 'wrzesień', 'październik', - 'listopad', 'grudzień'] - month_abbreviations = ['', 'sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', - 'sie', 'wrz', 'paź', 'lis', 'gru'] - - day_names = ['', 'poniedziałek', 'wtorek', 'środa', 'czwartek', 'piątek', - 'sobota', 'niedziela'] - day_abbreviations = ['', 'Pn', 'Wt', 'Śr', 'Czw', 'Pt', 'So', 'Nd'] - - -class RussianLocale(SlavicBaseLocale): - - names = ['ru', 'ru_ru'] - - past = '{0} назад' - future = 'через {0}' - - timeframes = { - 'now': 'сейчас', - 'seconds': 'несколько секунд', - 'minute': 'минуту', - 'minutes': ['{0} минуту', '{0} минуты', '{0} минут'], - 'hour': 'час', - 'hours': ['{0} час', '{0} часа', '{0} часов'], - 'day': 'день', - 'days': ['{0} день', '{0} дня', '{0} дней'], - 'month': 'месяц', - 'months': ['{0} месяц', '{0} месяца', '{0} месяцев'], - 'year': 'год', - 'years': ['{0} год', '{0} года', '{0} лет'], - } - - month_names = ['', 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', - 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'] - month_abbreviations = ['', 'янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', - 'авг', 'сен', 'окт', 'ноя', 'дек'] - - day_names = ['', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', - 'суббота', 'воскресенье'] - day_abbreviations = ['', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс'] - - -class BulgarianLocale(SlavicBaseLocale): - - names = ['bg', 'bg_BG'] - - past = '{0} назад' - future = 'напред {0}' - - timeframes = { - 'now': 'сега', - 'seconds': 'няколко секунди', - 'minute': 'минута', - 'minutes': ['{0} минута', '{0} минути', '{0} минути'], - 'hour': 'час', - 'hours': ['{0} час', '{0} часа', '{0} часа'], - 'day': 'ден', - 'days': ['{0} ден', '{0} дни', '{0} дни'], - 'month': 'месец', - 'months': ['{0} месец', '{0} месеца', '{0} месеца'], - 'year': 'година', - 'years': ['{0} година', '{0} години', '{0} години'], - } - - month_names = ['', 'януари', 'февруари', 'март', 'април', 'май', 'юни', - 'юли', 'август', 'септември', 'октомври', 'ноември', 'декември'] - month_abbreviations = ['', 'ян', 'февр', 'март', 'апр', 'май', 'юни', 'юли', - 'авг', 'септ', 'окт', 'ноем', 'дек'] - - day_names = ['', 'понеделник', 'вторник', 'сряда', 'четвъртък', 'петък', - 'събота', 'неделя'] - day_abbreviations = ['', 'пон', 'вт', 'ср', 'четв', 'пет', 'съб', 'нед'] - - -class UkrainianLocale(SlavicBaseLocale): - - names = ['ua', 'uk_ua'] - - past = '{0} тому' - future = 'за {0}' - - timeframes = { - 'now': 'зараз', - 'seconds': 'кілька секунд', - 'minute': 'хвилину', - 'minutes': ['{0} хвилину', '{0} хвилини', '{0} хвилин'], - 'hour': 'годину', - 'hours': ['{0} годину', '{0} години', '{0} годин'], - 'day': 'день', - 'days': ['{0} день', '{0} дні', '{0} днів'], - 'month': 'місяць', - 'months': ['{0} місяць', '{0} місяці', '{0} місяців'], - 'year': 'рік', - 'years': ['{0} рік', '{0} роки', '{0} років'], - } - - month_names = ['', 'січня', 'лютого', 'березня', 'квітня', 'травня', 'червня', - 'липня', 'серпня', 'вересня', 'жовтня', 'листопада', 'грудня'] - month_abbreviations = ['', 'січ', 'лют', 'бер', 'квіт', 'трав', 'черв', 'лип', 'серп', - 'вер', 'жовт', 'лист', 'груд'] - - day_names = ['', 'понеділок', 'вівторок', 'середа', 'четвер', 'п’ятниця', 'субота', 'неділя'] - day_abbreviations = ['', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'нд'] - - -class _DeutschLocaleCommonMixin(object): - - past = 'vor {0}' - future = 'in {0}' - - timeframes = { - 'now': 'gerade eben', - 'seconds': 'Sekunden', - 'minute': 'einer Minute', - 'minutes': '{0} Minuten', - 'hour': 'einer Stunde', - 'hours': '{0} Stunden', - 'day': 'einem Tag', - 'days': '{0} Tagen', - 'month': 'einem Monat', - 'months': '{0} Monaten', - 'year': 'einem Jahr', - 'years': '{0} Jahren', - } - - month_names = [ - '', 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', - 'August', 'September', 'Oktober', 'November', 'Dezember' - ] - - month_abbreviations = [ - '', 'Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', - 'Okt', 'Nov', 'Dez' - ] - - day_names = [ - '', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', - 'Samstag', 'Sonntag' - ] - - day_abbreviations = [ - '', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So' - ] - - def _ordinal_number(self, n): - return '{0}.'.format(n) - - -class GermanLocale(_DeutschLocaleCommonMixin, Locale): - - names = ['de', 'de_de'] - - timeframes = _DeutschLocaleCommonMixin.timeframes.copy() - timeframes['days'] = '{0} Tagen' - - -class AustriaLocale(_DeutschLocaleCommonMixin, Locale): - - names = ['de', 'de_at'] - - timeframes = _DeutschLocaleCommonMixin.timeframes.copy() - timeframes['days'] = '{0} Tage' - - -class NorwegianLocale(Locale): - - names = ['nb', 'nb_no'] - - past = 'for {0} siden' - future = 'om {0}' - - timeframes = { - 'now': 'nå nettopp', - 'seconds': 'noen sekunder', - 'minute': 'ett minutt', - 'minutes': '{0} minutter', - 'hour': 'en time', - 'hours': '{0} timer', - 'day': 'en dag', - 'days': '{0} dager', - 'month': 'en måned', - 'months': '{0} måneder', - 'year': 'ett år', - 'years': '{0} år', - } - - month_names = ['', 'januar', 'februar', 'mars', 'april', 'mai', 'juni', - 'juli', 'august', 'september', 'oktober', 'november', - 'desember'] - month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'des'] - - day_names = ['', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', - 'lørdag', 'søndag'] - day_abbreviations = ['', 'ma', 'ti', 'on', 'to', 'fr', 'lø', 'sø'] - - -class NewNorwegianLocale(Locale): - - names = ['nn', 'nn_no'] - - past = 'for {0} sidan' - future = 'om {0}' - - timeframes = { - 'now': 'no nettopp', - 'seconds': 'nokre sekund', - 'minute': 'ett minutt', - 'minutes': '{0} minutt', - 'hour': 'ein time', - 'hours': '{0} timar', - 'day': 'ein dag', - 'days': '{0} dagar', - 'month': 'en månad', - 'months': '{0} månader', - 'year': 'eit år', - 'years': '{0} år', - } - - month_names = ['', 'januar', 'februar', 'mars', 'april', 'mai', 'juni', - 'juli', 'august', 'september', 'oktober', 'november', - 'desember'] - month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', - 'aug', 'sep', 'okt', 'nov', 'des'] - - day_names = ['', 'måndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', - 'laurdag', 'sundag'] - day_abbreviations = ['', 'må', 'ty', 'on', 'to', 'fr', 'la', 'su'] - - -class PortugueseLocale(Locale): - names = ['pt', 'pt_pt'] - - past = 'há {0}' - future = 'em {0}' - - timeframes = { - 'now': 'agora', - 'seconds': 'segundos', - 'minute': 'um minuto', - 'minutes': '{0} minutos', - 'hour': 'uma hora', - 'hours': '{0} horas', - 'day': 'um dia', - 'days': '{0} dias', - 'month': 'um mês', - 'months': '{0} meses', - 'year': 'um ano', - 'years': '{0} anos', - } - - month_names = ['', 'janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', - 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'] - month_abbreviations = ['', 'jan', 'fev', 'mar', 'abr', 'maio', 'jun', 'jul', 'ago', - 'set', 'out', 'nov', 'dez'] - - day_names = ['', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', - 'sábado', 'domingo'] - day_abbreviations = ['', 'seg', 'ter', 'qua', 'qui', 'sex', 'sab', 'dom'] - - -class BrazilianPortugueseLocale(PortugueseLocale): - names = ['pt_br'] - - past = 'fazem {0}' - - -class TagalogLocale(Locale): - - names = ['tl'] - - past = 'nakaraang {0}' - future = '{0} mula ngayon' - - timeframes = { - 'now': 'ngayon lang', - 'seconds': 'segundo', - 'minute': 'isang minuto', - 'minutes': '{0} minuto', - 'hour': 'isang oras', - 'hours': '{0} oras', - 'day': 'isang araw', - 'days': '{0} araw', - 'month': 'isang buwan', - 'months': '{0} buwan', - 'year': 'isang taon', - 'years': '{0} taon', - } - - month_names = ['', 'Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', - 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'] - month_abbreviations = ['', 'Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', - 'Set', 'Okt', 'Nob', 'Dis'] - - day_names = ['', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', 'Biyernes', 'Sabado', 'Linggo'] - day_abbreviations = ['', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab', 'Lin'] - - -class VietnameseLocale(Locale): - - names = ['vi', 'vi_vn'] - - past = '{0} trước' - future = '{0} nữa' - - timeframes = { - 'now': 'hiện tại', - 'seconds': 'giây', - 'minute': 'một phút', - 'minutes': '{0} phút', - 'hour': 'một giờ', - 'hours': '{0} giờ', - 'day': 'một ngày', - 'days': '{0} ngày', - 'month': 'một tháng', - 'months': '{0} tháng', - 'year': 'một năm', - 'years': '{0} năm', - } - - month_names = ['', 'Tháng Một', 'Tháng Hai', 'Tháng Ba', 'Tháng Tư', 'Tháng Năm', 'Tháng Sáu', 'Tháng Bảy', - 'Tháng Tám', 'Tháng Chín', 'Tháng Mười', 'Tháng Mười Một', 'Tháng Mười Hai'] - month_abbreviations = ['', 'Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', - 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'] - - day_names = ['', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy', 'Chủ Nhật'] - day_abbreviations = ['', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7', 'CN'] - - -class TurkishLocale(Locale): - - names = ['tr', 'tr_tr'] - - past = '{0} önce' - future = '{0} sonra' - - timeframes = { - 'now': 'şimdi', - 'seconds': 'saniye', - 'minute': 'bir dakika', - 'minutes': '{0} dakika', - 'hour': 'bir saat', - 'hours': '{0} saat', - 'day': 'bir gün', - 'days': '{0} gün', - 'month': 'bir ay', - 'months': '{0} ay', - 'year': 'a yıl', - 'years': '{0} yıl', - } - - month_names = ['', 'Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', - 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'] - month_abbreviations = ['', 'Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', - 'Eyl', 'Eki', 'Kas', 'Ara'] - - day_names = ['', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi', 'Pazar'] - day_abbreviations = ['', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt', 'Paz'] - - -class ArabicLocale(Locale): - - names = ['ar', 'ar_eg'] - - past = 'منذ {0}' - future = 'خلال {0}' - - timeframes = { - 'now': 'الآن', - 'seconds': 'ثوان', - 'minute': 'دقيقة', - 'minutes': '{0} دقائق', - 'hour': 'ساعة', - 'hours': '{0} ساعات', - 'day': 'يوم', - 'days': '{0} أيام', - 'month': 'شهر', - 'months': '{0} شهور', - 'year': 'سنة', - 'years': '{0} سنوات', - } - - month_names = ['', 'يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', - 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'] - month_abbreviations = ['', 'يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', - 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'] - - day_names = ['', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت', 'الأحد'] - day_abbreviations = ['', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت', 'أحد'] - - -class IcelandicLocale(Locale): - - def _format_timeframe(self, timeframe, delta): - - timeframe = self.timeframes[timeframe] - if delta < 0: - timeframe = timeframe[0] - elif delta > 0: - timeframe = timeframe[1] - - return timeframe.format(abs(delta)) - - names = ['is', 'is_is'] - - past = 'fyrir {0} síðan' - future = 'eftir {0}' - - timeframes = { - 'now': 'rétt í þessu', - 'seconds': ('nokkrum sekúndum', 'nokkrar sekúndur'), - 'minute': ('einni mínútu', 'eina mínútu'), - 'minutes': ('{0} mínútum', '{0} mínútur'), - 'hour': ('einum tíma', 'einn tíma'), - 'hours': ('{0} tímum', '{0} tíma'), - 'day': ('einum degi', 'einn dag'), - 'days': ('{0} dögum', '{0} daga'), - 'month': ('einum mánuði', 'einn mánuð'), - 'months': ('{0} mánuðum', '{0} mánuði'), - 'year': ('einu ári', 'eitt ár'), - 'years': ('{0} árum', '{0} ár'), - } - - meridians = { - 'am': 'f.h.', - 'pm': 'e.h.', - 'AM': 'f.h.', - 'PM': 'e.h.', - } - - month_names = ['', 'janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', - 'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember'] - month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'maí', 'jún', - 'júl', 'ágú', 'sep', 'okt', 'nóv', 'des'] - - day_names = ['', 'mánudagur', 'þriðjudagur', 'miðvikudagur', 'fimmtudagur', - 'föstudagur', 'laugardagur', 'sunnudagur'] - day_abbreviations = ['', 'mán', 'þri', 'mið', 'fim', 'fös', 'lau', 'sun'] - - -class DanishLocale(Locale): - - names = ['da', 'da_dk'] - - past = 'for {0} siden' - future = 'efter {0}' - - timeframes = { - 'now': 'lige nu', - 'seconds': 'et par sekunder', - 'minute': 'et minut', - 'minutes': '{0} minutter', - 'hour': 'en time', - 'hours': '{0} timer', - 'day': 'en dag', - 'days': '{0} dage', - 'month': 'en måned', - 'months': '{0} måneder', - 'year': 'et år', - 'years': '{0} år', - } - - month_names = ['', 'januar', 'februar', 'marts', 'april', 'maj', 'juni', - 'juli', 'august', 'september', 'oktober', 'november', 'december'] - month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'maj', 'jun', - 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'] - - day_names = ['', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', - 'lørdag', 'søndag'] - day_abbreviations = ['', 'man', 'tir', 'ons', 'tor', 'fre', 'lør', 'søn'] - - -class MalayalamLocale(Locale): - - names = ['ml'] - - past = '{0} മുമ്പ്' - future = '{0} ശേഷം' - - timeframes = { - 'now': 'ഇപ്പോൾ', - 'seconds': 'സെക്കന്റ്‌', - 'minute': 'ഒരു മിനിറ്റ്', - 'minutes': '{0} മിനിറ്റ്', - 'hour': 'ഒരു മണിക്കൂർ', - 'hours': '{0} മണിക്കൂർ', - 'day': 'ഒരു ദിവസം ', - 'days': '{0} ദിവസം ', - 'month': 'ഒരു മാസം ', - 'months': '{0} മാസം ', - 'year': 'ഒരു വർഷം ', - 'years': '{0} വർഷം ', - } - - meridians = { - 'am': 'രാവിലെ', - 'pm': 'ഉച്ചക്ക് ശേഷം', - 'AM': 'രാവിലെ', - 'PM': 'ഉച്ചക്ക് ശേഷം', - } - - month_names = ['', 'ജനുവരി', 'ഫെബ്രുവരി', 'മാർച്ച്‌', 'ഏപ്രിൽ ', 'മെയ്‌ ', 'ജൂണ്‍', 'ജൂലൈ', - 'ഓഗസ്റ്റ്‌', 'സെപ്റ്റംബർ', 'ഒക്ടോബർ', 'നവംബർ', 'ഡിസംബർ'] - month_abbreviations = ['', 'ജനു', 'ഫെബ് ', 'മാർ', 'ഏപ്രിൽ', 'മേയ്', 'ജൂണ്‍', 'ജൂലൈ', 'ഓഗസ്റ', - 'സെപ്റ്റ', 'ഒക്ടോ', 'നവം', 'ഡിസം'] - - day_names = ['', 'തിങ്കള്‍', 'ചൊവ്വ', 'ബുധന്‍', 'വ്യാഴം', 'വെള്ളി', 'ശനി', 'ഞായര്‍'] - day_abbreviations = ['', 'തിങ്കള്‍', 'ചൊവ്വ', 'ബുധന്‍', 'വ്യാഴം', 'വെള്ളി', 'ശനി', 'ഞായര്‍'] - - -class HindiLocale(Locale): - - names = ['hi'] - - past = '{0} पहले' - future = '{0} बाद' - - timeframes = { - 'now': 'अभी', - 'seconds': 'सेकंड्', - 'minute': 'एक मिनट ', - 'minutes': '{0} मिनट ', - 'hour': 'एक घंटा', - 'hours': '{0} घंटे', - 'day': 'एक दिन', - 'days': '{0} दिन', - 'month': 'एक माह ', - 'months': '{0} महीने ', - 'year': 'एक वर्ष ', - 'years': '{0} साल ', - } - - meridians = { - 'am': 'सुबह', - 'pm': 'शाम', - 'AM': 'सुबह', - 'PM': 'शाम', - } - - month_names = ['', 'जनवरी', 'फरवरी', 'मार्च', 'अप्रैल ', 'मई', 'जून', 'जुलाई', - 'अगस्त', 'सितंबर', 'अक्टूबर', 'नवंबर', 'दिसंबर'] - month_abbreviations = ['', 'जन', 'फ़र', 'मार्च', 'अप्रै', 'मई', 'जून', 'जुलाई', 'आग', - 'सित', 'अकत', 'नवे', 'दिस'] - - day_names = ['', 'सोमवार', 'मंगलवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार', 'रविवार'] - day_abbreviations = ['', 'सोम', 'मंगल', 'बुध', 'गुरुवार', 'शुक्र', 'शनि', 'रवि'] - -class CzechLocale(Locale): - names = ['cs', 'cs_cz'] - - timeframes = { - 'now': 'Teď', - 'seconds': { - 'past': '{0} sekundami', - 'future': ['{0} sekundy', '{0} sekund'] - }, - 'minute': {'past': 'minutou', 'future': 'minutu', 'zero': '{0} minut'}, - 'minutes': { - 'past': '{0} minutami', - 'future': ['{0} minuty', '{0} minut'] - }, - 'hour': {'past': 'hodinou', 'future': 'hodinu', 'zero': '{0} hodin'}, - 'hours': { - 'past': '{0} hodinami', - 'future': ['{0} hodiny', '{0} hodin'] - }, - 'day': {'past': 'dnem', 'future': 'den', 'zero': '{0} dnů'}, - 'days': { - 'past': '{0} dny', - 'future': ['{0} dny', '{0} dnů'] - }, - 'month': {'past': 'měsícem', 'future': 'měsíc', 'zero': '{0} měsíců'}, - 'months': { - 'past': '{0} měsíci', - 'future': ['{0} měsíce', '{0} měsíců'] - }, - 'year': {'past': 'rokem', 'future': 'rok', 'zero': '{0} let'}, - 'years': { - 'past': '{0} lety', - 'future': ['{0} roky', '{0} let'] - } - } - - past = 'Před {0}' - future = 'Za {0}' - - month_names = ['', 'leden', 'únor', 'březen', 'duben', 'květen', 'červen', - 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec'] - month_abbreviations = ['', 'led', 'úno', 'bře', 'dub', 'kvě', 'čvn', 'čvc', - 'srp', 'zář', 'říj', 'lis', 'pro'] - - day_names = ['', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', - 'sobota', 'neděle'] - day_abbreviations = ['', 'po', 'út', 'st', 'čt', 'pá', 'so', 'ne'] - - - def _format_timeframe(self, timeframe, delta): - '''Czech aware time frame format function, takes into account the differences between past and future forms.''' - form = self.timeframes[timeframe] - if isinstance(form, dict): - if delta == 0: - form = form['zero'] # And *never* use 0 in the singular! - elif delta > 0: - form = form['future'] - else: - form = form['past'] - delta = abs(delta) - - if isinstance(form, list): - if 2 <= delta % 10 <= 4 and (delta % 100 < 10 or delta % 100 >= 20): - form = form[0] - else: - form = form[1] - - return form.format(delta) - -class FarsiLocale(Locale): - - names = ['fa', 'fa_ir'] - - past = '{0} قبل' - future = 'در {0}' - - timeframes = { - 'now': 'اکنون', - 'seconds': 'ثانیه', - 'minute': 'یک دقیقه', - 'minutes': '{0} دقیقه', - 'hour': 'یک ساعت', - 'hours': '{0} ساعت', - 'day': 'یک روز', - 'days': '{0} روز', - 'month': 'یک ماه', - 'months': '{0} ماه', - 'year': 'یک سال', - 'years': '{0} سال', - } - - meridians = { - 'am': 'قبل از ظهر', - 'pm': 'بعد از ظهر', - 'AM': 'قبل از ظهر', - 'PM': 'بعد از ظهر', - } - - month_names = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', - 'August', 'September', 'October', 'November', 'December'] - month_abbreviations = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', - 'Sep', 'Oct', 'Nov', 'Dec'] - - day_names = ['', 'دو شنبه', 'سه شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه', 'یکشنبه'] - day_abbreviations = ['', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] - - -class MacedonianLocale(Locale): - names = ['mk', 'mk_mk'] - - past = 'пред {0}' - future = 'за {0}' - - timeframes = { - 'now': 'сега', - 'seconds': 'секунди', - 'minute': 'една минута', - 'minutes': '{0} минути', - 'hour': 'еден саат', - 'hours': '{0} саати', - 'day': 'еден ден', - 'days': '{0} дена', - 'month': 'еден месец', - 'months': '{0} месеци', - 'year': 'една година', - 'years': '{0} години', - } - - meridians = { - 'am': 'дп', - 'pm': 'пп', - 'AM': 'претпладне', - 'PM': 'попладне', - } - - month_names = ['', 'Јануари', 'Февруари', 'Март', 'Април', 'Мај', 'Јуни', 'Јули', 'Август', 'Септември', 'Октомври', - 'Ноември', 'Декември'] - month_abbreviations = ['', 'Јан.', ' Фев.', ' Мар.', ' Апр.', ' Мај', ' Јун.', ' Јул.', ' Авг.', ' Септ.', ' Окт.', - ' Ноем.', ' Декем.'] - - day_names = ['', 'Понеделник', ' Вторник', ' Среда', ' Четврток', ' Петок', ' Сабота', ' Недела'] - day_abbreviations = ['', 'Пон.', ' Вт.', ' Сре.', ' Чет.', ' Пет.', ' Саб.', ' Нед.'] - - -class HebrewLocale(Locale): - - names = ['he', 'he_IL'] - - past = 'לפני {0}' - future = 'בעוד {0}' - - timeframes = { - 'now': 'הרגע', - 'seconds': 'שניות', - 'minute': 'דקה', - 'minutes': '{0} דקות', - 'hour': 'שעה', - 'hours': '{0} שעות', - '2-hours': 'שעתיים', - 'day': 'יום', - 'days': '{0} ימים', - '2-days': 'יומיים', - 'month': 'חודש', - 'months': '{0} חודשים', - '2-months': 'חודשיים', - 'year': 'שנה', - 'years': '{0} שנים', - '2-years': 'שנתיים', - } - - meridians = { - 'am': 'לפנ"צ', - 'pm': 'אחר"צ', - 'AM': 'לפני הצהריים', - 'PM': 'אחרי הצהריים', - } - - month_names = ['', 'ינואר', 'פברואר', 'מרץ', 'אפריל', 'מאי', 'יוני', 'יולי', - 'אוגוסט', 'ספטמבר', 'אוקטובר', 'נובמבר', 'דצמבר'] - month_abbreviations = ['', 'ינו׳', 'פבר׳', 'מרץ', 'אפר׳', 'מאי', 'יוני', 'יולי', 'אוג׳', - 'ספט׳', 'אוק׳', 'נוב׳', 'דצמ׳'] - - day_names = ['', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת', 'ראשון'] - day_abbreviations = ['', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳', 'א׳'] - - def _format_timeframe(self, timeframe, delta): - '''Hebrew couple of aware''' - couple = '2-{0}'.format(timeframe) - if abs(delta) == 2 and couple in self.timeframes: - return self.timeframes[couple].format(abs(delta)) - else: - return self.timeframes[timeframe].format(abs(delta)) - -class MarathiLocale(Locale): - - names = ['mr'] - - past = '{0} आधी' - future = '{0} नंतर' - - timeframes = { - 'now': 'सद्य', - 'seconds': 'सेकंद', - 'minute': 'एक मिनिट ', - 'minutes': '{0} मिनिट ', - 'hour': 'एक तास', - 'hours': '{0} तास', - 'day': 'एक दिवस', - 'days': '{0} दिवस', - 'month': 'एक महिना ', - 'months': '{0} महिने ', - 'year': 'एक वर्ष ', - 'years': '{0} वर्ष ', - } - - meridians = { - 'am': 'सकाळ', - 'pm': 'संध्याकाळ', - 'AM': 'सकाळ', - 'PM': 'संध्याकाळ', - } - - month_names = ['', 'जानेवारी', 'फेब्रुवारी', 'मार्च', 'एप्रिल', 'मे', 'जून', 'जुलै', - 'अॉगस्ट', 'सप्टेंबर', 'अॉक्टोबर', 'नोव्हेंबर', 'डिसेंबर'] - month_abbreviations = ['', 'जान', 'फेब्रु', 'मार्च', 'एप्रि', 'मे', 'जून', 'जुलै', 'अॉग', - 'सप्टें', 'अॉक्टो', 'नोव्हें', 'डिसें'] - - day_names = ['', 'सोमवार', 'मंगळवार', 'बुधवार', 'गुरुवार', 'शुक्रवार', 'शनिवार', 'रविवार'] - day_abbreviations = ['', 'सोम', 'मंगळ', 'बुध', 'गुरु', 'शुक्र', 'शनि', 'रवि'] - -def _map_locales(): - - locales = {} - - for cls_name, cls in inspect.getmembers(sys.modules[__name__], inspect.isclass): - if issubclass(cls, Locale): - for name in cls.names: - locales[name.lower()] = cls - - return locales - -class CatalanLocale(Locale): - names = ['ca', 'ca_es', 'ca_ad', 'ca_fr', 'ca_it'] - past = 'Fa {0}' - future = 'En {0}' - - timeframes = { - 'now': 'Ara mateix', - 'seconds': 'segons', - 'minute': '1 minut', - 'minutes': '{0} minuts', - 'hour': 'una hora', - 'hours': '{0} hores', - 'day': 'un dia', - 'days': '{0} dies', - 'month': 'un mes', - 'months': '{0} mesos', - 'year': 'un any', - 'years': '{0} anys', - } - - month_names = ['', 'Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny', 'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre'] - month_abbreviations = ['', 'Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny', 'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre'] - day_names = ['', 'Dilluns', 'Dimarts', 'Dimecres', 'Dijous', 'Divendres', 'Dissabte', 'Diumenge'] - day_abbreviations = ['', 'Dilluns', 'Dimarts', 'Dimecres', 'Dijous', 'Divendres', 'Dissabte', 'Diumenge'] - -class BasqueLocale(Locale): - names = ['eu', 'eu_eu'] - past = 'duela {0}' - future = '{0}' # I don't know what's the right phrase in Basque for the future. - - timeframes = { - 'now': 'Orain', - 'seconds': 'segundu', - 'minute': 'minutu bat', - 'minutes': '{0} minutu', - 'hour': 'ordu bat', - 'hours': '{0} ordu', - 'day': 'egun bat', - 'days': '{0} egun', - 'month': 'hilabete bat', - 'months': '{0} hilabet', - 'year': 'urte bat', - 'years': '{0} urte', - } - - month_names = ['', 'urtarrilak', 'otsailak', 'martxoak', 'apirilak', 'maiatzak', 'ekainak', 'uztailak', 'abuztuak', 'irailak', 'urriak', 'azaroak', 'abenduak'] - month_abbreviations = ['', 'urt', 'ots', 'mar', 'api', 'mai', 'eka', 'uzt', 'abu', 'ira', 'urr', 'aza', 'abe'] - day_names = ['', 'asteleehna', 'asteartea', 'asteazkena', 'osteguna', 'ostirala', 'larunbata', 'igandea'] - day_abbreviations = ['', 'al', 'ar', 'az', 'og', 'ol', 'lr', 'ig'] - - -class HungarianLocale(Locale): - - names = ['hu', 'hu_hu'] - - past = '{0} ezelőtt' - future = '{0} múlva' - - timeframes = { - 'now': 'éppen most', - 'seconds': { - 'past': 'másodpercekkel', - 'future': 'pár másodperc' - }, - 'minute': {'past': 'egy perccel', 'future': 'egy perc'}, - 'minutes': {'past': '{0} perccel', 'future': '{0} perc'}, - 'hour': {'past': 'egy órával', 'future': 'egy óra'}, - 'hours': {'past': '{0} órával', 'future': '{0} óra'}, - 'day': { - 'past': 'egy nappal', - 'future': 'egy nap' - }, - 'days': { - 'past': '{0} nappal', - 'future': '{0} nap' - }, - 'month': {'past': 'egy hónappal', 'future': 'egy hónap'}, - 'months': {'past': '{0} hónappal', 'future': '{0} hónap'}, - 'year': {'past': 'egy évvel', 'future': 'egy év'}, - 'years': {'past': '{0} évvel', 'future': '{0} év'}, - } - - month_names = ['', 'január', 'február', 'március', 'április', 'május', - 'június', 'július', 'augusztus', 'szeptember', - 'október', 'november', 'december'] - month_abbreviations = ['', 'jan', 'febr', 'márc', 'ápr', 'máj', 'jún', - 'júl', 'aug', 'szept', 'okt', 'nov', 'dec'] - - day_names = ['', 'hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', - 'szombat', 'vasárnap'] - day_abbreviations = ['', 'hét', 'kedd', 'szer', 'csüt', 'pént', - 'szom', 'vas'] - - meridians = { - 'am': 'de', - 'pm': 'du', - 'AM': 'DE', - 'PM': 'DU', - } - - def _format_timeframe(self, timeframe, delta): - form = self.timeframes[timeframe] - - if isinstance(form, dict): - if delta > 0: - form = form['future'] - else: - form = form['past'] - - return form.format(abs(delta)) - - -class EsperantoLocale(Locale): - names = ['eo', 'eo_xx'] - past = 'antaŭ {0}' - future = 'post {0}' - - timeframes = { - 'now': 'nun', - 'seconds': 'kelkaj sekundoj', - 'minute': 'unu minuto', - 'minutes': '{0} minutoj', - 'hour': 'un horo', - 'hours': '{0} horoj', - 'day': 'unu tago', - 'days': '{0} tagoj', - 'month': 'unu monato', - 'months': '{0} monatoj', - 'year': 'unu jaro', - 'years': '{0} jaroj', - } - - month_names = ['', 'januaro', 'februaro', 'marto', 'aprilo', 'majo', - 'junio', 'julio', 'aŭgusto', 'septembro', 'oktobro', - 'novembro', 'decembro'] - month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'maj', 'jun', - 'jul', 'aŭg', 'sep', 'okt', 'nov', 'dec'] - - day_names = ['', 'lundo', 'mardo', 'merkredo', 'ĵaŭdo', 'vendredo', - 'sabato', 'dimanĉo'] - day_abbreviations = ['', 'lun', 'mar', 'mer', 'ĵaŭ', 'ven', - 'sab', 'dim'] - - meridians = { - 'am': 'atm', - 'pm': 'ptm', - 'AM': 'ATM', - 'PM': 'PTM', - } - - ordinal_day_re = r'((?P[1-3]?[0-9](?=a))a)' - - def _ordinal_number(self, n): - return '{0}a'.format(n) - - -class ThaiLocale(Locale): - - names = ['th', 'th_th'] - - past = '{0}{1}ที่ผ่านมา' - future = 'ในอีก{1}{0}' - - timeframes = { - 'now': 'ขณะนี้', - 'seconds': 'ไม่กี่วินาที', - 'minute': '1 นาที', - 'minutes': '{0} นาที', - 'hour': '1 ชั่วโมง', - 'hours': '{0} ชั่วโมง', - 'day': '1 วัน', - 'days': '{0} วัน', - 'month': '1 เดือน', - 'months': '{0} เดือน', - 'year': '1 ปี', - 'years': '{0} ปี', - } - - month_names = ['', 'มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', - 'พฤษภาคม', 'มิถุนายน', 'กรกฏาคม', 'สิงหาคม', - 'กันยายน', 'ตุลาคม', 'พฤศจิกายน', 'ธันวาคม'] - month_abbreviations = ['', 'ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', - 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', - 'พ.ย.', 'ธ.ค.'] - - day_names = ['', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัสบดี', 'ศุกร์', - 'เสาร์', 'อาทิตย์'] - day_abbreviations = ['', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส', 'อา'] - - meridians = { - 'am': 'am', - 'pm': 'pm', - 'AM': 'AM', - 'PM': 'PM', - } - - BE_OFFSET = 543 - - def year_full(self, year): - '''Thai always use Buddhist Era (BE) which is CE + 543''' - year += self.BE_OFFSET - return '{0:04d}'.format(year) - - def year_abbreviation(self, year): - '''Thai always use Buddhist Era (BE) which is CE + 543''' - year += self.BE_OFFSET - return '{0:04d}'.format(year)[2:] - - def _format_relative(self, humanized, timeframe, delta): - '''Thai normally doesn't have any space between words''' - if timeframe == 'now': - return humanized - space = '' if timeframe == 'seconds' else ' ' - direction = self.past if delta < 0 else self.future - - return direction.format(humanized, space) - - - -class BengaliLocale(Locale): - - names = ['bn', 'bn_bd', 'bn_in'] - - past = '{0} আগে' - future = '{0} পরে' - - timeframes = { - 'now': 'এখন', - 'seconds': 'সেকেন্ড', - 'minute': 'এক মিনিট', - 'minutes': '{0} মিনিট', - 'hour': 'এক ঘণ্টা', - 'hours': '{0} ঘণ্টা', - 'day': 'এক দিন', - 'days': '{0} দিন', - 'month': 'এক মাস', - 'months': '{0} মাস ', - 'year': 'এক বছর', - 'years': '{0} বছর', - } - - meridians = { - 'am': 'সকাল', - 'pm': 'বিকাল', - 'AM': 'সকাল', - 'PM': 'বিকাল', - } - - month_names = ['', 'জানুয়ারি', 'ফেব্রুয়ারি', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', - 'আগস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর'] - month_abbreviations = ['', 'জানু', 'ফেব', 'মার্চ', 'এপ্রি', 'মে', 'জুন', 'জুল', - 'অগা','সেপ্ট', 'অক্টো', 'নভে', 'ডিসে'] - - day_names = ['', 'সোমবার', 'মঙ্গলবার', 'বুধবার', 'বৃহস্পতিবার', 'শুক্রবার', 'শনিবার', 'রবিবার'] - day_abbreviations = ['', 'সোম', 'মঙ্গল', 'বুধ', 'বৃহঃ', 'শুক্র', 'শনি', 'রবি'] - - def _ordinal_number(self, n): - if n > 10 or n == 0: - return '{0}তম'.format(n) - if n in [1, 5, 7, 8, 9, 10]: - return '{0}ম'.format(n) - if n in [2, 3]: - return '{0}য়'.format(n) - if n == 4: - return '{0}র্থ'.format(n) - if n == 6: - return '{0}ষ্ঠ'.format(n) - - -class RomanshLocale(Locale): - - names = ['rm', 'rm_ch'] - - past = 'avant {0}' - future = 'en {0}' - - timeframes = { - 'now': 'en quest mument', - 'seconds': 'secundas', - 'minute': 'ina minuta', - 'minutes': '{0} minutas', - 'hour': 'in\'ura', - 'hours': '{0} ura', - 'day': 'in di', - 'days': '{0} dis', - 'month': 'in mais', - 'months': '{0} mais', - 'year': 'in onn', - 'years': '{0} onns', - } - - month_names = [ - '', 'schaner', 'favrer', 'mars', 'avrigl', 'matg', 'zercladur', - 'fanadur', 'avust', 'settember', 'october', 'november', 'december' - ] - - month_abbreviations = [ - '', 'schan', 'fav', 'mars', 'avr', 'matg', 'zer', 'fan', 'avu', - 'set', 'oct', 'nov', 'dec' - ] - - day_names = [ - '', 'glindesdi', 'mardi', 'mesemna', 'gievgia', 'venderdi', - 'sonda', 'dumengia' - ] - - day_abbreviations = [ - '', 'gli', 'ma', 'me', 'gie', 've', 'so', 'du' - ] - - -_locales = _map_locales() diff --git a/arrow/parser.py b/arrow/parser.py deleted file mode 100644 index 6e94a10..0000000 --- a/arrow/parser.py +++ /dev/null @@ -1,331 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import -from __future__ import unicode_literals - -from datetime import datetime -from dateutil import tz -import re -from arrow import locales - - -class ParserError(RuntimeError): - pass - - -class DateTimeParser(object): - - _FORMAT_RE = re.compile('(YYY?Y?|MM?M?M?|Do|DD?D?D?|d?d?d?d|HH?|hh?|mm?|ss?|SS?S?S?S?S?|ZZ?Z?|a|A|X)') - _ESCAPE_RE = re.compile('\[[^\[\]]*\]') - - _ONE_THROUGH_SIX_DIGIT_RE = re.compile('\d{1,6}') - _ONE_THROUGH_FIVE_DIGIT_RE = re.compile('\d{1,5}') - _ONE_THROUGH_FOUR_DIGIT_RE = re.compile('\d{1,4}') - _ONE_TWO_OR_THREE_DIGIT_RE = re.compile('\d{1,3}') - _ONE_OR_TWO_DIGIT_RE = re.compile('\d{1,2}') - _FOUR_DIGIT_RE = re.compile('\d{4}') - _TWO_DIGIT_RE = re.compile('\d{2}') - _TZ_RE = re.compile('[+\-]?\d{2}:?(\d{2})?') - _TZ_NAME_RE = re.compile('\w[\w+\-/]+') - - - _BASE_INPUT_RE_MAP = { - 'YYYY': _FOUR_DIGIT_RE, - 'YY': _TWO_DIGIT_RE, - 'MM': _TWO_DIGIT_RE, - 'M': _ONE_OR_TWO_DIGIT_RE, - 'DD': _TWO_DIGIT_RE, - 'D': _ONE_OR_TWO_DIGIT_RE, - 'HH': _TWO_DIGIT_RE, - 'H': _ONE_OR_TWO_DIGIT_RE, - 'hh': _TWO_DIGIT_RE, - 'h': _ONE_OR_TWO_DIGIT_RE, - 'mm': _TWO_DIGIT_RE, - 'm': _ONE_OR_TWO_DIGIT_RE, - 'ss': _TWO_DIGIT_RE, - 's': _ONE_OR_TWO_DIGIT_RE, - 'X': re.compile('\d+'), - 'ZZZ': _TZ_NAME_RE, - 'ZZ': _TZ_RE, - 'Z': _TZ_RE, - 'SSSSSS': _ONE_THROUGH_SIX_DIGIT_RE, - 'SSSSS': _ONE_THROUGH_FIVE_DIGIT_RE, - 'SSSS': _ONE_THROUGH_FOUR_DIGIT_RE, - 'SSS': _ONE_TWO_OR_THREE_DIGIT_RE, - 'SS': _ONE_OR_TWO_DIGIT_RE, - 'S': re.compile('\d'), - } - - MARKERS = ['YYYY', 'MM', 'DD'] - SEPARATORS = ['-', '/', '.'] - - def __init__(self, locale='en_us'): - - self.locale = locales.get_locale(locale) - self._input_re_map = self._BASE_INPUT_RE_MAP.copy() - self._input_re_map.update({ - 'MMMM': self._choice_re(self.locale.month_names[1:], re.IGNORECASE), - 'MMM': self._choice_re(self.locale.month_abbreviations[1:], - re.IGNORECASE), - 'Do': re.compile(self.locale.ordinal_day_re), - 'dddd': self._choice_re(self.locale.day_names[1:], re.IGNORECASE), - 'ddd': self._choice_re(self.locale.day_abbreviations[1:], - re.IGNORECASE), - 'd' : re.compile("[1-7]"), - 'a': self._choice_re( - (self.locale.meridians['am'], self.locale.meridians['pm']) - ), - # note: 'A' token accepts both 'am/pm' and 'AM/PM' formats to - # ensure backwards compatibility of this token - 'A': self._choice_re(self.locale.meridians.values()) - }) - - def parse_iso(self, string): - - has_time = 'T' in string or ' ' in string.strip() - space_divider = ' ' in string.strip() - - if has_time: - if space_divider: - date_string, time_string = string.split(' ', 1) - else: - date_string, time_string = string.split('T', 1) - time_parts = re.split('[+-]', time_string, 1) - has_tz = len(time_parts) > 1 - has_seconds = time_parts[0].count(':') > 1 - has_subseconds = '.' in time_parts[0] - - if has_subseconds: - subseconds_token = 'S' * min(len(re.split('\D+', time_parts[0].split('.')[1], 1)[0]), 6) - formats = ['YYYY-MM-DDTHH:mm:ss.%s' % subseconds_token] - elif has_seconds: - formats = ['YYYY-MM-DDTHH:mm:ss'] - else: - formats = ['YYYY-MM-DDTHH:mm'] - else: - has_tz = False - # generate required formats: YYYY-MM-DD, YYYY-MM-DD, YYYY - # using various separators: -, /, . - l = len(self.MARKERS) - formats = [separator.join(self.MARKERS[:l-i]) - for i in range(l) - for separator in self.SEPARATORS] - - if has_time and has_tz: - formats = [f + 'Z' for f in formats] - - if space_divider: - formats = [item.replace('T', ' ', 1) for item in formats] - - return self._parse_multiformat(string, formats) - - def parse(self, string, fmt): - - if isinstance(fmt, list): - return self._parse_multiformat(string, fmt) - - # fmt is a string of tokens like 'YYYY-MM-DD' - # we construct a new string by replacing each - # token by its pattern: - # 'YYYY-MM-DD' -> '(?P\d{4})-(?P\d{2})-(?P
\d{2})' - tokens = [] - offset = 0 - - # Extract the bracketed expressions to be reinserted later. - escaped_fmt = re.sub(self._ESCAPE_RE, "#" , fmt) - escaped_data = re.findall(self._ESCAPE_RE, fmt) - - fmt_pattern = escaped_fmt - - for m in self._FORMAT_RE.finditer(escaped_fmt): - token = m.group(0) - try: - input_re = self._input_re_map[token] - except KeyError: - raise ParserError('Unrecognized token \'{0}\''.format(token)) - input_pattern = '(?P<{0}>{1})'.format(token, input_re.pattern) - tokens.append(token) - # a pattern doesn't have the same length as the token - # it replaces! We keep the difference in the offset variable. - # This works because the string is scanned left-to-right and matches - # are returned in the order found by finditer. - fmt_pattern = fmt_pattern[:m.start() + offset] + input_pattern + fmt_pattern[m.end() + offset:] - offset += len(input_pattern) - (m.end() - m.start()) - - final_fmt_pattern = "" - a = fmt_pattern.split("#") - b = escaped_data - - # Due to the way Python splits, 'a' will always be longer - for i in range(len(a)): - final_fmt_pattern += a[i] - if i < len(b): - final_fmt_pattern += b[i][1:-1] - - match = re.search(final_fmt_pattern, string, flags=re.IGNORECASE) - if match is None: - raise ParserError('Failed to match \'{0}\' when parsing \'{1}\''.format(final_fmt_pattern, string)) - parts = {} - for token in tokens: - if token == 'Do': - value = match.group('value') - else: - value = match.group(token) - self._parse_token(token, value, parts) - return self._build_datetime(parts) - - def _parse_token(self, token, value, parts): - - if token == 'YYYY': - parts['year'] = int(value) - elif token == 'YY': - value = int(value) - parts['year'] = 1900 + value if value > 68 else 2000 + value - - elif token in ['MMMM', 'MMM']: - parts['month'] = self.locale.month_number(value.lower()) - - elif token in ['MM', 'M']: - parts['month'] = int(value) - - elif token in ['DD', 'D']: - parts['day'] = int(value) - - elif token in ['Do']: - parts['day'] = int(value) - - elif token.upper() in ['HH', 'H']: - parts['hour'] = int(value) - - elif token in ['mm', 'm']: - parts['minute'] = int(value) - - elif token in ['ss', 's']: - parts['second'] = int(value) - - elif token == 'SSSSSS': - parts['microsecond'] = int(value) - elif token == 'SSSSS': - parts['microsecond'] = int(value) * 10 - elif token == 'SSSS': - parts['microsecond'] = int(value) * 100 - elif token == 'SSS': - parts['microsecond'] = int(value) * 1000 - elif token == 'SS': - parts['microsecond'] = int(value) * 10000 - elif token == 'S': - parts['microsecond'] = int(value) * 100000 - - elif token == 'X': - parts['timestamp'] = int(value) - - elif token in ['ZZZ', 'ZZ', 'Z']: - parts['tzinfo'] = TzinfoParser.parse(value) - - elif token in ['a', 'A']: - if value in ( - self.locale.meridians['am'], - self.locale.meridians['AM'] - ): - parts['am_pm'] = 'am' - elif value in ( - self.locale.meridians['pm'], - self.locale.meridians['PM'] - ): - parts['am_pm'] = 'pm' - - @staticmethod - def _build_datetime(parts): - - timestamp = parts.get('timestamp') - - if timestamp: - tz_utc = tz.tzutc() - return datetime.fromtimestamp(timestamp, tz=tz_utc) - - am_pm = parts.get('am_pm') - hour = parts.get('hour', 0) - - if am_pm == 'pm' and hour < 12: - hour += 12 - elif am_pm == 'am' and hour == 12: - hour = 0 - - return datetime(year=parts.get('year', 1), month=parts.get('month', 1), - day=parts.get('day', 1), hour=hour, minute=parts.get('minute', 0), - second=parts.get('second', 0), microsecond=parts.get('microsecond', 0), - tzinfo=parts.get('tzinfo')) - - def _parse_multiformat(self, string, formats): - - _datetime = None - - for fmt in formats: - try: - _datetime = self.parse(string, fmt) - break - except: - pass - - if _datetime is None: - raise ParserError('Could not match input to any of {0} on \'{1}\''.format(formats, string)) - - return _datetime - - @staticmethod - def _map_lookup(input_map, key): - - try: - return input_map[key] - except KeyError: - raise ParserError('Could not match "{0}" to {1}'.format(key, input_map)) - - @staticmethod - def _try_timestamp(string): - - try: - return float(string) - except: - return None - - @staticmethod - def _choice_re(choices, flags=0): - return re.compile('({0})'.format('|'.join(choices)), flags=flags) - - -class TzinfoParser(object): - - _TZINFO_RE = re.compile('([+\-])?(\d\d):?(\d\d)?') - - @classmethod - def parse(cls, string): - - tzinfo = None - - if string == 'local': - tzinfo = tz.tzlocal() - - elif string in ['utc', 'UTC']: - tzinfo = tz.tzutc() - - else: - - iso_match = cls._TZINFO_RE.match(string) - - if iso_match: - sign, hours, minutes = iso_match.groups() - if minutes is None: - minutes = 0 - seconds = int(hours) * 3600 + int(minutes) * 60 - - if sign == '-': - seconds *= -1 - - tzinfo = tz.tzoffset(None, seconds) - - else: - tzinfo = tz.gettz(string) - - if tzinfo is None: - raise ParserError('Could not parse timezone expression "{0}"', string) - - return tzinfo diff --git a/arrow/util.py b/arrow/util.py deleted file mode 100644 index 546cff2..0000000 --- a/arrow/util.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -import sys - -# python 2.6 / 2.7 definitions for total_seconds function. - -def _total_seconds_27(td): # pragma: no cover - return td.total_seconds() - -def _total_seconds_26(td): - return (td.microseconds + (td.seconds + td.days * 24 * 3600) * 1e6) / 1e6 - - -# get version info and assign correct total_seconds function. - -version = '{0}.{1}.{2}'.format(*sys.version_info[:3]) - -if version < '2.7': # pragma: no cover - total_seconds = _total_seconds_26 -else: # pragma: no cover - total_seconds = _total_seconds_27 - -def is_timestamp(value): - try: - float(value) - return True - except: - return False - -# python 2.7 / 3.0+ definitions for isstr function. - -try: # pragma: no cover - basestring - - def isstr(s): - return isinstance(s, basestring) - -except NameError: #pragma: no cover - - def isstr(s): - return isinstance(s, str) - - -__all__ = ['total_seconds', 'is_timestamp', 'isstr'] diff --git a/date_format_mappings.pyc b/date_format_mappings.pyc deleted file mode 100644 index 334ff6b498d2472ecae04c20e05ccc739f1d361e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5270 zcmds4S#ul55$*+eh!l0%x@;>EY#9z18wVkZq8N%21OgIF9P|PdLxc*lKgQJJfXvEc}H*&48MP6?FmB99Hw7E@HI+D}-GV z?6P221iLEOHNoB!?0vzm3wA@Wn}XdE?6zPZ2=<|19|?9xu%8L`bHVNk77^@Y!9Eep zxAUH0p9&Tg%(wG1!G0lFOfcWhMZtb4*yn=zc77pPT(E>-zMVj zf<2HqtiVeBGFTz7ra(Ou#ww^s=;}3Qn7CTM!l!jqf|SQX*$~PTq2Qc}@)UJlAw`x3 zDnl!*o}oC4JyEbZ5adLV9|)d{;Ke{tKuuRc-GMqT<~r1IEwfNZ7kvq83sezQ2~-(W z1=KbiV~AY`^%WdzP`?4zESX@2K_kD8CbmA(U@~QWVOxP!5E0D3o_XDG3E5nY1XOm_qrJP|8A?70QuNj)n4Pp;Ux| z8-cW(2<4Sfc7?Ky4!g-~Xn}f-tT&*VSlOUjShYcQka3GWgD%AlWnxhM9xHS$F1Crj z#kH#6rVU<={RMZt^)LLCW0U~A87%g48NImY(Q~O%uD!rEiFb3kEo@F>b2C%$g)b^Q z#Jxb=LV2f_^B=0YY^A(e+&k0|3I17ZyHi;70f#1OIfeyr)4PN%Wq4-8vuv~BdX8X3 zaKFVOx#OCSn{Jpr~@#W=oHva6{!=-pSwUWxM zuC8w8@8^?jIRR-bWD%hZufw#Dm*V&^jtPm&9Sd_>Ui$lyMRU?SQ9__go@qs9D z2@~#%2Bpv9BPH)8$2>Owz@3$f+jhLybFX6OX1jGfI?ky2y-Dhp&)6Y>5>zw6-sGaM zCmFSqXeLqEpyWvD8# zrN$i{3@}a)1`zt>0Rms3KNY!D21qD1?z&)rae6R-(ES0dmS;LGPOnCj0$yCS$8oNL z09qc4YxYDBKNQbOxtDR8>E-xIyX!>!{XnNk^u=1V#5;vDey~%BjLT2kb04!FZW*Rv z@{aq7mD8TDk99Al$8=M2ixyCKwBz0$YK!^maL{gZe$rfI^CcC4_+m|h*u+q7ZJyfc#PEQl(o*eEA{tq4hj6T3;D=4yn(wY zOgISX$it|^IJ|{7gj-dfb(!x_5xnn60G;okVoxN;Jkf3qJn`Re$GfOvGgHe&9zWiQ z_z_eql>BGjp#QINlp1)C++{dU`;_-zk4u|NktlATa9QHgrY*D;#-%7^a|>r_y-#kVpn=vHJ=^zv(jYaZg2-R16h$?{IP zJGW$fx|=ad4VSO3cp>u>YEL+Hd@zR^Vt`x(c?kbb$cp{p=svOZD3yw1j!!?RrBZA6 zQ+QYQ=1_ik;#jU{8!lfL(y66XJcX=PV)2g^$$LXUNi*fqkV2DennuSbJVe40{)Pn3 z{9Uh$w{bcxj8@C~8sA|I$1+{<*i}64tZ%;3uvnV|3;y;g7XSQS`_Cvl`X}9fA{#zZ zEA{~vI!)T6vz0P+*Rz@l$LTgr9VMW1R^>E8FAX})OQ)sQX#zTBeSNT&hi$uKVMn^* zdX$NG%Z>a_Ia@1K$_+jDJojs!D{aL_DYLy@C_k^Vgf`<)Livw5<6>H~&0IdSQ>--@ z&R6tOrsj>xxrZ;Oh#TXNg4YpznJE@F8^Uf>w#mw>M;;Mix1#?WN=Fc@$!3b#onnUi zcsE7{%9P86mpQ$f(F-|I7MOtQw(`ZwZljv3)oA9!Bc5C5 - -This module offers extensions to the standard python 2.3+ -datetime module. -""" -__author__ = "Gustavo Niemeyer " -__license__ = "PSF License" -__version__ = "1.5" diff --git a/dateutil/__init__.pyc b/dateutil/__init__.pyc deleted file mode 100644 index e091fbaaeaf09f3fdc4536a14279c307afdf5914..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 549 zcma)3%}xR_5H6x<*7yb<=H?p1c3Dt45F#M!L1RqN3zufy7HM4CP1_asC42XaAvV#0XOFO@e-^g;=zBMb z;YOxdOxQZ|R&aXjZ=>LL5g6k-Wz2aiIVrHRL0SbemaW5n`3p9V9W&;mnf!r$M@kV(tW;pH)nw?HGY7U3zE!@XhIPP}4mvK9$)yxVfGs>7$(lHj`ME9`8 P-g*W72FkXAMy - -This module offers extensions to the standard python 2.3+ -datetime module. -""" -__author__ = "Gustavo Niemeyer " -__license__ = "PSF License" - -import datetime - -__all__ = ["easter", "EASTER_JULIAN", "EASTER_ORTHODOX", "EASTER_WESTERN"] - -EASTER_JULIAN = 1 -EASTER_ORTHODOX = 2 -EASTER_WESTERN = 3 - -def easter(year, method=EASTER_WESTERN): - """ - This method was ported from the work done by GM Arts, - on top of the algorithm by Claus Tondering, which was - based in part on the algorithm of Ouding (1940), as - quoted in "Explanatory Supplement to the Astronomical - Almanac", P. Kenneth Seidelmann, editor. - - This algorithm implements three different easter - calculation methods: - - 1 - Original calculation in Julian calendar, valid in - dates after 326 AD - 2 - Original method, with date converted to Gregorian - calendar, valid in years 1583 to 4099 - 3 - Revised method, in Gregorian calendar, valid in - years 1583 to 4099 as well - - These methods are represented by the constants: - - EASTER_JULIAN = 1 - EASTER_ORTHODOX = 2 - EASTER_WESTERN = 3 - - The default method is method 3. - - More about the algorithm may be found at: - - http://users.chariot.net.au/~gmarts/eastalg.htm - - and - - http://www.tondering.dk/claus/calendar.html - - """ - - if not (1 <= method <= 3): - raise ValueError, "invalid method" - - # g - Golden year - 1 - # c - Century - # h - (23 - Epact) mod 30 - # i - Number of days from March 21 to Paschal Full Moon - # j - Weekday for PFM (0=Sunday, etc) - # p - Number of days from March 21 to Sunday on or before PFM - # (-6 to 28 methods 1 & 3, to 56 for method 2) - # e - Extra days to add for method 2 (converting Julian - # date to Gregorian date) - - y = year - g = y % 19 - e = 0 - if method < 3: - # Old method - i = (19*g+15)%30 - j = (y+y//4+i)%7 - if method == 2: - # Extra dates to convert Julian to Gregorian date - e = 10 - if y > 1600: - e = e+y//100-16-(y//100-16)//4 - else: - # New method - c = y//100 - h = (c-c//4-(8*c+13)//25+19*g+15)%30 - i = h-(h//28)*(1-(h//28)*(29//(h+1))*((21-g)//11)) - j = (y+y//4+i+2-c+c//4)%7 - - # p can be from -6 to 56 corresponding to dates 22 March to 23 May - # (later dates apply to method 2, although 23 May never actually occurs) - p = i-j+e - d = 1+(p+27+(p+6)//40)%31 - m = 3+(p+26)//30 - return datetime.date(int(y),int(m),int(d)) - diff --git a/dateutil/parser.py b/dateutil/parser.py deleted file mode 100644 index 5d824e4..0000000 --- a/dateutil/parser.py +++ /dev/null @@ -1,886 +0,0 @@ -# -*- coding:iso-8859-1 -*- -""" -Copyright (c) 2003-2007 Gustavo Niemeyer - -This module offers extensions to the standard python 2.3+ -datetime module. -""" -__author__ = "Gustavo Niemeyer " -__license__ = "PSF License" - -import datetime -import string -import time -import sys -import os - -try: - from cStringIO import StringIO -except ImportError: - from StringIO import StringIO - -import relativedelta -import tz - - -__all__ = ["parse", "parserinfo"] - - -# Some pointers: -# -# http://www.cl.cam.ac.uk/~mgk25/iso-time.html -# http://www.iso.ch/iso/en/prods-services/popstds/datesandtime.html -# http://www.w3.org/TR/NOTE-datetime -# http://ringmaster.arc.nasa.gov/tools/time_formats.html -# http://search.cpan.org/author/MUIR/Time-modules-2003.0211/lib/Time/ParseDate.pm -# http://stein.cshl.org/jade/distrib/docs/java.text.SimpleDateFormat.html - - -class _timelex(object): - - def __init__(self, instream): - if isinstance(instream, basestring): - instream = StringIO(instream) - self.instream = instream - self.wordchars = ('abcdfeghijklmnopqrstuvwxyz' - 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_' - '' - '') - self.numchars = '0123456789' - self.whitespace = ' \t\r\n' - self.charstack = [] - self.tokenstack = [] - self.eof = False - - def get_token(self): - if self.tokenstack: - return self.tokenstack.pop(0) - seenletters = False - token = None - state = None - wordchars = self.wordchars - numchars = self.numchars - whitespace = self.whitespace - while not self.eof: - if self.charstack: - nextchar = self.charstack.pop(0) - else: - nextchar = self.instream.read(1) - while nextchar == '\x00': - nextchar = self.instream.read(1) - if not nextchar: - self.eof = True - break - elif not state: - token = nextchar - if nextchar in wordchars: - state = 'a' - elif nextchar in numchars: - state = '0' - elif nextchar in whitespace: - token = ' ' - break # emit token - else: - break # emit token - elif state == 'a': - seenletters = True - if nextchar in wordchars: - token += nextchar - elif nextchar == '.': - token += nextchar - state = 'a.' - else: - self.charstack.append(nextchar) - break # emit token - elif state == '0': - if nextchar in numchars: - token += nextchar - elif nextchar == '.': - token += nextchar - state = '0.' - else: - self.charstack.append(nextchar) - break # emit token - elif state == 'a.': - seenletters = True - if nextchar == '.' or nextchar in wordchars: - token += nextchar - elif nextchar in numchars and token[-1] == '.': - token += nextchar - state = '0.' - else: - self.charstack.append(nextchar) - break # emit token - elif state == '0.': - if nextchar == '.' or nextchar in numchars: - token += nextchar - elif nextchar in wordchars and token[-1] == '.': - token += nextchar - state = 'a.' - else: - self.charstack.append(nextchar) - break # emit token - if (state in ('a.', '0.') and - (seenletters or token.count('.') > 1 or token[-1] == '.')): - l = token.split('.') - token = l[0] - for tok in l[1:]: - self.tokenstack.append('.') - if tok: - self.tokenstack.append(tok) - return token - - def __iter__(self): - return self - - def next(self): - token = self.get_token() - if token is None: - raise StopIteration - return token - - def split(cls, s): - return list(cls(s)) - split = classmethod(split) - - -class _resultbase(object): - - def __init__(self): - for attr in self.__slots__: - setattr(self, attr, None) - - def _repr(self, classname): - l = [] - for attr in self.__slots__: - value = getattr(self, attr) - if value is not None: - l.append("%s=%s" % (attr, `value`)) - return "%s(%s)" % (classname, ", ".join(l)) - - def __repr__(self): - return self._repr(self.__class__.__name__) - - -class parserinfo(object): - - # m from a.m/p.m, t from ISO T separator - JUMP = [" ", ".", ",", ";", "-", "/", "'", - "at", "on", "and", "ad", "m", "t", "of", - "st", "nd", "rd", "th"] - - WEEKDAYS = [("Mon", "Monday"), - ("Tue", "Tuesday"), - ("Wed", "Wednesday"), - ("Thu", "Thursday"), - ("Fri", "Friday"), - ("Sat", "Saturday"), - ("Sun", "Sunday")] - MONTHS = [("Jan", "January"), - ("Feb", "February"), - ("Mar", "March"), - ("Apr", "April"), - ("May", "May"), - ("Jun", "June"), - ("Jul", "July"), - ("Aug", "August"), - ("Sep", "September"), - ("Oct", "October"), - ("Nov", "November"), - ("Dec", "December")] - HMS = [("h", "hour", "hours"), - ("m", "minute", "minutes"), - ("s", "second", "seconds")] - AMPM = [("am", "a"), - ("pm", "p")] - UTCZONE = ["UTC", "GMT", "Z"] - PERTAIN = ["of"] - TZOFFSET = {} - - def __init__(self, dayfirst=False, yearfirst=False): - self._jump = self._convert(self.JUMP) - self._weekdays = self._convert(self.WEEKDAYS) - self._months = self._convert(self.MONTHS) - self._hms = self._convert(self.HMS) - self._ampm = self._convert(self.AMPM) - self._utczone = self._convert(self.UTCZONE) - self._pertain = self._convert(self.PERTAIN) - - self.dayfirst = dayfirst - self.yearfirst = yearfirst - - self._year = time.localtime().tm_year - self._century = self._year//100*100 - - def _convert(self, lst): - dct = {} - for i in range(len(lst)): - v = lst[i] - if isinstance(v, tuple): - for v in v: - dct[v.lower()] = i - else: - dct[v.lower()] = i - return dct - - def jump(self, name): - return name.lower() in self._jump - - def weekday(self, name): - if len(name) >= 3: - try: - return self._weekdays[name.lower()] - except KeyError: - pass - return None - - def month(self, name): - if len(name) >= 3: - try: - return self._months[name.lower()]+1 - except KeyError: - pass - return None - - def hms(self, name): - try: - return self._hms[name.lower()] - except KeyError: - return None - - def ampm(self, name): - try: - return self._ampm[name.lower()] - except KeyError: - return None - - def pertain(self, name): - return name.lower() in self._pertain - - def utczone(self, name): - return name.lower() in self._utczone - - def tzoffset(self, name): - if name in self._utczone: - return 0 - return self.TZOFFSET.get(name) - - def convertyear(self, year): - if year < 100: - year += self._century - if abs(year-self._year) >= 50: - if year < self._year: - year += 100 - else: - year -= 100 - return year - - def validate(self, res): - # move to info - if res.year is not None: - res.year = self.convertyear(res.year) - if res.tzoffset == 0 and not res.tzname or res.tzname == 'Z': - res.tzname = "UTC" - res.tzoffset = 0 - elif res.tzoffset != 0 and res.tzname and self.utczone(res.tzname): - res.tzoffset = 0 - return True - - -class parser(object): - - def __init__(self, info=None): - self.info = info or parserinfo() - - def parse(self, timestr, default=None, - ignoretz=False, tzinfos=None, - **kwargs): - if not default: - default = datetime.datetime.now().replace(hour=0, minute=0, - second=0, microsecond=0) - res = self._parse(timestr, **kwargs) - if res is None: - raise ValueError, "unknown string format" - repl = {} - for attr in ["year", "month", "day", "hour", - "minute", "second", "microsecond"]: - value = getattr(res, attr) - if value is not None: - repl[attr] = value - ret = default.replace(**repl) - if res.weekday is not None and not res.day: - ret = ret+relativedelta.relativedelta(weekday=res.weekday) - if not ignoretz: - if callable(tzinfos) or tzinfos and res.tzname in tzinfos: - if callable(tzinfos): - tzdata = tzinfos(res.tzname, res.tzoffset) - else: - tzdata = tzinfos.get(res.tzname) - if isinstance(tzdata, datetime.tzinfo): - tzinfo = tzdata - elif isinstance(tzdata, basestring): - tzinfo = tz.tzstr(tzdata) - elif isinstance(tzdata, int): - tzinfo = tz.tzoffset(res.tzname, tzdata) - else: - raise ValueError, "offset must be tzinfo subclass, " \ - "tz string, or int offset" - ret = ret.replace(tzinfo=tzinfo) - elif res.tzname and res.tzname in time.tzname: - ret = ret.replace(tzinfo=tz.tzlocal()) - elif res.tzoffset == 0: - ret = ret.replace(tzinfo=tz.tzutc()) - elif res.tzoffset: - ret = ret.replace(tzinfo=tz.tzoffset(res.tzname, res.tzoffset)) - return ret - - class _result(_resultbase): - __slots__ = ["year", "month", "day", "weekday", - "hour", "minute", "second", "microsecond", - "tzname", "tzoffset"] - - def _parse(self, timestr, dayfirst=None, yearfirst=None, fuzzy=False): - info = self.info - if dayfirst is None: - dayfirst = info.dayfirst - if yearfirst is None: - yearfirst = info.yearfirst - res = self._result() - l = _timelex.split(timestr) - try: - - # year/month/day list - ymd = [] - - # Index of the month string in ymd - mstridx = -1 - - len_l = len(l) - i = 0 - while i < len_l: - - # Check if it's a number - try: - value_repr = l[i] - value = float(value_repr) - except ValueError: - value = None - - if value is not None: - # Token is a number - len_li = len(l[i]) - i += 1 - if (len(ymd) == 3 and len_li in (2, 4) - and (i >= len_l or (l[i] != ':' and - info.hms(l[i]) is None))): - # 19990101T23[59] - s = l[i-1] - res.hour = int(s[:2]) - if len_li == 4: - res.minute = int(s[2:]) - elif len_li == 6 or (len_li > 6 and l[i-1].find('.') == 6): - # YYMMDD or HHMMSS[.ss] - s = l[i-1] - if not ymd and l[i-1].find('.') == -1: - ymd.append(info.convertyear(int(s[:2]))) - ymd.append(int(s[2:4])) - ymd.append(int(s[4:])) - else: - # 19990101T235959[.59] - res.hour = int(s[:2]) - res.minute = int(s[2:4]) - res.second, res.microsecond = _parsems(s[4:]) - elif len_li == 8: - # YYYYMMDD - s = l[i-1] - ymd.append(int(s[:4])) - ymd.append(int(s[4:6])) - ymd.append(int(s[6:])) - elif len_li in (12, 14): - # YYYYMMDDhhmm[ss] - s = l[i-1] - ymd.append(int(s[:4])) - ymd.append(int(s[4:6])) - ymd.append(int(s[6:8])) - res.hour = int(s[8:10]) - res.minute = int(s[10:12]) - if len_li == 14: - res.second = int(s[12:]) - elif ((i < len_l and info.hms(l[i]) is not None) or - (i+1 < len_l and l[i] == ' ' and - info.hms(l[i+1]) is not None)): - # HH[ ]h or MM[ ]m or SS[.ss][ ]s - if l[i] == ' ': - i += 1 - idx = info.hms(l[i]) - while True: - if idx == 0: - res.hour = int(value) - if value%1: - res.minute = int(60*(value%1)) - elif idx == 1: - res.minute = int(value) - if value%1: - res.second = int(60*(value%1)) - elif idx == 2: - res.second, res.microsecond = \ - _parsems(value_repr) - i += 1 - if i >= len_l or idx == 2: - break - # 12h00 - try: - value_repr = l[i] - value = float(value_repr) - except ValueError: - break - else: - i += 1 - idx += 1 - if i < len_l: - newidx = info.hms(l[i]) - if newidx is not None: - idx = newidx - elif i+1 < len_l and l[i] == ':': - # HH:MM[:SS[.ss]] - res.hour = int(value) - i += 1 - value = float(l[i]) - res.minute = int(value) - if value%1: - res.second = int(60*(value%1)) - i += 1 - if i < len_l and l[i] == ':': - res.second, res.microsecond = _parsems(l[i+1]) - i += 2 - elif i < len_l and l[i] in ('-', '/', '.'): - sep = l[i] - ymd.append(int(value)) - i += 1 - if i < len_l and not info.jump(l[i]): - try: - # 01-01[-01] - ymd.append(int(l[i])) - except ValueError: - # 01-Jan[-01] - value = info.month(l[i]) - if value is not None: - ymd.append(value) - assert mstridx == -1 - mstridx = len(ymd)-1 - else: - return None - i += 1 - if i < len_l and l[i] == sep: - # We have three members - i += 1 - value = info.month(l[i]) - if value is not None: - ymd.append(value) - mstridx = len(ymd)-1 - assert mstridx == -1 - else: - ymd.append(int(l[i])) - i += 1 - elif i >= len_l or info.jump(l[i]): - if i+1 < len_l and info.ampm(l[i+1]) is not None: - # 12 am - res.hour = int(value) - if res.hour < 12 and info.ampm(l[i+1]) == 1: - res.hour += 12 - elif res.hour == 12 and info.ampm(l[i+1]) == 0: - res.hour = 0 - i += 1 - else: - # Year, month or day - ymd.append(int(value)) - i += 1 - elif info.ampm(l[i]) is not None: - # 12am - res.hour = int(value) - if res.hour < 12 and info.ampm(l[i]) == 1: - res.hour += 12 - elif res.hour == 12 and info.ampm(l[i]) == 0: - res.hour = 0 - i += 1 - elif not fuzzy: - return None - else: - i += 1 - continue - - # Check weekday - value = info.weekday(l[i]) - if value is not None: - res.weekday = value - i += 1 - continue - - # Check month name - value = info.month(l[i]) - if value is not None: - ymd.append(value) - assert mstridx == -1 - mstridx = len(ymd)-1 - i += 1 - if i < len_l: - if l[i] in ('-', '/'): - # Jan-01[-99] - sep = l[i] - i += 1 - ymd.append(int(l[i])) - i += 1 - if i < len_l and l[i] == sep: - # Jan-01-99 - i += 1 - ymd.append(int(l[i])) - i += 1 - elif (i+3 < len_l and l[i] == l[i+2] == ' ' - and info.pertain(l[i+1])): - # Jan of 01 - # In this case, 01 is clearly year - try: - value = int(l[i+3]) - except ValueError: - # Wrong guess - pass - else: - # Convert it here to become unambiguous - ymd.append(info.convertyear(value)) - i += 4 - continue - - # Check am/pm - value = info.ampm(l[i]) - if value is not None: - if value == 1 and res.hour < 12: - res.hour += 12 - elif value == 0 and res.hour == 12: - res.hour = 0 - i += 1 - continue - - # Check for a timezone name - if (res.hour is not None and len(l[i]) <= 5 and - res.tzname is None and res.tzoffset is None and - not [x for x in l[i] if x not in string.ascii_uppercase]): - res.tzname = l[i] - res.tzoffset = info.tzoffset(res.tzname) - i += 1 - - # Check for something like GMT+3, or BRST+3. Notice - # that it doesn't mean "I am 3 hours after GMT", but - # "my time +3 is GMT". If found, we reverse the - # logic so that timezone parsing code will get it - # right. - if i < len_l and l[i] in ('+', '-'): - l[i] = ('+', '-')[l[i] == '+'] - res.tzoffset = None - if info.utczone(res.tzname): - # With something like GMT+3, the timezone - # is *not* GMT. - res.tzname = None - - continue - - # Check for a numbered timezone - if res.hour is not None and l[i] in ('+', '-'): - signal = (-1,1)[l[i] == '+'] - i += 1 - len_li = len(l[i]) - if len_li == 4: - # -0300 - res.tzoffset = int(l[i][:2])*3600+int(l[i][2:])*60 - elif i+1 < len_l and l[i+1] == ':': - # -03:00 - res.tzoffset = int(l[i])*3600+int(l[i+2])*60 - i += 2 - elif len_li <= 2: - # -[0]3 - res.tzoffset = int(l[i][:2])*3600 - else: - return None - i += 1 - res.tzoffset *= signal - - # Look for a timezone name between parenthesis - if (i+3 < len_l and - info.jump(l[i]) and l[i+1] == '(' and l[i+3] == ')' and - 3 <= len(l[i+2]) <= 5 and - not [x for x in l[i+2] - if x not in string.ascii_uppercase]): - # -0300 (BRST) - res.tzname = l[i+2] - i += 4 - continue - - # Check jumps - if not (info.jump(l[i]) or fuzzy): - return None - - i += 1 - - # Process year/month/day - len_ymd = len(ymd) - if len_ymd > 3: - # More than three members!? - return None - elif len_ymd == 1 or (mstridx != -1 and len_ymd == 2): - # One member, or two members with a month string - if mstridx != -1: - res.month = ymd[mstridx] - del ymd[mstridx] - if len_ymd > 1 or mstridx == -1: - if ymd[0] > 31: - res.year = ymd[0] - else: - res.day = ymd[0] - elif len_ymd == 2: - # Two members with numbers - if ymd[0] > 31: - # 99-01 - res.year, res.month = ymd - elif ymd[1] > 31: - # 01-99 - res.month, res.year = ymd - elif dayfirst and ymd[1] <= 12: - # 13-01 - res.day, res.month = ymd - else: - # 01-13 - res.month, res.day = ymd - if len_ymd == 3: - # Three members - if mstridx == 0: - res.month, res.day, res.year = ymd - elif mstridx == 1: - if ymd[0] > 31 or (yearfirst and ymd[2] <= 31): - # 99-Jan-01 - res.year, res.month, res.day = ymd - else: - # 01-Jan-01 - # Give precendence to day-first, since - # two-digit years is usually hand-written. - res.day, res.month, res.year = ymd - elif mstridx == 2: - # WTF!? - if ymd[1] > 31: - # 01-99-Jan - res.day, res.year, res.month = ymd - else: - # 99-01-Jan - res.year, res.day, res.month = ymd - else: - if ymd[0] > 31 or \ - (yearfirst and ymd[1] <= 12 and ymd[2] <= 31): - # 99-01-01 - res.year, res.month, res.day = ymd - elif ymd[0] > 12 or (dayfirst and ymd[1] <= 12): - # 13-01-01 - res.day, res.month, res.year = ymd - else: - # 01-13-01 - res.month, res.day, res.year = ymd - - except (IndexError, ValueError, AssertionError): - return None - - if not info.validate(res): - return None - return res - -DEFAULTPARSER = parser() -def parse(timestr, parserinfo=None, **kwargs): - if parserinfo: - return parser(parserinfo).parse(timestr, **kwargs) - else: - return DEFAULTPARSER.parse(timestr, **kwargs) - - -class _tzparser(object): - - class _result(_resultbase): - - __slots__ = ["stdabbr", "stdoffset", "dstabbr", "dstoffset", - "start", "end"] - - class _attr(_resultbase): - __slots__ = ["month", "week", "weekday", - "yday", "jyday", "day", "time"] - - def __repr__(self): - return self._repr("") - - def __init__(self): - _resultbase.__init__(self) - self.start = self._attr() - self.end = self._attr() - - def parse(self, tzstr): - res = self._result() - l = _timelex.split(tzstr) - try: - - len_l = len(l) - - i = 0 - while i < len_l: - # BRST+3[BRDT[+2]] - j = i - while j < len_l and not [x for x in l[j] - if x in "0123456789:,-+"]: - j += 1 - if j != i: - if not res.stdabbr: - offattr = "stdoffset" - res.stdabbr = "".join(l[i:j]) - else: - offattr = "dstoffset" - res.dstabbr = "".join(l[i:j]) - i = j - if (i < len_l and - (l[i] in ('+', '-') or l[i][0] in "0123456789")): - if l[i] in ('+', '-'): - # Yes, that's right. See the TZ variable - # documentation. - signal = (1,-1)[l[i] == '+'] - i += 1 - else: - signal = -1 - len_li = len(l[i]) - if len_li == 4: - # -0300 - setattr(res, offattr, - (int(l[i][:2])*3600+int(l[i][2:])*60)*signal) - elif i+1 < len_l and l[i+1] == ':': - # -03:00 - setattr(res, offattr, - (int(l[i])*3600+int(l[i+2])*60)*signal) - i += 2 - elif len_li <= 2: - # -[0]3 - setattr(res, offattr, - int(l[i][:2])*3600*signal) - else: - return None - i += 1 - if res.dstabbr: - break - else: - break - - if i < len_l: - for j in range(i, len_l): - if l[j] == ';': l[j] = ',' - - assert l[i] == ',' - - i += 1 - - if i >= len_l: - pass - elif (8 <= l.count(',') <= 9 and - not [y for x in l[i:] if x != ',' - for y in x if y not in "0123456789"]): - # GMT0BST,3,0,30,3600,10,0,26,7200[,3600] - for x in (res.start, res.end): - x.month = int(l[i]) - i += 2 - if l[i] == '-': - value = int(l[i+1])*-1 - i += 1 - else: - value = int(l[i]) - i += 2 - if value: - x.week = value - x.weekday = (int(l[i])-1)%7 - else: - x.day = int(l[i]) - i += 2 - x.time = int(l[i]) - i += 2 - if i < len_l: - if l[i] in ('-','+'): - signal = (-1,1)[l[i] == "+"] - i += 1 - else: - signal = 1 - res.dstoffset = (res.stdoffset+int(l[i]))*signal - elif (l.count(',') == 2 and l[i:].count('/') <= 2 and - not [y for x in l[i:] if x not in (',','/','J','M', - '.','-',':') - for y in x if y not in "0123456789"]): - for x in (res.start, res.end): - if l[i] == 'J': - # non-leap year day (1 based) - i += 1 - x.jyday = int(l[i]) - elif l[i] == 'M': - # month[-.]week[-.]weekday - i += 1 - x.month = int(l[i]) - i += 1 - assert l[i] in ('-', '.') - i += 1 - x.week = int(l[i]) - if x.week == 5: - x.week = -1 - i += 1 - assert l[i] in ('-', '.') - i += 1 - x.weekday = (int(l[i])-1)%7 - else: - # year day (zero based) - x.yday = int(l[i])+1 - - i += 1 - - if i < len_l and l[i] == '/': - i += 1 - # start time - len_li = len(l[i]) - if len_li == 4: - # -0300 - x.time = (int(l[i][:2])*3600+int(l[i][2:])*60) - elif i+1 < len_l and l[i+1] == ':': - # -03:00 - x.time = int(l[i])*3600+int(l[i+2])*60 - i += 2 - if i+1 < len_l and l[i+1] == ':': - i += 2 - x.time += int(l[i]) - elif len_li <= 2: - # -[0]3 - x.time = (int(l[i][:2])*3600) - else: - return None - i += 1 - - assert i == len_l or l[i] == ',' - - i += 1 - - assert i >= len_l - - except (IndexError, ValueError, AssertionError): - return None - - return res - - -DEFAULTTZPARSER = _tzparser() -def _parsetz(tzstr): - return DEFAULTTZPARSER.parse(tzstr) - - -def _parsems(value): - """Parse a I[.F] seconds value into (seconds, microseconds).""" - if "." not in value: - return int(value), 0 - else: - i, f = value.split(".") - return int(i), int(f.ljust(6, "0")[:6]) - - -# vim:ts=4:sw=4:et diff --git a/dateutil/relativedelta.py b/dateutil/relativedelta.py deleted file mode 100644 index 0c72a81..0000000 --- a/dateutil/relativedelta.py +++ /dev/null @@ -1,432 +0,0 @@ -""" -Copyright (c) 2003-2010 Gustavo Niemeyer - -This module offers extensions to the standard python 2.3+ -datetime module. -""" -__author__ = "Gustavo Niemeyer " -__license__ = "PSF License" - -import datetime -import calendar - -__all__ = ["relativedelta", "MO", "TU", "WE", "TH", "FR", "SA", "SU"] - -class weekday(object): - __slots__ = ["weekday", "n"] - - def __init__(self, weekday, n=None): - self.weekday = weekday - self.n = n - - def __call__(self, n): - if n == self.n: - return self - else: - return self.__class__(self.weekday, n) - - def __eq__(self, other): - try: - if self.weekday != other.weekday or self.n != other.n: - return False - except AttributeError: - return False - return True - - def __repr__(self): - s = ("MO", "TU", "WE", "TH", "FR", "SA", "SU")[self.weekday] - if not self.n: - return s - else: - return "%s(%+d)" % (s, self.n) - -MO, TU, WE, TH, FR, SA, SU = weekdays = tuple([weekday(x) for x in range(7)]) - -class relativedelta: - """ -The relativedelta type is based on the specification of the excelent -work done by M.-A. Lemburg in his mx.DateTime extension. However, -notice that this type does *NOT* implement the same algorithm as -his work. Do *NOT* expect it to behave like mx.DateTime's counterpart. - -There's two different ways to build a relativedelta instance. The -first one is passing it two date/datetime classes: - - relativedelta(datetime1, datetime2) - -And the other way is to use the following keyword arguments: - - year, month, day, hour, minute, second, microsecond: - Absolute information. - - years, months, weeks, days, hours, minutes, seconds, microseconds: - Relative information, may be negative. - - weekday: - One of the weekday instances (MO, TU, etc). These instances may - receive a parameter N, specifying the Nth weekday, which could - be positive or negative (like MO(+1) or MO(-2). Not specifying - it is the same as specifying +1. You can also use an integer, - where 0=MO. - - leapdays: - Will add given days to the date found, if year is a leap - year, and the date found is post 28 of february. - - yearday, nlyearday: - Set the yearday or the non-leap year day (jump leap days). - These are converted to day/month/leapdays information. - -Here is the behavior of operations with relativedelta: - -1) Calculate the absolute year, using the 'year' argument, or the - original datetime year, if the argument is not present. - -2) Add the relative 'years' argument to the absolute year. - -3) Do steps 1 and 2 for month/months. - -4) Calculate the absolute day, using the 'day' argument, or the - original datetime day, if the argument is not present. Then, - subtract from the day until it fits in the year and month - found after their operations. - -5) Add the relative 'days' argument to the absolute day. Notice - that the 'weeks' argument is multiplied by 7 and added to - 'days'. - -6) Do steps 1 and 2 for hour/hours, minute/minutes, second/seconds, - microsecond/microseconds. - -7) If the 'weekday' argument is present, calculate the weekday, - with the given (wday, nth) tuple. wday is the index of the - weekday (0-6, 0=Mon), and nth is the number of weeks to add - forward or backward, depending on its signal. Notice that if - the calculated date is already Monday, for example, using - (0, 1) or (0, -1) won't change the day. - """ - - def __init__(self, dt1=None, dt2=None, - years=0, months=0, days=0, leapdays=0, weeks=0, - hours=0, minutes=0, seconds=0, microseconds=0, - year=None, month=None, day=None, weekday=None, - yearday=None, nlyearday=None, - hour=None, minute=None, second=None, microsecond=None): - if dt1 and dt2: - if not isinstance(dt1, datetime.date) or \ - not isinstance(dt2, datetime.date): - raise TypeError, "relativedelta only diffs datetime/date" - if type(dt1) is not type(dt2): - if not isinstance(dt1, datetime.datetime): - dt1 = datetime.datetime.fromordinal(dt1.toordinal()) - elif not isinstance(dt2, datetime.datetime): - dt2 = datetime.datetime.fromordinal(dt2.toordinal()) - self.years = 0 - self.months = 0 - self.days = 0 - self.leapdays = 0 - self.hours = 0 - self.minutes = 0 - self.seconds = 0 - self.microseconds = 0 - self.year = None - self.month = None - self.day = None - self.weekday = None - self.hour = None - self.minute = None - self.second = None - self.microsecond = None - self._has_time = 0 - - months = (dt1.year*12+dt1.month)-(dt2.year*12+dt2.month) - self._set_months(months) - dtm = self.__radd__(dt2) - if dt1 < dt2: - while dt1 > dtm: - months += 1 - self._set_months(months) - dtm = self.__radd__(dt2) - else: - while dt1 < dtm: - months -= 1 - self._set_months(months) - dtm = self.__radd__(dt2) - delta = dt1 - dtm - self.seconds = delta.seconds+delta.days*86400 - self.microseconds = delta.microseconds - else: - self.years = years - self.months = months - self.days = days+weeks*7 - self.leapdays = leapdays - self.hours = hours - self.minutes = minutes - self.seconds = seconds - self.microseconds = microseconds - self.year = year - self.month = month - self.day = day - self.hour = hour - self.minute = minute - self.second = second - self.microsecond = microsecond - - if type(weekday) is int: - self.weekday = weekdays[weekday] - else: - self.weekday = weekday - - yday = 0 - if nlyearday: - yday = nlyearday - elif yearday: - yday = yearday - if yearday > 59: - self.leapdays = -1 - if yday: - ydayidx = [31,59,90,120,151,181,212,243,273,304,334,366] - for idx, ydays in enumerate(ydayidx): - if yday <= ydays: - self.month = idx+1 - if idx == 0: - self.day = yday - else: - self.day = yday-ydayidx[idx-1] - break - else: - raise ValueError, "invalid year day (%d)" % yday - - self._fix() - - def _fix(self): - if abs(self.microseconds) > 999999: - s = self.microseconds//abs(self.microseconds) - div, mod = divmod(self.microseconds*s, 1000000) - self.microseconds = mod*s - self.seconds += div*s - if abs(self.seconds) > 59: - s = self.seconds//abs(self.seconds) - div, mod = divmod(self.seconds*s, 60) - self.seconds = mod*s - self.minutes += div*s - if abs(self.minutes) > 59: - s = self.minutes//abs(self.minutes) - div, mod = divmod(self.minutes*s, 60) - self.minutes = mod*s - self.hours += div*s - if abs(self.hours) > 23: - s = self.hours//abs(self.hours) - div, mod = divmod(self.hours*s, 24) - self.hours = mod*s - self.days += div*s - if abs(self.months) > 11: - s = self.months//abs(self.months) - div, mod = divmod(self.months*s, 12) - self.months = mod*s - self.years += div*s - if (self.hours or self.minutes or self.seconds or self.microseconds or - self.hour is not None or self.minute is not None or - self.second is not None or self.microsecond is not None): - self._has_time = 1 - else: - self._has_time = 0 - - def _set_months(self, months): - self.months = months - if abs(self.months) > 11: - s = self.months//abs(self.months) - div, mod = divmod(self.months*s, 12) - self.months = mod*s - self.years = div*s - else: - self.years = 0 - - def __radd__(self, other): - if not isinstance(other, datetime.date): - raise TypeError, "unsupported type for add operation" - elif self._has_time and not isinstance(other, datetime.datetime): - other = datetime.datetime.fromordinal(other.toordinal()) - year = (self.year or other.year)+self.years - month = self.month or other.month - if self.months: - assert 1 <= abs(self.months) <= 12 - month += self.months - if month > 12: - year += 1 - month -= 12 - elif month < 1: - year -= 1 - month += 12 - day = min(calendar.monthrange(year, month)[1], - self.day or other.day) - repl = {"year": year, "month": month, "day": day} - for attr in ["hour", "minute", "second", "microsecond"]: - value = getattr(self, attr) - if value is not None: - repl[attr] = value - days = self.days - if self.leapdays and month > 2 and calendar.isleap(year): - days += self.leapdays - ret = (other.replace(**repl) - + datetime.timedelta(days=days, - hours=self.hours, - minutes=self.minutes, - seconds=self.seconds, - microseconds=self.microseconds)) - if self.weekday: - weekday, nth = self.weekday.weekday, self.weekday.n or 1 - jumpdays = (abs(nth)-1)*7 - if nth > 0: - jumpdays += (7-ret.weekday()+weekday)%7 - else: - jumpdays += (ret.weekday()-weekday)%7 - jumpdays *= -1 - ret += datetime.timedelta(days=jumpdays) - return ret - - def __rsub__(self, other): - return self.__neg__().__radd__(other) - - def __add__(self, other): - if not isinstance(other, relativedelta): - raise TypeError, "unsupported type for add operation" - return relativedelta(years=other.years+self.years, - months=other.months+self.months, - days=other.days+self.days, - hours=other.hours+self.hours, - minutes=other.minutes+self.minutes, - seconds=other.seconds+self.seconds, - microseconds=other.microseconds+self.microseconds, - leapdays=other.leapdays or self.leapdays, - year=other.year or self.year, - month=other.month or self.month, - day=other.day or self.day, - weekday=other.weekday or self.weekday, - hour=other.hour or self.hour, - minute=other.minute or self.minute, - second=other.second or self.second, - microsecond=other.second or self.microsecond) - - def __sub__(self, other): - if not isinstance(other, relativedelta): - raise TypeError, "unsupported type for sub operation" - return relativedelta(years=other.years-self.years, - months=other.months-self.months, - days=other.days-self.days, - hours=other.hours-self.hours, - minutes=other.minutes-self.minutes, - seconds=other.seconds-self.seconds, - microseconds=other.microseconds-self.microseconds, - leapdays=other.leapdays or self.leapdays, - year=other.year or self.year, - month=other.month or self.month, - day=other.day or self.day, - weekday=other.weekday or self.weekday, - hour=other.hour or self.hour, - minute=other.minute or self.minute, - second=other.second or self.second, - microsecond=other.second or self.microsecond) - - def __neg__(self): - return relativedelta(years=-self.years, - months=-self.months, - days=-self.days, - hours=-self.hours, - minutes=-self.minutes, - seconds=-self.seconds, - microseconds=-self.microseconds, - leapdays=self.leapdays, - year=self.year, - month=self.month, - day=self.day, - weekday=self.weekday, - hour=self.hour, - minute=self.minute, - second=self.second, - microsecond=self.microsecond) - - def __nonzero__(self): - return not (not self.years and - not self.months and - not self.days and - not self.hours and - not self.minutes and - not self.seconds and - not self.microseconds and - not self.leapdays and - self.year is None and - self.month is None and - self.day is None and - self.weekday is None and - self.hour is None and - self.minute is None and - self.second is None and - self.microsecond is None) - - def __mul__(self, other): - f = float(other) - return relativedelta(years=self.years*f, - months=self.months*f, - days=self.days*f, - hours=self.hours*f, - minutes=self.minutes*f, - seconds=self.seconds*f, - microseconds=self.microseconds*f, - leapdays=self.leapdays, - year=self.year, - month=self.month, - day=self.day, - weekday=self.weekday, - hour=self.hour, - minute=self.minute, - second=self.second, - microsecond=self.microsecond) - - def __eq__(self, other): - if not isinstance(other, relativedelta): - return False - if self.weekday or other.weekday: - if not self.weekday or not other.weekday: - return False - if self.weekday.weekday != other.weekday.weekday: - return False - n1, n2 = self.weekday.n, other.weekday.n - if n1 != n2 and not ((not n1 or n1 == 1) and (not n2 or n2 == 1)): - return False - return (self.years == other.years and - self.months == other.months and - self.days == other.days and - self.hours == other.hours and - self.minutes == other.minutes and - self.seconds == other.seconds and - self.leapdays == other.leapdays and - self.year == other.year and - self.month == other.month and - self.day == other.day and - self.hour == other.hour and - self.minute == other.minute and - self.second == other.second and - self.microsecond == other.microsecond) - - def __ne__(self, other): - return not self.__eq__(other) - - def __div__(self, other): - return self.__mul__(1/float(other)) - - def __repr__(self): - l = [] - for attr in ["years", "months", "days", "leapdays", - "hours", "minutes", "seconds", "microseconds"]: - value = getattr(self, attr) - if value: - l.append("%s=%+d" % (attr, value)) - for attr in ["year", "month", "day", "weekday", - "hour", "minute", "second", "microsecond"]: - value = getattr(self, attr) - if value is not None: - l.append("%s=%s" % (attr, `value`)) - return "%s(%s)" % (self.__class__.__name__, ", ".join(l)) - -# vim:ts=4:sw=4:et diff --git a/dateutil/relativedelta.pyc b/dateutil/relativedelta.pyc deleted file mode 100644 index 280925075fdb6661e7feeb4ebd803951ea28185b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16484 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 diff --git a/dateutil/rrule.py b/dateutil/rrule.py deleted file mode 100644 index 6bd83ca..0000000 --- a/dateutil/rrule.py +++ /dev/null @@ -1,1097 +0,0 @@ -""" -Copyright (c) 2003-2010 Gustavo Niemeyer - -This module offers extensions to the standard python 2.3+ -datetime module. -""" -__author__ = "Gustavo Niemeyer " -__license__ = "PSF License" - -import itertools -import datetime -import calendar -import thread -import sys - -__all__ = ["rrule", "rruleset", "rrulestr", - "YEARLY", "MONTHLY", "WEEKLY", "DAILY", - "HOURLY", "MINUTELY", "SECONDLY", - "MO", "TU", "WE", "TH", "FR", "SA", "SU"] - -# Every mask is 7 days longer to handle cross-year weekly periods. -M366MASK = tuple([1]*31+[2]*29+[3]*31+[4]*30+[5]*31+[6]*30+ - [7]*31+[8]*31+[9]*30+[10]*31+[11]*30+[12]*31+[1]*7) -M365MASK = list(M366MASK) -M29, M30, M31 = range(1,30), range(1,31), range(1,32) -MDAY366MASK = tuple(M31+M29+M31+M30+M31+M30+M31+M31+M30+M31+M30+M31+M31[:7]) -MDAY365MASK = list(MDAY366MASK) -M29, M30, M31 = range(-29,0), range(-30,0), range(-31,0) -NMDAY366MASK = tuple(M31+M29+M31+M30+M31+M30+M31+M31+M30+M31+M30+M31+M31[:7]) -NMDAY365MASK = list(NMDAY366MASK) -M366RANGE = (0,31,60,91,121,152,182,213,244,274,305,335,366) -M365RANGE = (0,31,59,90,120,151,181,212,243,273,304,334,365) -WDAYMASK = [0,1,2,3,4,5,6]*55 -del M29, M30, M31, M365MASK[59], MDAY365MASK[59], NMDAY365MASK[31] -MDAY365MASK = tuple(MDAY365MASK) -M365MASK = tuple(M365MASK) - -(YEARLY, - MONTHLY, - WEEKLY, - DAILY, - HOURLY, - MINUTELY, - SECONDLY) = range(7) - -# Imported on demand. -easter = None -parser = None - -class weekday(object): - __slots__ = ["weekday", "n"] - - def __init__(self, weekday, n=None): - if n == 0: - raise ValueError, "Can't create weekday with n == 0" - self.weekday = weekday - self.n = n - - def __call__(self, n): - if n == self.n: - return self - else: - return self.__class__(self.weekday, n) - - def __eq__(self, other): - try: - if self.weekday != other.weekday or self.n != other.n: - return False - except AttributeError: - return False - return True - - def __repr__(self): - s = ("MO", "TU", "WE", "TH", "FR", "SA", "SU")[self.weekday] - if not self.n: - return s - else: - return "%s(%+d)" % (s, self.n) - -MO, TU, WE, TH, FR, SA, SU = weekdays = tuple([weekday(x) for x in range(7)]) - -class rrulebase: - def __init__(self, cache=False): - if cache: - self._cache = [] - self._cache_lock = thread.allocate_lock() - self._cache_gen = self._iter() - self._cache_complete = False - else: - self._cache = None - self._cache_complete = False - self._len = None - - def __iter__(self): - if self._cache_complete: - return iter(self._cache) - elif self._cache is None: - return self._iter() - else: - return self._iter_cached() - - def _iter_cached(self): - i = 0 - gen = self._cache_gen - cache = self._cache - acquire = self._cache_lock.acquire - release = self._cache_lock.release - while gen: - if i == len(cache): - acquire() - if self._cache_complete: - break - try: - for j in range(10): - cache.append(gen.next()) - except StopIteration: - self._cache_gen = gen = None - self._cache_complete = True - break - release() - yield cache[i] - i += 1 - while i < self._len: - yield cache[i] - i += 1 - - def __getitem__(self, item): - if self._cache_complete: - return self._cache[item] - elif isinstance(item, slice): - if item.step and item.step < 0: - return list(iter(self))[item] - else: - return list(itertools.islice(self, - item.start or 0, - item.stop or sys.maxint, - item.step or 1)) - elif item >= 0: - gen = iter(self) - try: - for i in range(item+1): - res = gen.next() - except StopIteration: - raise IndexError - return res - else: - return list(iter(self))[item] - - def __contains__(self, item): - if self._cache_complete: - return item in self._cache - else: - for i in self: - if i == item: - return True - elif i > item: - return False - return False - - # __len__() introduces a large performance penality. - def count(self): - if self._len is None: - for x in self: pass - return self._len - - def before(self, dt, inc=False): - if self._cache_complete: - gen = self._cache - else: - gen = self - last = None - if inc: - for i in gen: - if i > dt: - break - last = i - else: - for i in gen: - if i >= dt: - break - last = i - return last - - def after(self, dt, inc=False): - if self._cache_complete: - gen = self._cache - else: - gen = self - if inc: - for i in gen: - if i >= dt: - return i - else: - for i in gen: - if i > dt: - return i - return None - - def between(self, after, before, inc=False): - if self._cache_complete: - gen = self._cache - else: - gen = self - started = False - l = [] - if inc: - for i in gen: - if i > before: - break - elif not started: - if i >= after: - started = True - l.append(i) - else: - l.append(i) - else: - for i in gen: - if i >= before: - break - elif not started: - if i > after: - started = True - l.append(i) - else: - l.append(i) - return l - -class rrule(rrulebase): - def __init__(self, freq, dtstart=None, - interval=1, wkst=None, count=None, until=None, bysetpos=None, - bymonth=None, bymonthday=None, byyearday=None, byeaster=None, - byweekno=None, byweekday=None, - byhour=None, byminute=None, bysecond=None, - cache=False): - rrulebase.__init__(self, cache) - global easter - if not dtstart: - dtstart = datetime.datetime.now().replace(microsecond=0) - elif not isinstance(dtstart, datetime.datetime): - dtstart = datetime.datetime.fromordinal(dtstart.toordinal()) - else: - dtstart = dtstart.replace(microsecond=0) - self._dtstart = dtstart - self._tzinfo = dtstart.tzinfo - self._freq = freq - self._interval = interval - self._count = count - if until and not isinstance(until, datetime.datetime): - until = datetime.datetime.fromordinal(until.toordinal()) - self._until = until - if wkst is None: - self._wkst = calendar.firstweekday() - elif type(wkst) is int: - self._wkst = wkst - else: - self._wkst = wkst.weekday - if bysetpos is None: - self._bysetpos = None - elif type(bysetpos) is int: - if bysetpos == 0 or not (-366 <= bysetpos <= 366): - raise ValueError("bysetpos must be between 1 and 366, " - "or between -366 and -1") - self._bysetpos = (bysetpos,) - else: - self._bysetpos = tuple(bysetpos) - for pos in self._bysetpos: - if pos == 0 or not (-366 <= pos <= 366): - raise ValueError("bysetpos must be between 1 and 366, " - "or between -366 and -1") - if not (byweekno or byyearday or bymonthday or - byweekday is not None or byeaster is not None): - if freq == YEARLY: - if not bymonth: - bymonth = dtstart.month - bymonthday = dtstart.day - elif freq == MONTHLY: - bymonthday = dtstart.day - elif freq == WEEKLY: - byweekday = dtstart.weekday() - # bymonth - if not bymonth: - self._bymonth = None - elif type(bymonth) is int: - self._bymonth = (bymonth,) - else: - self._bymonth = tuple(bymonth) - # byyearday - if not byyearday: - self._byyearday = None - elif type(byyearday) is int: - self._byyearday = (byyearday,) - else: - self._byyearday = tuple(byyearday) - # byeaster - if byeaster is not None: - if not easter: - from dateutil import easter - if type(byeaster) is int: - self._byeaster = (byeaster,) - else: - self._byeaster = tuple(byeaster) - else: - self._byeaster = None - # bymonthay - if not bymonthday: - self._bymonthday = () - self._bynmonthday = () - elif type(bymonthday) is int: - if bymonthday < 0: - self._bynmonthday = (bymonthday,) - self._bymonthday = () - else: - self._bymonthday = (bymonthday,) - self._bynmonthday = () - else: - self._bymonthday = tuple([x for x in bymonthday if x > 0]) - self._bynmonthday = tuple([x for x in bymonthday if x < 0]) - # byweekno - if byweekno is None: - self._byweekno = None - elif type(byweekno) is int: - self._byweekno = (byweekno,) - else: - self._byweekno = tuple(byweekno) - # byweekday / bynweekday - if byweekday is None: - self._byweekday = None - self._bynweekday = None - elif type(byweekday) is int: - self._byweekday = (byweekday,) - self._bynweekday = None - elif hasattr(byweekday, "n"): - if not byweekday.n or freq > MONTHLY: - self._byweekday = (byweekday.weekday,) - self._bynweekday = None - else: - self._bynweekday = ((byweekday.weekday, byweekday.n),) - self._byweekday = None - else: - self._byweekday = [] - self._bynweekday = [] - for wday in byweekday: - if type(wday) is int: - self._byweekday.append(wday) - elif not wday.n or freq > MONTHLY: - self._byweekday.append(wday.weekday) - else: - self._bynweekday.append((wday.weekday, wday.n)) - self._byweekday = tuple(self._byweekday) - self._bynweekday = tuple(self._bynweekday) - if not self._byweekday: - self._byweekday = None - elif not self._bynweekday: - self._bynweekday = None - # byhour - if byhour is None: - if freq < HOURLY: - self._byhour = (dtstart.hour,) - else: - self._byhour = None - elif type(byhour) is int: - self._byhour = (byhour,) - else: - self._byhour = tuple(byhour) - # byminute - if byminute is None: - if freq < MINUTELY: - self._byminute = (dtstart.minute,) - else: - self._byminute = None - elif type(byminute) is int: - self._byminute = (byminute,) - else: - self._byminute = tuple(byminute) - # bysecond - if bysecond is None: - if freq < SECONDLY: - self._bysecond = (dtstart.second,) - else: - self._bysecond = None - elif type(bysecond) is int: - self._bysecond = (bysecond,) - else: - self._bysecond = tuple(bysecond) - - if self._freq >= HOURLY: - self._timeset = None - else: - self._timeset = [] - for hour in self._byhour: - for minute in self._byminute: - for second in self._bysecond: - self._timeset.append( - datetime.time(hour, minute, second, - tzinfo=self._tzinfo)) - self._timeset.sort() - self._timeset = tuple(self._timeset) - - def _iter(self): - year, month, day, hour, minute, second, weekday, yearday, _ = \ - self._dtstart.timetuple() - - # Some local variables to speed things up a bit - freq = self._freq - interval = self._interval - wkst = self._wkst - until = self._until - bymonth = self._bymonth - byweekno = self._byweekno - byyearday = self._byyearday - byweekday = self._byweekday - byeaster = self._byeaster - bymonthday = self._bymonthday - bynmonthday = self._bynmonthday - bysetpos = self._bysetpos - byhour = self._byhour - byminute = self._byminute - bysecond = self._bysecond - - ii = _iterinfo(self) - ii.rebuild(year, month) - - getdayset = {YEARLY:ii.ydayset, - MONTHLY:ii.mdayset, - WEEKLY:ii.wdayset, - DAILY:ii.ddayset, - HOURLY:ii.ddayset, - MINUTELY:ii.ddayset, - SECONDLY:ii.ddayset}[freq] - - if freq < HOURLY: - timeset = self._timeset - else: - gettimeset = {HOURLY:ii.htimeset, - MINUTELY:ii.mtimeset, - SECONDLY:ii.stimeset}[freq] - if ((freq >= HOURLY and - self._byhour and hour not in self._byhour) or - (freq >= MINUTELY and - self._byminute and minute not in self._byminute) or - (freq >= SECONDLY and - self._bysecond and second not in self._bysecond)): - timeset = () - else: - timeset = gettimeset(hour, minute, second) - - total = 0 - count = self._count - while True: - # Get dayset with the right frequency - dayset, start, end = getdayset(year, month, day) - - # Do the "hard" work ;-) - filtered = False - for i in dayset[start:end]: - if ((bymonth and ii.mmask[i] not in bymonth) or - (byweekno and not ii.wnomask[i]) or - (byweekday and ii.wdaymask[i] not in byweekday) or - (ii.nwdaymask and not ii.nwdaymask[i]) or - (byeaster and not ii.eastermask[i]) or - ((bymonthday or bynmonthday) and - ii.mdaymask[i] not in bymonthday and - ii.nmdaymask[i] not in bynmonthday) or - (byyearday and - ((i < ii.yearlen and i+1 not in byyearday - and -ii.yearlen+i not in byyearday) or - (i >= ii.yearlen and i+1-ii.yearlen not in byyearday - and -ii.nextyearlen+i-ii.yearlen - not in byyearday)))): - dayset[i] = None - filtered = True - - # Output results - if bysetpos and timeset: - poslist = [] - for pos in bysetpos: - if pos < 0: - daypos, timepos = divmod(pos, len(timeset)) - else: - daypos, timepos = divmod(pos-1, len(timeset)) - try: - i = [x for x in dayset[start:end] - if x is not None][daypos] - time = timeset[timepos] - except IndexError: - pass - else: - date = datetime.date.fromordinal(ii.yearordinal+i) - res = datetime.datetime.combine(date, time) - if res not in poslist: - poslist.append(res) - poslist.sort() - for res in poslist: - if until and res > until: - self._len = total - return - elif res >= self._dtstart: - total += 1 - yield res - if count: - count -= 1 - if not count: - self._len = total - return - else: - for i in dayset[start:end]: - if i is not None: - date = datetime.date.fromordinal(ii.yearordinal+i) - for time in timeset: - res = datetime.datetime.combine(date, time) - if until and res > until: - self._len = total - return - elif res >= self._dtstart: - total += 1 - yield res - if count: - count -= 1 - if not count: - self._len = total - return - - # Handle frequency and interval - fixday = False - if freq == YEARLY: - year += interval - if year > datetime.MAXYEAR: - self._len = total - return - ii.rebuild(year, month) - elif freq == MONTHLY: - month += interval - if month > 12: - div, mod = divmod(month, 12) - month = mod - year += div - if month == 0: - month = 12 - year -= 1 - if year > datetime.MAXYEAR: - self._len = total - return - ii.rebuild(year, month) - elif freq == WEEKLY: - if wkst > weekday: - day += -(weekday+1+(6-wkst))+self._interval*7 - else: - day += -(weekday-wkst)+self._interval*7 - weekday = wkst - fixday = True - elif freq == DAILY: - day += interval - fixday = True - elif freq == HOURLY: - if filtered: - # Jump to one iteration before next day - hour += ((23-hour)//interval)*interval - while True: - hour += interval - div, mod = divmod(hour, 24) - if div: - hour = mod - day += div - fixday = True - if not byhour or hour in byhour: - break - timeset = gettimeset(hour, minute, second) - elif freq == MINUTELY: - if filtered: - # Jump to one iteration before next day - minute += ((1439-(hour*60+minute))//interval)*interval - while True: - minute += interval - div, mod = divmod(minute, 60) - if div: - minute = mod - hour += div - div, mod = divmod(hour, 24) - if div: - hour = mod - day += div - fixday = True - filtered = False - if ((not byhour or hour in byhour) and - (not byminute or minute in byminute)): - break - timeset = gettimeset(hour, minute, second) - elif freq == SECONDLY: - if filtered: - # Jump to one iteration before next day - second += (((86399-(hour*3600+minute*60+second)) - //interval)*interval) - while True: - second += self._interval - div, mod = divmod(second, 60) - if div: - second = mod - minute += div - div, mod = divmod(minute, 60) - if div: - minute = mod - hour += div - div, mod = divmod(hour, 24) - if div: - hour = mod - day += div - fixday = True - if ((not byhour or hour in byhour) and - (not byminute or minute in byminute) and - (not bysecond or second in bysecond)): - break - timeset = gettimeset(hour, minute, second) - - if fixday and day > 28: - daysinmonth = calendar.monthrange(year, month)[1] - if day > daysinmonth: - while day > daysinmonth: - day -= daysinmonth - month += 1 - if month == 13: - month = 1 - year += 1 - if year > datetime.MAXYEAR: - self._len = total - return - daysinmonth = calendar.monthrange(year, month)[1] - ii.rebuild(year, month) - -class _iterinfo(object): - __slots__ = ["rrule", "lastyear", "lastmonth", - "yearlen", "nextyearlen", "yearordinal", "yearweekday", - "mmask", "mrange", "mdaymask", "nmdaymask", - "wdaymask", "wnomask", "nwdaymask", "eastermask"] - - def __init__(self, rrule): - for attr in self.__slots__: - setattr(self, attr, None) - self.rrule = rrule - - def rebuild(self, year, month): - # Every mask is 7 days longer to handle cross-year weekly periods. - rr = self.rrule - if year != self.lastyear: - self.yearlen = 365+calendar.isleap(year) - self.nextyearlen = 365+calendar.isleap(year+1) - firstyday = datetime.date(year, 1, 1) - self.yearordinal = firstyday.toordinal() - self.yearweekday = firstyday.weekday() - - wday = datetime.date(year, 1, 1).weekday() - if self.yearlen == 365: - self.mmask = M365MASK - self.mdaymask = MDAY365MASK - self.nmdaymask = NMDAY365MASK - self.wdaymask = WDAYMASK[wday:] - self.mrange = M365RANGE - else: - self.mmask = M366MASK - self.mdaymask = MDAY366MASK - self.nmdaymask = NMDAY366MASK - self.wdaymask = WDAYMASK[wday:] - self.mrange = M366RANGE - - if not rr._byweekno: - self.wnomask = None - else: - self.wnomask = [0]*(self.yearlen+7) - #no1wkst = firstwkst = self.wdaymask.index(rr._wkst) - no1wkst = firstwkst = (7-self.yearweekday+rr._wkst)%7 - if no1wkst >= 4: - no1wkst = 0 - # Number of days in the year, plus the days we got - # from last year. - wyearlen = self.yearlen+(self.yearweekday-rr._wkst)%7 - else: - # Number of days in the year, minus the days we - # left in last year. - wyearlen = self.yearlen-no1wkst - div, mod = divmod(wyearlen, 7) - numweeks = div+mod//4 - for n in rr._byweekno: - if n < 0: - n += numweeks+1 - if not (0 < n <= numweeks): - continue - if n > 1: - i = no1wkst+(n-1)*7 - if no1wkst != firstwkst: - i -= 7-firstwkst - else: - i = no1wkst - for j in range(7): - self.wnomask[i] = 1 - i += 1 - if self.wdaymask[i] == rr._wkst: - break - if 1 in rr._byweekno: - # Check week number 1 of next year as well - # TODO: Check -numweeks for next year. - i = no1wkst+numweeks*7 - if no1wkst != firstwkst: - i -= 7-firstwkst - if i < self.yearlen: - # If week starts in next year, we - # don't care about it. - for j in range(7): - self.wnomask[i] = 1 - i += 1 - if self.wdaymask[i] == rr._wkst: - break - if no1wkst: - # Check last week number of last year as - # well. If no1wkst is 0, either the year - # started on week start, or week number 1 - # got days from last year, so there are no - # days from last year's last week number in - # this year. - if -1 not in rr._byweekno: - lyearweekday = datetime.date(year-1,1,1).weekday() - lno1wkst = (7-lyearweekday+rr._wkst)%7 - lyearlen = 365+calendar.isleap(year-1) - if lno1wkst >= 4: - lno1wkst = 0 - lnumweeks = 52+(lyearlen+ - (lyearweekday-rr._wkst)%7)%7//4 - else: - lnumweeks = 52+(self.yearlen-no1wkst)%7//4 - else: - lnumweeks = -1 - if lnumweeks in rr._byweekno: - for i in range(no1wkst): - self.wnomask[i] = 1 - - if (rr._bynweekday and - (month != self.lastmonth or year != self.lastyear)): - ranges = [] - if rr._freq == YEARLY: - if rr._bymonth: - for month in rr._bymonth: - ranges.append(self.mrange[month-1:month+1]) - else: - ranges = [(0, self.yearlen)] - elif rr._freq == MONTHLY: - ranges = [self.mrange[month-1:month+1]] - if ranges: - # Weekly frequency won't get here, so we may not - # care about cross-year weekly periods. - self.nwdaymask = [0]*self.yearlen - for first, last in ranges: - last -= 1 - for wday, n in rr._bynweekday: - if n < 0: - i = last+(n+1)*7 - i -= (self.wdaymask[i]-wday)%7 - else: - i = first+(n-1)*7 - i += (7-self.wdaymask[i]+wday)%7 - if first <= i <= last: - self.nwdaymask[i] = 1 - - if rr._byeaster: - self.eastermask = [0]*(self.yearlen+7) - eyday = easter.easter(year).toordinal()-self.yearordinal - for offset in rr._byeaster: - self.eastermask[eyday+offset] = 1 - - self.lastyear = year - self.lastmonth = month - - def ydayset(self, year, month, day): - return range(self.yearlen), 0, self.yearlen - - def mdayset(self, year, month, day): - set = [None]*self.yearlen - start, end = self.mrange[month-1:month+1] - for i in range(start, end): - set[i] = i - return set, start, end - - def wdayset(self, year, month, day): - # We need to handle cross-year weeks here. - set = [None]*(self.yearlen+7) - i = datetime.date(year, month, day).toordinal()-self.yearordinal - start = i - for j in range(7): - set[i] = i - i += 1 - #if (not (0 <= i < self.yearlen) or - # self.wdaymask[i] == self.rrule._wkst): - # This will cross the year boundary, if necessary. - if self.wdaymask[i] == self.rrule._wkst: - break - return set, start, i - - def ddayset(self, year, month, day): - set = [None]*self.yearlen - i = datetime.date(year, month, day).toordinal()-self.yearordinal - set[i] = i - return set, i, i+1 - - def htimeset(self, hour, minute, second): - set = [] - rr = self.rrule - for minute in rr._byminute: - for second in rr._bysecond: - set.append(datetime.time(hour, minute, second, - tzinfo=rr._tzinfo)) - set.sort() - return set - - def mtimeset(self, hour, minute, second): - set = [] - rr = self.rrule - for second in rr._bysecond: - set.append(datetime.time(hour, minute, second, tzinfo=rr._tzinfo)) - set.sort() - return set - - def stimeset(self, hour, minute, second): - return (datetime.time(hour, minute, second, - tzinfo=self.rrule._tzinfo),) - - -class rruleset(rrulebase): - - class _genitem: - def __init__(self, genlist, gen): - try: - self.dt = gen() - genlist.append(self) - except StopIteration: - pass - self.genlist = genlist - self.gen = gen - - def next(self): - try: - self.dt = self.gen() - except StopIteration: - self.genlist.remove(self) - - def __cmp__(self, other): - return cmp(self.dt, other.dt) - - def __init__(self, cache=False): - rrulebase.__init__(self, cache) - self._rrule = [] - self._rdate = [] - self._exrule = [] - self._exdate = [] - - def rrule(self, rrule): - self._rrule.append(rrule) - - def rdate(self, rdate): - self._rdate.append(rdate) - - def exrule(self, exrule): - self._exrule.append(exrule) - - def exdate(self, exdate): - self._exdate.append(exdate) - - def _iter(self): - rlist = [] - self._rdate.sort() - self._genitem(rlist, iter(self._rdate).next) - for gen in [iter(x).next for x in self._rrule]: - self._genitem(rlist, gen) - rlist.sort() - exlist = [] - self._exdate.sort() - self._genitem(exlist, iter(self._exdate).next) - for gen in [iter(x).next for x in self._exrule]: - self._genitem(exlist, gen) - exlist.sort() - lastdt = None - total = 0 - while rlist: - ritem = rlist[0] - if not lastdt or lastdt != ritem.dt: - while exlist and exlist[0] < ritem: - exlist[0].next() - exlist.sort() - if not exlist or ritem != exlist[0]: - total += 1 - yield ritem.dt - lastdt = ritem.dt - ritem.next() - rlist.sort() - self._len = total - -class _rrulestr: - - _freq_map = {"YEARLY": YEARLY, - "MONTHLY": MONTHLY, - "WEEKLY": WEEKLY, - "DAILY": DAILY, - "HOURLY": HOURLY, - "MINUTELY": MINUTELY, - "SECONDLY": SECONDLY} - - _weekday_map = {"MO":0,"TU":1,"WE":2,"TH":3,"FR":4,"SA":5,"SU":6} - - def _handle_int(self, rrkwargs, name, value, **kwargs): - rrkwargs[name.lower()] = int(value) - - def _handle_int_list(self, rrkwargs, name, value, **kwargs): - rrkwargs[name.lower()] = [int(x) for x in value.split(',')] - - _handle_INTERVAL = _handle_int - _handle_COUNT = _handle_int - _handle_BYSETPOS = _handle_int_list - _handle_BYMONTH = _handle_int_list - _handle_BYMONTHDAY = _handle_int_list - _handle_BYYEARDAY = _handle_int_list - _handle_BYEASTER = _handle_int_list - _handle_BYWEEKNO = _handle_int_list - _handle_BYHOUR = _handle_int_list - _handle_BYMINUTE = _handle_int_list - _handle_BYSECOND = _handle_int_list - - def _handle_FREQ(self, rrkwargs, name, value, **kwargs): - rrkwargs["freq"] = self._freq_map[value] - - def _handle_UNTIL(self, rrkwargs, name, value, **kwargs): - global parser - if not parser: - from dateutil import parser - try: - rrkwargs["until"] = parser.parse(value, - ignoretz=kwargs.get("ignoretz"), - tzinfos=kwargs.get("tzinfos")) - except ValueError: - raise ValueError, "invalid until date" - - def _handle_WKST(self, rrkwargs, name, value, **kwargs): - rrkwargs["wkst"] = self._weekday_map[value] - - def _handle_BYWEEKDAY(self, rrkwargs, name, value, **kwarsg): - l = [] - for wday in value.split(','): - for i in range(len(wday)): - if wday[i] not in '+-0123456789': - break - n = wday[:i] or None - w = wday[i:] - if n: n = int(n) - l.append(weekdays[self._weekday_map[w]](n)) - rrkwargs["byweekday"] = l - - _handle_BYDAY = _handle_BYWEEKDAY - - def _parse_rfc_rrule(self, line, - dtstart=None, - cache=False, - ignoretz=False, - tzinfos=None): - if line.find(':') != -1: - name, value = line.split(':') - if name != "RRULE": - raise ValueError, "unknown parameter name" - else: - value = line - rrkwargs = {} - for pair in value.split(';'): - name, value = pair.split('=') - name = name.upper() - value = value.upper() - try: - getattr(self, "_handle_"+name)(rrkwargs, name, value, - ignoretz=ignoretz, - tzinfos=tzinfos) - except AttributeError: - raise ValueError, "unknown parameter '%s'" % name - except (KeyError, ValueError): - raise ValueError, "invalid '%s': %s" % (name, value) - return rrule(dtstart=dtstart, cache=cache, **rrkwargs) - - def _parse_rfc(self, s, - dtstart=None, - cache=False, - unfold=False, - forceset=False, - compatible=False, - ignoretz=False, - tzinfos=None): - global parser - if compatible: - forceset = True - unfold = True - s = s.upper() - if not s.strip(): - raise ValueError, "empty string" - if unfold: - lines = s.splitlines() - i = 0 - while i < len(lines): - line = lines[i].rstrip() - if not line: - del lines[i] - elif i > 0 and line[0] == " ": - lines[i-1] += line[1:] - del lines[i] - else: - i += 1 - else: - lines = s.split() - if (not forceset and len(lines) == 1 and - (s.find(':') == -1 or s.startswith('RRULE:'))): - return self._parse_rfc_rrule(lines[0], cache=cache, - dtstart=dtstart, ignoretz=ignoretz, - tzinfos=tzinfos) - else: - rrulevals = [] - rdatevals = [] - exrulevals = [] - exdatevals = [] - for line in lines: - if not line: - continue - if line.find(':') == -1: - name = "RRULE" - value = line - else: - name, value = line.split(':', 1) - parms = name.split(';') - if not parms: - raise ValueError, "empty property name" - name = parms[0] - parms = parms[1:] - if name == "RRULE": - for parm in parms: - raise ValueError, "unsupported RRULE parm: "+parm - rrulevals.append(value) - elif name == "RDATE": - for parm in parms: - if parm != "VALUE=DATE-TIME": - raise ValueError, "unsupported RDATE parm: "+parm - rdatevals.append(value) - elif name == "EXRULE": - for parm in parms: - raise ValueError, "unsupported EXRULE parm: "+parm - exrulevals.append(value) - elif name == "EXDATE": - for parm in parms: - if parm != "VALUE=DATE-TIME": - raise ValueError, "unsupported RDATE parm: "+parm - exdatevals.append(value) - elif name == "DTSTART": - for parm in parms: - raise ValueError, "unsupported DTSTART parm: "+parm - if not parser: - from dateutil import parser - dtstart = parser.parse(value, ignoretz=ignoretz, - tzinfos=tzinfos) - else: - raise ValueError, "unsupported property: "+name - if (forceset or len(rrulevals) > 1 or - rdatevals or exrulevals or exdatevals): - if not parser and (rdatevals or exdatevals): - from dateutil import parser - set = rruleset(cache=cache) - for value in rrulevals: - set.rrule(self._parse_rfc_rrule(value, dtstart=dtstart, - ignoretz=ignoretz, - tzinfos=tzinfos)) - for value in rdatevals: - for datestr in value.split(','): - set.rdate(parser.parse(datestr, - ignoretz=ignoretz, - tzinfos=tzinfos)) - for value in exrulevals: - set.exrule(self._parse_rfc_rrule(value, dtstart=dtstart, - ignoretz=ignoretz, - tzinfos=tzinfos)) - for value in exdatevals: - for datestr in value.split(','): - set.exdate(parser.parse(datestr, - ignoretz=ignoretz, - tzinfos=tzinfos)) - if compatible and dtstart: - set.rdate(dtstart) - return set - else: - return self._parse_rfc_rrule(rrulevals[0], - dtstart=dtstart, - cache=cache, - ignoretz=ignoretz, - tzinfos=tzinfos) - - def __call__(self, s, **kwargs): - return self._parse_rfc(s, **kwargs) - -rrulestr = _rrulestr() - -# vim:ts=4:sw=4:et diff --git a/dateutil/tz.py b/dateutil/tz.py deleted file mode 100644 index 0e28d6b..0000000 --- a/dateutil/tz.py +++ /dev/null @@ -1,951 +0,0 @@ -""" -Copyright (c) 2003-2007 Gustavo Niemeyer - -This module offers extensions to the standard python 2.3+ -datetime module. -""" -__author__ = "Gustavo Niemeyer " -__license__ = "PSF License" - -import datetime -import struct -import time -import sys -import os - -relativedelta = None -parser = None -rrule = None - -__all__ = ["tzutc", "tzoffset", "tzlocal", "tzfile", "tzrange", - "tzstr", "tzical", "tzwin", "tzwinlocal", "gettz"] - -try: - from dateutil.tzwin import tzwin, tzwinlocal -except (ImportError, OSError): - tzwin, tzwinlocal = None, None - -ZERO = datetime.timedelta(0) -EPOCHORDINAL = datetime.datetime.utcfromtimestamp(0).toordinal() - -class tzutc(datetime.tzinfo): - - def utcoffset(self, dt): - return ZERO - - def dst(self, dt): - return ZERO - - def tzname(self, dt): - return "UTC" - - def __eq__(self, other): - return (isinstance(other, tzutc) or - (isinstance(other, tzoffset) and other._offset == ZERO)) - - def __ne__(self, other): - return not self.__eq__(other) - - def __repr__(self): - return "%s()" % self.__class__.__name__ - - __reduce__ = object.__reduce__ - -class tzoffset(datetime.tzinfo): - - def __init__(self, name, offset): - self._name = name - self._offset = datetime.timedelta(seconds=offset) - - def utcoffset(self, dt): - return self._offset - - def dst(self, dt): - return ZERO - - def tzname(self, dt): - return self._name - - def __eq__(self, other): - return (isinstance(other, tzoffset) and - self._offset == other._offset) - - def __ne__(self, other): - return not self.__eq__(other) - - def __repr__(self): - return "%s(%s, %s)" % (self.__class__.__name__, - `self._name`, - self._offset.days*86400+self._offset.seconds) - - __reduce__ = object.__reduce__ - -class tzlocal(datetime.tzinfo): - - _std_offset = datetime.timedelta(seconds=-time.timezone) - if time.daylight: - _dst_offset = datetime.timedelta(seconds=-time.altzone) - else: - _dst_offset = _std_offset - - def utcoffset(self, dt): - if self._isdst(dt): - return self._dst_offset - else: - return self._std_offset - - def dst(self, dt): - if self._isdst(dt): - return self._dst_offset-self._std_offset - else: - return ZERO - - def tzname(self, dt): - return time.tzname[self._isdst(dt)] - - def _isdst(self, dt): - # We can't use mktime here. It is unstable when deciding if - # the hour near to a change is DST or not. - # - # timestamp = time.mktime((dt.year, dt.month, dt.day, dt.hour, - # dt.minute, dt.second, dt.weekday(), 0, -1)) - # return time.localtime(timestamp).tm_isdst - # - # The code above yields the following result: - # - #>>> import tz, datetime - #>>> t = tz.tzlocal() - #>>> datetime.datetime(2003,2,15,23,tzinfo=t).tzname() - #'BRDT' - #>>> datetime.datetime(2003,2,16,0,tzinfo=t).tzname() - #'BRST' - #>>> datetime.datetime(2003,2,15,23,tzinfo=t).tzname() - #'BRST' - #>>> datetime.datetime(2003,2,15,22,tzinfo=t).tzname() - #'BRDT' - #>>> datetime.datetime(2003,2,15,23,tzinfo=t).tzname() - #'BRDT' - # - # Here is a more stable implementation: - # - timestamp = ((dt.toordinal() - EPOCHORDINAL) * 86400 - + dt.hour * 3600 - + dt.minute * 60 - + dt.second) - return time.localtime(timestamp+time.timezone).tm_isdst - - def __eq__(self, other): - if not isinstance(other, tzlocal): - return False - return (self._std_offset == other._std_offset and - self._dst_offset == other._dst_offset) - return True - - def __ne__(self, other): - return not self.__eq__(other) - - def __repr__(self): - return "%s()" % self.__class__.__name__ - - __reduce__ = object.__reduce__ - -class _ttinfo(object): - __slots__ = ["offset", "delta", "isdst", "abbr", "isstd", "isgmt"] - - def __init__(self): - for attr in self.__slots__: - setattr(self, attr, None) - - def __repr__(self): - l = [] - for attr in self.__slots__: - value = getattr(self, attr) - if value is not None: - l.append("%s=%s" % (attr, `value`)) - return "%s(%s)" % (self.__class__.__name__, ", ".join(l)) - - def __eq__(self, other): - if not isinstance(other, _ttinfo): - return False - return (self.offset == other.offset and - self.delta == other.delta and - self.isdst == other.isdst and - self.abbr == other.abbr and - self.isstd == other.isstd and - self.isgmt == other.isgmt) - - def __ne__(self, other): - return not self.__eq__(other) - - def __getstate__(self): - state = {} - for name in self.__slots__: - state[name] = getattr(self, name, None) - return state - - def __setstate__(self, state): - for name in self.__slots__: - if name in state: - setattr(self, name, state[name]) - -class tzfile(datetime.tzinfo): - - # http://www.twinsun.com/tz/tz-link.htm - # ftp://elsie.nci.nih.gov/pub/tz*.tar.gz - - def __init__(self, fileobj): - if isinstance(fileobj, basestring): - self._filename = fileobj - fileobj = open(fileobj) - elif hasattr(fileobj, "name"): - self._filename = fileobj.name - else: - self._filename = `fileobj` - - # From tzfile(5): - # - # The time zone information files used by tzset(3) - # begin with the magic characters "TZif" to identify - # them as time zone information files, followed by - # sixteen bytes reserved for future use, followed by - # six four-byte values of type long, written in a - # ``standard'' byte order (the high-order byte - # of the value is written first). - - if fileobj.read(4) != "TZif": - raise ValueError, "magic not found" - - fileobj.read(16) - - ( - # The number of UTC/local indicators stored in the file. - ttisgmtcnt, - - # The number of standard/wall indicators stored in the file. - ttisstdcnt, - - # The number of leap seconds for which data is - # stored in the file. - leapcnt, - - # The number of "transition times" for which data - # is stored in the file. - timecnt, - - # The number of "local time types" for which data - # is stored in the file (must not be zero). - typecnt, - - # The number of characters of "time zone - # abbreviation strings" stored in the file. - charcnt, - - ) = struct.unpack(">6l", fileobj.read(24)) - - # The above header is followed by tzh_timecnt four-byte - # values of type long, sorted in ascending order. - # These values are written in ``standard'' byte order. - # Each is used as a transition time (as returned by - # time(2)) at which the rules for computing local time - # change. - - if timecnt: - self._trans_list = struct.unpack(">%dl" % timecnt, - fileobj.read(timecnt*4)) - else: - self._trans_list = [] - - # Next come tzh_timecnt one-byte values of type unsigned - # char; each one tells which of the different types of - # ``local time'' types described in the file is associated - # with the same-indexed transition time. These values - # serve as indices into an array of ttinfo structures that - # appears next in the file. - - if timecnt: - self._trans_idx = struct.unpack(">%dB" % timecnt, - fileobj.read(timecnt)) - else: - self._trans_idx = [] - - # Each ttinfo structure is written as a four-byte value - # for tt_gmtoff of type long, in a standard byte - # order, followed by a one-byte value for tt_isdst - # and a one-byte value for tt_abbrind. In each - # structure, tt_gmtoff gives the number of - # seconds to be added to UTC, tt_isdst tells whether - # tm_isdst should be set by localtime(3), and - # tt_abbrind serves as an index into the array of - # time zone abbreviation characters that follow the - # ttinfo structure(s) in the file. - - ttinfo = [] - - for i in range(typecnt): - ttinfo.append(struct.unpack(">lbb", fileobj.read(6))) - - abbr = fileobj.read(charcnt) - - # Then there are tzh_leapcnt pairs of four-byte - # values, written in standard byte order; the - # first value of each pair gives the time (as - # returned by time(2)) at which a leap second - # occurs; the second gives the total number of - # leap seconds to be applied after the given time. - # The pairs of values are sorted in ascending order - # by time. - - # Not used, for now - if leapcnt: - leap = struct.unpack(">%dl" % (leapcnt*2), - fileobj.read(leapcnt*8)) - - # Then there are tzh_ttisstdcnt standard/wall - # indicators, each stored as a one-byte value; - # they tell whether the transition times associated - # with local time types were specified as standard - # time or wall clock time, and are used when - # a time zone file is used in handling POSIX-style - # time zone environment variables. - - if ttisstdcnt: - isstd = struct.unpack(">%db" % ttisstdcnt, - fileobj.read(ttisstdcnt)) - - # Finally, there are tzh_ttisgmtcnt UTC/local - # indicators, each stored as a one-byte value; - # they tell whether the transition times associated - # with local time types were specified as UTC or - # local time, and are used when a time zone file - # is used in handling POSIX-style time zone envi- - # ronment variables. - - if ttisgmtcnt: - isgmt = struct.unpack(">%db" % ttisgmtcnt, - fileobj.read(ttisgmtcnt)) - - # ** Everything has been read ** - - # Build ttinfo list - self._ttinfo_list = [] - for i in range(typecnt): - gmtoff, isdst, abbrind = ttinfo[i] - # Round to full-minutes if that's not the case. Python's - # datetime doesn't accept sub-minute timezones. Check - # http://python.org/sf/1447945 for some information. - gmtoff = (gmtoff+30)//60*60 - tti = _ttinfo() - tti.offset = gmtoff - tti.delta = datetime.timedelta(seconds=gmtoff) - tti.isdst = isdst - tti.abbr = abbr[abbrind:abbr.find('\x00', abbrind)] - tti.isstd = (ttisstdcnt > i and isstd[i] != 0) - tti.isgmt = (ttisgmtcnt > i and isgmt[i] != 0) - self._ttinfo_list.append(tti) - - # Replace ttinfo indexes for ttinfo objects. - trans_idx = [] - for idx in self._trans_idx: - trans_idx.append(self._ttinfo_list[idx]) - self._trans_idx = tuple(trans_idx) - - # Set standard, dst, and before ttinfos. before will be - # used when a given time is before any transitions, - # and will be set to the first non-dst ttinfo, or to - # the first dst, if all of them are dst. - self._ttinfo_std = None - self._ttinfo_dst = None - self._ttinfo_before = None - if self._ttinfo_list: - if not self._trans_list: - self._ttinfo_std = self._ttinfo_first = self._ttinfo_list[0] - else: - for i in range(timecnt-1,-1,-1): - tti = self._trans_idx[i] - if not self._ttinfo_std and not tti.isdst: - self._ttinfo_std = tti - elif not self._ttinfo_dst and tti.isdst: - self._ttinfo_dst = tti - if self._ttinfo_std and self._ttinfo_dst: - break - else: - if self._ttinfo_dst and not self._ttinfo_std: - self._ttinfo_std = self._ttinfo_dst - - for tti in self._ttinfo_list: - if not tti.isdst: - self._ttinfo_before = tti - break - else: - self._ttinfo_before = self._ttinfo_list[0] - - # Now fix transition times to become relative to wall time. - # - # I'm not sure about this. In my tests, the tz source file - # is setup to wall time, and in the binary file isstd and - # isgmt are off, so it should be in wall time. OTOH, it's - # always in gmt time. Let me know if you have comments - # about this. - laststdoffset = 0 - self._trans_list = list(self._trans_list) - for i in range(len(self._trans_list)): - tti = self._trans_idx[i] - if not tti.isdst: - # This is std time. - self._trans_list[i] += tti.offset - laststdoffset = tti.offset - else: - # This is dst time. Convert to std. - self._trans_list[i] += laststdoffset - self._trans_list = tuple(self._trans_list) - - def _find_ttinfo(self, dt, laststd=0): - timestamp = ((dt.toordinal() - EPOCHORDINAL) * 86400 - + dt.hour * 3600 - + dt.minute * 60 - + dt.second) - idx = 0 - for trans in self._trans_list: - if timestamp < trans: - break - idx += 1 - else: - return self._ttinfo_std - if idx == 0: - return self._ttinfo_before - if laststd: - while idx > 0: - tti = self._trans_idx[idx-1] - if not tti.isdst: - return tti - idx -= 1 - else: - return self._ttinfo_std - else: - return self._trans_idx[idx-1] - - def utcoffset(self, dt): - if not self._ttinfo_std: - return ZERO - return self._find_ttinfo(dt).delta - - def dst(self, dt): - if not self._ttinfo_dst: - return ZERO - tti = self._find_ttinfo(dt) - if not tti.isdst: - return ZERO - - # The documentation says that utcoffset()-dst() must - # be constant for every dt. - return tti.delta-self._find_ttinfo(dt, laststd=1).delta - - # An alternative for that would be: - # - # return self._ttinfo_dst.offset-self._ttinfo_std.offset - # - # However, this class stores historical changes in the - # dst offset, so I belive that this wouldn't be the right - # way to implement this. - - def tzname(self, dt): - if not self._ttinfo_std: - return None - return self._find_ttinfo(dt).abbr - - def __eq__(self, other): - if not isinstance(other, tzfile): - return False - return (self._trans_list == other._trans_list and - self._trans_idx == other._trans_idx and - self._ttinfo_list == other._ttinfo_list) - - def __ne__(self, other): - return not self.__eq__(other) - - - def __repr__(self): - return "%s(%s)" % (self.__class__.__name__, `self._filename`) - - def __reduce__(self): - if not os.path.isfile(self._filename): - raise ValueError, "Unpickable %s class" % self.__class__.__name__ - return (self.__class__, (self._filename,)) - -class tzrange(datetime.tzinfo): - - def __init__(self, stdabbr, stdoffset=None, - dstabbr=None, dstoffset=None, - start=None, end=None): - global relativedelta - if not relativedelta: - from dateutil import relativedelta - self._std_abbr = stdabbr - self._dst_abbr = dstabbr - if stdoffset is not None: - self._std_offset = datetime.timedelta(seconds=stdoffset) - else: - self._std_offset = ZERO - if dstoffset is not None: - self._dst_offset = datetime.timedelta(seconds=dstoffset) - elif dstabbr and stdoffset is not None: - self._dst_offset = self._std_offset+datetime.timedelta(hours=+1) - else: - self._dst_offset = ZERO - if dstabbr and start is None: - self._start_delta = relativedelta.relativedelta( - hours=+2, month=4, day=1, weekday=relativedelta.SU(+1)) - else: - self._start_delta = start - if dstabbr and end is None: - self._end_delta = relativedelta.relativedelta( - hours=+1, month=10, day=31, weekday=relativedelta.SU(-1)) - else: - self._end_delta = end - - def utcoffset(self, dt): - if self._isdst(dt): - return self._dst_offset - else: - return self._std_offset - - def dst(self, dt): - if self._isdst(dt): - return self._dst_offset-self._std_offset - else: - return ZERO - - def tzname(self, dt): - if self._isdst(dt): - return self._dst_abbr - else: - return self._std_abbr - - def _isdst(self, dt): - if not self._start_delta: - return False - year = datetime.datetime(dt.year,1,1) - start = year+self._start_delta - end = year+self._end_delta - dt = dt.replace(tzinfo=None) - if start < end: - return dt >= start and dt < end - else: - return dt >= start or dt < end - - def __eq__(self, other): - if not isinstance(other, tzrange): - return False - return (self._std_abbr == other._std_abbr and - self._dst_abbr == other._dst_abbr and - self._std_offset == other._std_offset and - self._dst_offset == other._dst_offset and - self._start_delta == other._start_delta and - self._end_delta == other._end_delta) - - def __ne__(self, other): - return not self.__eq__(other) - - def __repr__(self): - return "%s(...)" % self.__class__.__name__ - - __reduce__ = object.__reduce__ - -class tzstr(tzrange): - - def __init__(self, s): - global parser - if not parser: - from dateutil import parser - self._s = s - - res = parser._parsetz(s) - if res is None: - raise ValueError, "unknown string format" - - # Here we break the compatibility with the TZ variable handling. - # GMT-3 actually *means* the timezone -3. - if res.stdabbr in ("GMT", "UTC"): - res.stdoffset *= -1 - - # We must initialize it first, since _delta() needs - # _std_offset and _dst_offset set. Use False in start/end - # to avoid building it two times. - tzrange.__init__(self, res.stdabbr, res.stdoffset, - res.dstabbr, res.dstoffset, - start=False, end=False) - - if not res.dstabbr: - self._start_delta = None - self._end_delta = None - else: - self._start_delta = self._delta(res.start) - if self._start_delta: - self._end_delta = self._delta(res.end, isend=1) - - def _delta(self, x, isend=0): - kwargs = {} - if x.month is not None: - kwargs["month"] = x.month - if x.weekday is not None: - kwargs["weekday"] = relativedelta.weekday(x.weekday, x.week) - if x.week > 0: - kwargs["day"] = 1 - else: - kwargs["day"] = 31 - elif x.day: - kwargs["day"] = x.day - elif x.yday is not None: - kwargs["yearday"] = x.yday - elif x.jyday is not None: - kwargs["nlyearday"] = x.jyday - if not kwargs: - # Default is to start on first sunday of april, and end - # on last sunday of october. - if not isend: - kwargs["month"] = 4 - kwargs["day"] = 1 - kwargs["weekday"] = relativedelta.SU(+1) - else: - kwargs["month"] = 10 - kwargs["day"] = 31 - kwargs["weekday"] = relativedelta.SU(-1) - if x.time is not None: - kwargs["seconds"] = x.time - else: - # Default is 2AM. - kwargs["seconds"] = 7200 - if isend: - # Convert to standard time, to follow the documented way - # of working with the extra hour. See the documentation - # of the tzinfo class. - delta = self._dst_offset-self._std_offset - kwargs["seconds"] -= delta.seconds+delta.days*86400 - return relativedelta.relativedelta(**kwargs) - - def __repr__(self): - return "%s(%s)" % (self.__class__.__name__, `self._s`) - -class _tzicalvtzcomp: - def __init__(self, tzoffsetfrom, tzoffsetto, isdst, - tzname=None, rrule=None): - self.tzoffsetfrom = datetime.timedelta(seconds=tzoffsetfrom) - self.tzoffsetto = datetime.timedelta(seconds=tzoffsetto) - self.tzoffsetdiff = self.tzoffsetto-self.tzoffsetfrom - self.isdst = isdst - self.tzname = tzname - self.rrule = rrule - -class _tzicalvtz(datetime.tzinfo): - def __init__(self, tzid, comps=[]): - self._tzid = tzid - self._comps = comps - self._cachedate = [] - self._cachecomp = [] - - def _find_comp(self, dt): - if len(self._comps) == 1: - return self._comps[0] - dt = dt.replace(tzinfo=None) - try: - return self._cachecomp[self._cachedate.index(dt)] - except ValueError: - pass - lastcomp = None - lastcompdt = None - for comp in self._comps: - if not comp.isdst: - # Handle the extra hour in DST -> STD - compdt = comp.rrule.before(dt-comp.tzoffsetdiff, inc=True) - else: - compdt = comp.rrule.before(dt, inc=True) - if compdt and (not lastcompdt or lastcompdt < compdt): - lastcompdt = compdt - lastcomp = comp - if not lastcomp: - # RFC says nothing about what to do when a given - # time is before the first onset date. We'll look for the - # first standard component, or the first component, if - # none is found. - for comp in self._comps: - if not comp.isdst: - lastcomp = comp - break - else: - lastcomp = comp[0] - self._cachedate.insert(0, dt) - self._cachecomp.insert(0, lastcomp) - if len(self._cachedate) > 10: - self._cachedate.pop() - self._cachecomp.pop() - return lastcomp - - def utcoffset(self, dt): - return self._find_comp(dt).tzoffsetto - - def dst(self, dt): - comp = self._find_comp(dt) - if comp.isdst: - return comp.tzoffsetdiff - else: - return ZERO - - def tzname(self, dt): - return self._find_comp(dt).tzname - - def __repr__(self): - return "" % `self._tzid` - - __reduce__ = object.__reduce__ - -class tzical: - def __init__(self, fileobj): - global rrule - if not rrule: - from dateutil import rrule - - if isinstance(fileobj, basestring): - self._s = fileobj - fileobj = open(fileobj) - elif hasattr(fileobj, "name"): - self._s = fileobj.name - else: - self._s = `fileobj` - - self._vtz = {} - - self._parse_rfc(fileobj.read()) - - def keys(self): - return self._vtz.keys() - - def get(self, tzid=None): - if tzid is None: - keys = self._vtz.keys() - if len(keys) == 0: - raise ValueError, "no timezones defined" - elif len(keys) > 1: - raise ValueError, "more than one timezone available" - tzid = keys[0] - return self._vtz.get(tzid) - - def _parse_offset(self, s): - s = s.strip() - if not s: - raise ValueError, "empty offset" - if s[0] in ('+', '-'): - signal = (-1,+1)[s[0]=='+'] - s = s[1:] - else: - signal = +1 - if len(s) == 4: - return (int(s[:2])*3600+int(s[2:])*60)*signal - elif len(s) == 6: - return (int(s[:2])*3600+int(s[2:4])*60+int(s[4:]))*signal - else: - raise ValueError, "invalid offset: "+s - - def _parse_rfc(self, s): - lines = s.splitlines() - if not lines: - raise ValueError, "empty string" - - # Unfold - i = 0 - while i < len(lines): - line = lines[i].rstrip() - if not line: - del lines[i] - elif i > 0 and line[0] == " ": - lines[i-1] += line[1:] - del lines[i] - else: - i += 1 - - tzid = None - comps = [] - invtz = False - comptype = None - for line in lines: - if not line: - continue - name, value = line.split(':', 1) - parms = name.split(';') - if not parms: - raise ValueError, "empty property name" - name = parms[0].upper() - parms = parms[1:] - if invtz: - if name == "BEGIN": - if value in ("STANDARD", "DAYLIGHT"): - # Process component - pass - else: - raise ValueError, "unknown component: "+value - comptype = value - founddtstart = False - tzoffsetfrom = None - tzoffsetto = None - rrulelines = [] - tzname = None - elif name == "END": - if value == "VTIMEZONE": - if comptype: - raise ValueError, \ - "component not closed: "+comptype - if not tzid: - raise ValueError, \ - "mandatory TZID not found" - if not comps: - raise ValueError, \ - "at least one component is needed" - # Process vtimezone - self._vtz[tzid] = _tzicalvtz(tzid, comps) - invtz = False - elif value == comptype: - if not founddtstart: - raise ValueError, \ - "mandatory DTSTART not found" - if tzoffsetfrom is None: - raise ValueError, \ - "mandatory TZOFFSETFROM not found" - if tzoffsetto is None: - raise ValueError, \ - "mandatory TZOFFSETFROM not found" - # Process component - rr = None - if rrulelines: - rr = rrule.rrulestr("\n".join(rrulelines), - compatible=True, - ignoretz=True, - cache=True) - comp = _tzicalvtzcomp(tzoffsetfrom, tzoffsetto, - (comptype == "DAYLIGHT"), - tzname, rr) - comps.append(comp) - comptype = None - else: - raise ValueError, \ - "invalid component end: "+value - elif comptype: - if name == "DTSTART": - rrulelines.append(line) - founddtstart = True - elif name in ("RRULE", "RDATE", "EXRULE", "EXDATE"): - rrulelines.append(line) - elif name == "TZOFFSETFROM": - if parms: - raise ValueError, \ - "unsupported %s parm: %s "%(name, parms[0]) - tzoffsetfrom = self._parse_offset(value) - elif name == "TZOFFSETTO": - if parms: - raise ValueError, \ - "unsupported TZOFFSETTO parm: "+parms[0] - tzoffsetto = self._parse_offset(value) - elif name == "TZNAME": - if parms: - raise ValueError, \ - "unsupported TZNAME parm: "+parms[0] - tzname = value - elif name == "COMMENT": - pass - else: - raise ValueError, "unsupported property: "+name - else: - if name == "TZID": - if parms: - raise ValueError, \ - "unsupported TZID parm: "+parms[0] - tzid = value - elif name in ("TZURL", "LAST-MODIFIED", "COMMENT"): - pass - else: - raise ValueError, "unsupported property: "+name - elif name == "BEGIN" and value == "VTIMEZONE": - tzid = None - comps = [] - invtz = True - - def __repr__(self): - return "%s(%s)" % (self.__class__.__name__, `self._s`) - -if sys.platform != "win32": - TZFILES = ["/etc/localtime", "localtime"] - TZPATHS = ["/usr/share/zoneinfo", "/usr/lib/zoneinfo", "/etc/zoneinfo"] -else: - TZFILES = [] - TZPATHS = [] - -def gettz(name=None): - tz = None - if not name: - try: - name = os.environ["TZ"] - except KeyError: - pass - if name is None or name == ":": - for filepath in TZFILES: - if not os.path.isabs(filepath): - filename = filepath - for path in TZPATHS: - filepath = os.path.join(path, filename) - if os.path.isfile(filepath): - break - else: - continue - if os.path.isfile(filepath): - try: - tz = tzfile(filepath) - break - except (IOError, OSError, ValueError): - pass - else: - tz = tzlocal() - else: - if name.startswith(":"): - name = name[:-1] - if os.path.isabs(name): - if os.path.isfile(name): - tz = tzfile(name) - else: - tz = None - else: - for path in TZPATHS: - filepath = os.path.join(path, name) - if not os.path.isfile(filepath): - filepath = filepath.replace(' ','_') - if not os.path.isfile(filepath): - continue - try: - tz = tzfile(filepath) - break - except (IOError, OSError, ValueError): - pass - else: - tz = None - if tzwin: - try: - tz = tzwin(name) - except OSError: - pass - if not tz: - from dateutil.zoneinfo import gettz - tz = gettz(name) - if not tz: - for c in name: - # name must have at least one offset to be a tzstr - if c in "0123456789": - try: - tz = tzstr(name) - except ValueError: - pass - break - else: - if name in ("GMT", "UTC"): - tz = tzutc() - elif name in time.tzname: - tz = tzlocal() - return tz - -# vim:ts=4:sw=4:et diff --git a/dateutil/tzwin.py b/dateutil/tzwin.py deleted file mode 100644 index 073e0ff..0000000 --- a/dateutil/tzwin.py +++ /dev/null @@ -1,180 +0,0 @@ -# This code was originally contributed by Jeffrey Harris. -import datetime -import struct -import _winreg - -__author__ = "Jeffrey Harris & Gustavo Niemeyer " - -__all__ = ["tzwin", "tzwinlocal"] - -ONEWEEK = datetime.timedelta(7) - -TZKEYNAMENT = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones" -TZKEYNAME9X = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Time Zones" -TZLOCALKEYNAME = r"SYSTEM\CurrentControlSet\Control\TimeZoneInformation" - -def _settzkeyname(): - global TZKEYNAME - handle = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) - try: - _winreg.OpenKey(handle, TZKEYNAMENT).Close() - TZKEYNAME = TZKEYNAMENT - except WindowsError: - TZKEYNAME = TZKEYNAME9X - handle.Close() - -_settzkeyname() - -class tzwinbase(datetime.tzinfo): - """tzinfo class based on win32's timezones available in the registry.""" - - def utcoffset(self, dt): - if self._isdst(dt): - return datetime.timedelta(minutes=self._dstoffset) - else: - return datetime.timedelta(minutes=self._stdoffset) - - def dst(self, dt): - if self._isdst(dt): - minutes = self._dstoffset - self._stdoffset - return datetime.timedelta(minutes=minutes) - else: - return datetime.timedelta(0) - - def tzname(self, dt): - if self._isdst(dt): - return self._dstname - else: - return self._stdname - - def list(): - """Return a list of all time zones known to the system.""" - handle = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) - tzkey = _winreg.OpenKey(handle, TZKEYNAME) - result = [_winreg.EnumKey(tzkey, i) - for i in range(_winreg.QueryInfoKey(tzkey)[0])] - tzkey.Close() - handle.Close() - return result - list = staticmethod(list) - - def display(self): - return self._display - - def _isdst(self, dt): - dston = picknthweekday(dt.year, self._dstmonth, self._dstdayofweek, - self._dsthour, self._dstminute, - self._dstweeknumber) - dstoff = picknthweekday(dt.year, self._stdmonth, self._stddayofweek, - self._stdhour, self._stdminute, - self._stdweeknumber) - if dston < dstoff: - return dston <= dt.replace(tzinfo=None) < dstoff - else: - return not dstoff <= dt.replace(tzinfo=None) < dston - - -class tzwin(tzwinbase): - - def __init__(self, name): - self._name = name - - handle = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) - tzkey = _winreg.OpenKey(handle, "%s\%s" % (TZKEYNAME, name)) - keydict = valuestodict(tzkey) - tzkey.Close() - handle.Close() - - self._stdname = keydict["Std"].encode("iso-8859-1") - self._dstname = keydict["Dlt"].encode("iso-8859-1") - - self._display = keydict["Display"] - - # See http://ww_winreg.jsiinc.com/SUBA/tip0300/rh0398.htm - tup = struct.unpack("=3l16h", keydict["TZI"]) - self._stdoffset = -tup[0]-tup[1] # Bias + StandardBias * -1 - self._dstoffset = self._stdoffset-tup[2] # + DaylightBias * -1 - - (self._stdmonth, - self._stddayofweek, # Sunday = 0 - self._stdweeknumber, # Last = 5 - self._stdhour, - self._stdminute) = tup[4:9] - - (self._dstmonth, - self._dstdayofweek, # Sunday = 0 - self._dstweeknumber, # Last = 5 - self._dsthour, - self._dstminute) = tup[12:17] - - def __repr__(self): - return "tzwin(%s)" % repr(self._name) - - def __reduce__(self): - return (self.__class__, (self._name,)) - - -class tzwinlocal(tzwinbase): - - def __init__(self): - - handle = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) - - tzlocalkey = _winreg.OpenKey(handle, TZLOCALKEYNAME) - keydict = valuestodict(tzlocalkey) - tzlocalkey.Close() - - self._stdname = keydict["StandardName"].encode("iso-8859-1") - self._dstname = keydict["DaylightName"].encode("iso-8859-1") - - try: - tzkey = _winreg.OpenKey(handle, "%s\%s"%(TZKEYNAME, self._stdname)) - _keydict = valuestodict(tzkey) - self._display = _keydict["Display"] - tzkey.Close() - except OSError: - self._display = None - - handle.Close() - - self._stdoffset = -keydict["Bias"]-keydict["StandardBias"] - self._dstoffset = self._stdoffset-keydict["DaylightBias"] - - - # See http://ww_winreg.jsiinc.com/SUBA/tip0300/rh0398.htm - tup = struct.unpack("=8h", keydict["StandardStart"]) - - (self._stdmonth, - self._stddayofweek, # Sunday = 0 - self._stdweeknumber, # Last = 5 - self._stdhour, - self._stdminute) = tup[1:6] - - tup = struct.unpack("=8h", keydict["DaylightStart"]) - - (self._dstmonth, - self._dstdayofweek, # Sunday = 0 - self._dstweeknumber, # Last = 5 - self._dsthour, - self._dstminute) = tup[1:6] - - def __reduce__(self): - return (self.__class__, ()) - -def picknthweekday(year, month, dayofweek, hour, minute, whichweek): - """dayofweek == 0 means Sunday, whichweek 5 means last instance""" - first = datetime.datetime(year, month, 1, hour, minute) - weekdayone = first.replace(day=((dayofweek-first.isoweekday())%7+1)) - for n in xrange(whichweek): - dt = weekdayone+(whichweek-n)*ONEWEEK - if dt.month == month: - return dt - -def valuestodict(key): - """Convert a registry key's values to a dictionary.""" - dict = {} - size = _winreg.QueryInfoKey(key)[1] - for i in range(size): - data = _winreg.EnumValue(key, i) - dict[data[0]] = data[1] - return dict diff --git a/dateutil/zoneinfo/__init__.py b/dateutil/zoneinfo/__init__.py deleted file mode 100644 index 9bed626..0000000 --- a/dateutil/zoneinfo/__init__.py +++ /dev/null @@ -1,87 +0,0 @@ -""" -Copyright (c) 2003-2005 Gustavo Niemeyer - -This module offers extensions to the standard python 2.3+ -datetime module. -""" -from dateutil.tz import tzfile -from tarfile import TarFile -import os - -__author__ = "Gustavo Niemeyer " -__license__ = "PSF License" - -__all__ = ["setcachesize", "gettz", "rebuild"] - -CACHE = [] -CACHESIZE = 10 - -class tzfile(tzfile): - def __reduce__(self): - return (gettz, (self._filename,)) - -def getzoneinfofile(): - filenames = os.listdir(os.path.join(os.path.dirname(__file__))) - filenames.sort() - filenames.reverse() - for entry in filenames: - if entry.startswith("zoneinfo") and ".tar." in entry: - return os.path.join(os.path.dirname(__file__), entry) - return None - -ZONEINFOFILE = getzoneinfofile() - -del getzoneinfofile - -def setcachesize(size): - global CACHESIZE, CACHE - CACHESIZE = size - del CACHE[size:] - -def gettz(name): - tzinfo = None - if ZONEINFOFILE: - for cachedname, tzinfo in CACHE: - if cachedname == name: - break - else: - tf = TarFile.open(ZONEINFOFILE) - try: - zonefile = tf.extractfile(name) - except KeyError: - tzinfo = None - else: - tzinfo = tzfile(zonefile) - tf.close() - CACHE.insert(0, (name, tzinfo)) - del CACHE[CACHESIZE:] - return tzinfo - -def rebuild(filename, tag=None, format="gz"): - import tempfile, shutil - tmpdir = tempfile.mkdtemp() - zonedir = os.path.join(tmpdir, "zoneinfo") - moduledir = os.path.dirname(__file__) - if tag: tag = "-"+tag - targetname = "zoneinfo%s.tar.%s" % (tag, format) - try: - tf = TarFile.open(filename) - for name in tf.getnames(): - if not (name.endswith(".sh") or - name.endswith(".tab") or - name == "leapseconds"): - tf.extract(name, tmpdir) - filepath = os.path.join(tmpdir, name) - os.system("zic -d %s %s" % (zonedir, filepath)) - tf.close() - target = os.path.join(moduledir, targetname) - for entry in os.listdir(moduledir): - if entry.startswith("zoneinfo") and ".tar." in entry: - os.unlink(os.path.join(moduledir, entry)) - tf = TarFile.open(target, "w:%s" % format) - for entry in os.listdir(zonedir): - entrypath = os.path.join(zonedir, entry) - tf.add(entrypath, entry) - tf.close() - finally: - shutil.rmtree(tmpdir) diff --git a/dateutil/zoneinfo/zoneinfo-2010g.tar.gz b/dateutil/zoneinfo/zoneinfo-2010g.tar.gz deleted file mode 100644 index 8bd4f96402be50779e4b2749688d077347a6eef0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171995 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

*(x6q- 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 a{NCX=hc6D7hu<1LG< julian: - if diff < day: - day = day - diff - else: - month = month - 1 - day = 31 - elif jday < julian: - if day + diff < 28: - day = day + diff - else: - month = month + 1 - return year, month, day - month = m.group('month') - day = 1 - if month is None: - month = 1 - else: - month = int(month) - day = m.group('day') - if day: - day = int(day) - else: - day = 1 - return year, month, day - - -# Copied from feedparser.py -# Universal Feedparser -# Copyright (c) 2002-2006, Mark Pilgrim, All rights reserved. -# Originally a def inside of _parse_date_w3dtf() -def _extract_time(m): - if not m: - return 0, 0, 0 - hours = m.group('hours') - if not hours: - return 0, 0, 0 - hours = int(hours) - minutes = int(m.group('minutes')) - seconds = m.group('seconds') - if seconds: - seconds = seconds.replace(',', '.').split('.', 1)[0] - seconds = int(seconds) - else: - seconds = 0 - return hours, minutes, seconds - - -def _pop_time_accuracy(m, ctx): - if not m: - return - if m.group('hours'): - ctx.updateAccuracy(ctx.ACU_HOUR) - if m.group('minutes'): - ctx.updateAccuracy(ctx.ACU_MIN) - if m.group('seconds'): - ctx.updateAccuracy(ctx.ACU_SEC) - - -# Copied from feedparser.py -# Universal Feedparser -# Copyright (c) 2002-2006, Mark Pilgrim, All rights reserved. -# Modified to return a tuple instead of mktime -# -# Original comment: -# W3DTF-style date parsing adapted from PyXML xml.utils.iso8601, written by -# Drake and licensed under the Python license. Removed all range checking -# for month, day, hour, minute, and second, since mktime will normalize -# these later -def __closure_parse_date_w3dtf(): - # the __extract_date and __extract_time methods were - # copied-out so they could be used by my code --bear - def __extract_tzd(m): - '''Return the Time Zone Designator as an offset in seconds from UTC.''' - if not m: - return 0 - tzd = m.group('tzd') - if not tzd: - return 0 - if tzd == 'Z': - return 0 - hours = int(m.group('tzdhours')) - minutes = m.group('tzdminutes') - if minutes: - minutes = int(minutes) - else: - minutes = 0 - offset = (hours * 60 + minutes) * 60 - if tzd[0] == '+': - return -offset - return offset - - def _parse_date_w3dtf(dateString): - m = __datetime_rx.match(dateString) - if m is None or m.group() != dateString: - return - return _extract_date(m) + _extract_time(m) + (0, 0, 0) - - __date_re = (r'(?P\d\d\d\d)' - r'(?:(?P-|)' - r'(?:(?P\d\d\d)' - r'|(?P\d\d)(?:(?P=dsep)(?P\d\d))?))?') - __tzd_re = r'(?P[-+](?P\d\d)(?::?(?P\d\d))|Z)' - # __tzd_rx = re.compile(__tzd_re) - __time_re = (r'(?P\d\d)(?P:|)(?P\d\d)' - r'(?:(?P=tsep)(?P\d\d(?:[.,]\d+)?))?' + - __tzd_re) - __datetime_re = '%s(?:T%s)?' % (__date_re, __time_re) - __datetime_rx = re.compile(__datetime_re) - - return _parse_date_w3dtf - - -_parse_date_w3dtf = __closure_parse_date_w3dtf() -del __closure_parse_date_w3dtf - -_monthnames = set([ - 'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', - 'aug', 'sep', 'oct', 'nov', 'dec', - 'january', 'february', 'march', 'april', 'may', 'june', 'july', - 'august', 'september', 'october', 'november', 'december']) -_daynames = set(['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun']) - - -# Copied from feedparser.py -# Universal Feedparser -# Copyright (c) 2002-2006, Mark Pilgrim, All rights reserved. -# Modified to return a tuple instead of mktime -def _parse_date_rfc822(dateString): - '''Parse an RFC822, RFC1123, RFC2822, or asctime-style date''' - data = dateString.split() - if data[0][-1] in (',', '.') or data[0].lower() in _daynames: - del data[0] - if len(data) == 4: - s = data[3] - s = s.split('+', 1) - if len(s) == 2: - data[3:] = s - else: - data.append('') - dateString = " ".join(data) - if len(data) < 5: - dateString += ' 00:00:00 GMT' - return email.utils.parsedate_tz(dateString) - - -# rfc822.py defines several time zones, but we define some extra ones. -# 'ET' is equivalent to 'EST', etc. -# _additional_timezones = {'AT': -400, 'ET': -500, -# 'CT': -600, 'MT': -700, -# 'PT': -800} -# email.utils._timezones.update(_additional_timezones) - -VERSION_FLAG_STYLE = 1 -VERSION_CONTEXT_STYLE = 2 - - -class Calendar(object): - - """ - A collection of routines to input, parse and manipulate date and times. - The text can either be 'normal' date values or it can be human readable. - """ - - def __init__(self, constants=None, version=VERSION_FLAG_STYLE): - """ - Default constructor for the L{Calendar} class. - - @type constants: object - @param constants: Instance of the class L{Constants} - @type version: integer - @param version: Default style version of current Calendar instance. - Valid value can be 1 (L{VERSION_FLAG_STYLE}) or - 2 (L{VERSION_CONTEXT_STYLE}). See L{parse()}. - - @rtype: object - @return: L{Calendar} instance - """ - # if a constants reference is not included, use default - if constants is None: - self.ptc = Constants() - else: - self.ptc = constants - - self.version = version - if version == VERSION_FLAG_STYLE: - warnings.warn( - 'Flag style will be deprecated in parsedatetime 2.0. ' - 'Instead use the context style by instantiating `Calendar()` ' - 'with argument `version=parsedatetime.VERSION_CONTEXT_STYLE`.', - pdt20DeprecationWarning) - self._ctxStack = pdtContextStack() - - @contextlib.contextmanager - def context(self): - ctx = pdtContext() - self._ctxStack.push(ctx) - yield ctx - ctx = self._ctxStack.pop() - if not self._ctxStack.isEmpty(): - self.currentContext.update(ctx) - - @property - def currentContext(self): - return self._ctxStack.last() - - def _convertUnitAsWords(self, unitText): - """ - Converts text units into their number value. - - @type unitText: string - @param unitText: number text to convert - - @rtype: integer - @return: numerical value of unitText - """ - word_list, a, b = re.split(r"[,\s-]+", unitText), 0, 0 - for word in word_list: - x = self.ptc.small.get(word) - if x is not None: - a += x - elif word == "hundred": - a *= 100 - else: - x = self.ptc.magnitude.get(word) - if x is not None: - b += a * x - a = 0 - elif word in self.ptc.ignore: - pass - else: - raise Exception("Unknown number: " + word) - return a + b - - def _buildTime(self, source, quantity, modifier, units): - """ - Take C{quantity}, C{modifier} and C{unit} strings and convert them - into values. After converting, calcuate the time and return the - adjusted sourceTime. - - @type source: time - @param source: time to use as the base (or source) - @type quantity: string - @param quantity: quantity string - @type modifier: string - @param modifier: how quantity and units modify the source time - @type units: string - @param units: unit of the quantity (i.e. hours, days, months, etc) - - @rtype: struct_time - @return: C{struct_time} of the calculated time - """ - ctx = self.currentContext - debug and log.debug('_buildTime: [%s][%s][%s]', - quantity, modifier, units) - - if source is None: - source = time.localtime() - - if quantity is None: - quantity = '' - else: - quantity = quantity.strip() - - qty = self._quantityToReal(quantity) - - if modifier in self.ptc.Modifiers: - qty = qty * self.ptc.Modifiers[modifier] - - if units is None or units == '': - units = 'dy' - - # plurals are handled by regex's (could be a bug tho) - - (yr, mth, dy, hr, mn, sec, _, _, _) = source - - start = datetime.datetime(yr, mth, dy, hr, mn, sec) - target = start - # realunit = next((key for key, values in self.ptc.units.items() - # if any(imap(units.__contains__, values))), None) - realunit = units - for key, values in self.ptc.units.items(): - if units in values: - realunit = key - break - - debug and log.debug('units %s --> realunit %s (qty=%s)', - units, realunit, qty) - - try: - if realunit in ('years', 'months'): - target = self.inc(start, **{realunit[:-1]: qty}) - elif realunit in ('days', 'hours', 'minutes', 'seconds', 'weeks'): - delta = datetime.timedelta(**{realunit: qty}) - target = start + delta - except OverflowError: - # OverflowError is raise when target.year larger than 9999 - pass - else: - ctx.updateAccuracy(realunit) - - return target.timetuple() - - def parseDate(self, dateString, sourceTime=None): - """ - Parse short-form date strings:: - - '05/28/2006' or '04.21' - - @type dateString: string - @param dateString: text to convert to a C{datetime} - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: struct_time - @return: calculated C{struct_time} value of dateString - """ - if sourceTime is None: - yr, mth, dy, hr, mn, sec, wd, yd, isdst = time.localtime() - else: - yr, mth, dy, hr, mn, sec, wd, yd, isdst = sourceTime - - # values pulled from regex's will be stored here and later - # assigned to mth, dy, yr based on information from the locale - # -1 is used as the marker value because we want zero values - # to be passed thru so they can be flagged as errors later - v1 = -1 - v2 = -1 - v3 = -1 - accuracy = [] - - s = dateString - m = self.ptc.CRE_DATE2.search(s) - if m is not None: - index = m.start() - v1 = int(s[:index]) - s = s[index + 1:] - - m = self.ptc.CRE_DATE2.search(s) - if m is not None: - index = m.start() - v2 = int(s[:index]) - v3 = int(s[index + 1:]) - else: - v2 = int(s.strip()) - - v = [v1, v2, v3] - d = {'m': mth, 'd': dy, 'y': yr} - - # yyyy/mm/dd format - dp_order = self.ptc.dp_order if v1 <= 31 else ['y', 'm', 'd'] - - for i in range(0, 3): - n = v[i] - c = dp_order[i] - if n >= 0: - d[c] = n - accuracy.append({'m': pdtContext.ACU_MONTH, - 'd': pdtContext.ACU_DAY, - 'y': pdtContext.ACU_YEAR}[c]) - - # if the year is not specified and the date has already - # passed, increment the year - if v3 == -1 and ((mth > d['m']) or (mth == d['m'] and dy > d['d'])): - yr = d['y'] + self.ptc.YearParseStyle - else: - yr = d['y'] - - mth = d['m'] - dy = d['d'] - - # birthday epoch constraint - if yr < self.ptc.BirthdayEpoch: - yr += 2000 - elif yr < 100: - yr += 1900 - - daysInCurrentMonth = self.ptc.daysInMonth(mth, yr) - debug and log.debug('parseDate: %s %s %s %s', - yr, mth, dy, daysInCurrentMonth) - - with self.context() as ctx: - if mth > 0 and mth <= 12 and dy > 0 and \ - dy <= daysInCurrentMonth: - sourceTime = (yr, mth, dy, hr, mn, sec, wd, yd, isdst) - ctx.updateAccuracy(*accuracy) - else: - # return current time if date string is invalid - sourceTime = time.localtime() - - return sourceTime - - def parseDateText(self, dateString, sourceTime=None): - """ - Parse long-form date strings:: - - 'May 31st, 2006' - 'Jan 1st' - 'July 2006' - - @type dateString: string - @param dateString: text to convert to a datetime - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: struct_time - @return: calculated C{struct_time} value of dateString - """ - if sourceTime is None: - yr, mth, dy, hr, mn, sec, wd, yd, isdst = time.localtime() - else: - yr, mth, dy, hr, mn, sec, wd, yd, isdst = sourceTime - - currentMth = mth - currentDy = dy - accuracy = [] - - debug and log.debug('parseDateText currentMth %s currentDy %s', - mth, dy) - - s = dateString.lower() - m = self.ptc.CRE_DATE3.search(s) - mth = m.group('mthname') - mth = self.ptc.MonthOffsets[mth] - accuracy.append('month') - - if m.group('day') is not None: - dy = int(m.group('day')) - accuracy.append('day') - else: - dy = 1 - - if m.group('year') is not None: - yr = int(m.group('year')) - accuracy.append('year') - - # birthday epoch constraint - if yr < self.ptc.BirthdayEpoch: - yr += 2000 - elif yr < 100: - yr += 1900 - - elif (mth < currentMth) or (mth == currentMth and dy < currentDy): - # if that day and month have already passed in this year, - # then increment the year by 1 - yr += self.ptc.YearParseStyle - - with self.context() as ctx: - if dy > 0 and dy <= self.ptc.daysInMonth(mth, yr): - sourceTime = (yr, mth, dy, hr, mn, sec, wd, yd, isdst) - ctx.updateAccuracy(*accuracy) - else: - # Return current time if date string is invalid - sourceTime = time.localtime() - - debug and log.debug('parseDateText returned ' - 'mth %d dy %d yr %d sourceTime %s', - mth, dy, yr, sourceTime) - - return sourceTime - - def evalRanges(self, datetimeString, sourceTime=None): - """ - Evaluate the C{datetimeString} text and determine if - it represents a date or time range. - - @type datetimeString: string - @param datetimeString: datetime text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of: start datetime, end datetime and the invalid flag - """ - rangeFlag = retFlag = 0 - startStr = endStr = '' - - s = datetimeString.strip().lower() - - if self.ptc.rangeSep in s: - s = s.replace(self.ptc.rangeSep, ' %s ' % self.ptc.rangeSep) - s = s.replace(' ', ' ') - - for cre, rflag in [(self.ptc.CRE_TIMERNG1, 1), - (self.ptc.CRE_TIMERNG2, 2), - (self.ptc.CRE_TIMERNG4, 7), - (self.ptc.CRE_TIMERNG3, 3), - (self.ptc.CRE_DATERNG1, 4), - (self.ptc.CRE_DATERNG2, 5), - (self.ptc.CRE_DATERNG3, 6)]: - m = cre.search(s) - if m is not None: - rangeFlag = rflag - break - - debug and log.debug('evalRanges: rangeFlag = %s [%s]', rangeFlag, s) - - if m is not None: - if (m.group() != s): - # capture remaining string - parseStr = m.group() - chunk1 = s[:m.start()] - chunk2 = s[m.end():] - s = '%s %s' % (chunk1, chunk2) - - sourceTime, ctx = self.parse(s, sourceTime, - VERSION_CONTEXT_STYLE) - - if not ctx.hasDateOrTime: - sourceTime = None - else: - parseStr = s - - if rangeFlag in (1, 2): - m = re.search(self.ptc.rangeSep, parseStr) - startStr = parseStr[:m.start()] - endStr = parseStr[m.start() + 1:] - retFlag = 2 - - elif rangeFlag in (3, 7): - m = re.search(self.ptc.rangeSep, parseStr) - # capturing the meridian from the end time - if self.ptc.usesMeridian: - ampm = re.search(self.ptc.am[0], parseStr) - - # appending the meridian to the start time - if ampm is not None: - startStr = parseStr[:m.start()] + self.ptc.meridian[0] - else: - startStr = parseStr[:m.start()] + self.ptc.meridian[1] - else: - startStr = parseStr[:m.start()] - - endStr = parseStr[m.start() + 1:] - retFlag = 2 - - elif rangeFlag == 4: - m = re.search(self.ptc.rangeSep, parseStr) - startStr = parseStr[:m.start()] - endStr = parseStr[m.start() + 1:] - retFlag = 1 - - elif rangeFlag == 5: - m = re.search(self.ptc.rangeSep, parseStr) - endStr = parseStr[m.start() + 1:] - - # capturing the year from the end date - date = self.ptc.CRE_DATE3.search(endStr) - endYear = date.group('year') - - # appending the year to the start date if the start date - # does not have year information and the end date does. - # eg : "Aug 21 - Sep 4, 2007" - if endYear is not None: - startStr = (parseStr[:m.start()]).strip() - date = self.ptc.CRE_DATE3.search(startStr) - startYear = date.group('year') - - if startYear is None: - startStr = startStr + ', ' + endYear - else: - startStr = parseStr[:m.start()] - - retFlag = 1 - - elif rangeFlag == 6: - m = re.search(self.ptc.rangeSep, parseStr) - - startStr = parseStr[:m.start()] - - # capturing the month from the start date - mth = self.ptc.CRE_DATE3.search(startStr) - mth = mth.group('mthname') - - # appending the month name to the end date - endStr = mth + parseStr[(m.start() + 1):] - - retFlag = 1 - - else: - # if range is not found - startDT = endDT = time.localtime() - - if retFlag: - startDT, sctx = self.parse(startStr, sourceTime, - VERSION_CONTEXT_STYLE) - endDT, ectx = self.parse(endStr, sourceTime, - VERSION_CONTEXT_STYLE) - - if not sctx.hasDateOrTime or not ectx.hasDateOrTime: - retFlag = 0 - - return startDT, endDT, retFlag - - def _CalculateDOWDelta(self, wd, wkdy, offset, style, currentDayStyle): - """ - Based on the C{style} and C{currentDayStyle} determine what - day-of-week value is to be returned. - - @type wd: integer - @param wd: day-of-week value for the current day - @type wkdy: integer - @param wkdy: day-of-week value for the parsed day - @type offset: integer - @param offset: offset direction for any modifiers (-1, 0, 1) - @type style: integer - @param style: normally the value - set in C{Constants.DOWParseStyle} - @type currentDayStyle: integer - @param currentDayStyle: normally the value - set in C{Constants.CurrentDOWParseStyle} - - @rtype: integer - @return: calculated day-of-week - """ - diffBase = wkdy - wd - origOffset = offset - - if offset == 2: - # no modifier is present. - # i.e. string to be parsed is just DOW - if wkdy * style > wd * style or \ - currentDayStyle and wkdy == wd: - # wkdy located in current week - offset = 0 - elif style in (-1, 1): - # wkdy located in last (-1) or next (1) week - offset = style - else: - # invalid style, or should raise error? - offset = 0 - - # offset = -1 means last week - # offset = 0 means current week - # offset = 1 means next week - diff = diffBase + 7 * offset - if style == 1 and diff < -7: - diff += 7 - elif style == -1 and diff > 7: - diff -= 7 - - debug and log.debug("wd %s, wkdy %s, offset %d, " - "style %d, currentDayStyle %d", - wd, wkdy, origOffset, style, currentDayStyle) - - return diff - - def _quantityToReal(self, quantity): - """ - Convert a quantity, either spelled-out or numeric, to a float - - @type quantity: string - @param quantity: quantity to parse to float - @rtype: int - @return: the quantity as an float, defaulting to 0.0 - """ - if not quantity: - return 1.0 - - try: - return float(quantity.replace(',', '.')) - except ValueError: - pass - - try: - return float(self.ptc.numbers[quantity]) - except KeyError: - pass - - return 0.0 - - def _evalModifier(self, modifier, chunk1, chunk2, sourceTime): - """ - Evaluate the C{modifier} string and following text (passed in - as C{chunk1} and C{chunk2}) and if they match any known modifiers - calculate the delta and apply it to C{sourceTime}. - - @type modifier: string - @param modifier: modifier text to apply to sourceTime - @type chunk1: string - @param chunk1: text chunk that preceded modifier (if any) - @type chunk2: string - @param chunk2: text chunk that followed modifier (if any) - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of: remaining text and the modified sourceTime - """ - ctx = self.currentContext - offset = self.ptc.Modifiers[modifier] - - if sourceTime is not None: - (yr, mth, dy, hr, mn, sec, wd, yd, isdst) = sourceTime - else: - (yr, mth, dy, hr, mn, sec, wd, yd, isdst) = time.localtime() - - if self.ptc.StartTimeFromSourceTime: - startHour = hr - startMinute = mn - startSecond = sec - else: - startHour = 9 - startMinute = 0 - startSecond = 0 - - # capture the units after the modifier and the remaining - # string after the unit - m = self.ptc.CRE_REMAINING.search(chunk2) - if m is not None: - index = m.start() + 1 - unit = chunk2[:m.start()] - chunk2 = chunk2[index:] - else: - unit = chunk2 - chunk2 = '' - - debug and log.debug("modifier [%s] chunk1 [%s] " - "chunk2 [%s] unit [%s]", - modifier, chunk1, chunk2, unit) - - if unit in self.ptc.units['months']: - currentDaysInMonth = self.ptc.daysInMonth(mth, yr) - if offset == 0: - dy = currentDaysInMonth - sourceTime = (yr, mth, dy, startHour, startMinute, - startSecond, wd, yd, isdst) - elif offset == 2: - # if day is the last day of the month, calculate the last day - # of the next month - if dy == currentDaysInMonth: - dy = self.ptc.daysInMonth(mth + 1, yr) - - start = datetime.datetime(yr, mth, dy, startHour, - startMinute, startSecond) - target = self.inc(start, month=1) - sourceTime = target.timetuple() - else: - start = datetime.datetime(yr, mth, 1, startHour, - startMinute, startSecond) - target = self.inc(start, month=offset) - sourceTime = target.timetuple() - ctx.updateAccuracy(ctx.ACU_MONTH) - - elif unit in self.ptc.units['weeks']: - if offset == 0: - start = datetime.datetime(yr, mth, dy, 17, 0, 0) - target = start + datetime.timedelta(days=(4 - wd)) - sourceTime = target.timetuple() - elif offset == 2: - start = datetime.datetime(yr, mth, dy, startHour, - startMinute, startSecond) - target = start + datetime.timedelta(days=7) - sourceTime = target.timetuple() - else: - start = datetime.datetime(yr, mth, dy, startHour, - startMinute, startSecond) - target = start + offset * datetime.timedelta(weeks=1) - sourceTime = target.timetuple() - ctx.updateAccuracy(ctx.ACU_WEEK) - - elif unit in self.ptc.units['days']: - if offset == 0: - sourceTime = (yr, mth, dy, 17, 0, 0, wd, yd, isdst) - ctx.updateAccuracy(ctx.ACU_HALFDAY) - elif offset == 2: - start = datetime.datetime(yr, mth, dy, hr, mn, sec) - target = start + datetime.timedelta(days=1) - sourceTime = target.timetuple() - else: - start = datetime.datetime(yr, mth, dy, startHour, - startMinute, startSecond) - target = start + datetime.timedelta(days=offset) - sourceTime = target.timetuple() - ctx.updateAccuracy(ctx.ACU_DAY) - - elif unit in self.ptc.units['hours']: - if offset == 0: - sourceTime = (yr, mth, dy, hr, 0, 0, wd, yd, isdst) - else: - start = datetime.datetime(yr, mth, dy, hr, 0, 0) - target = start + datetime.timedelta(hours=offset) - sourceTime = target.timetuple() - ctx.updateAccuracy(ctx.ACU_HOUR) - - elif unit in self.ptc.units['years']: - if offset == 0: - sourceTime = (yr, 12, 31, hr, mn, sec, wd, yd, isdst) - elif offset == 2: - sourceTime = (yr + 1, mth, dy, hr, mn, sec, wd, yd, isdst) - else: - sourceTime = (yr + offset, 1, 1, startHour, startMinute, - startSecond, wd, yd, isdst) - ctx.updateAccuracy(ctx.ACU_YEAR) - - elif modifier == 'eom': - dy = self.ptc.daysInMonth(mth, yr) - sourceTime = (yr, mth, dy, startHour, startMinute, - startSecond, wd, yd, isdst) - ctx.updateAccuracy(ctx.ACU_DAY) - - elif modifier == 'eoy': - mth = 12 - dy = self.ptc.daysInMonth(mth, yr) - sourceTime = (yr, mth, dy, startHour, startMinute, - startSecond, wd, yd, isdst) - ctx.updateAccuracy(ctx.ACU_MONTH) - - elif self.ptc.CRE_WEEKDAY.match(unit): - m = self.ptc.CRE_WEEKDAY.match(unit) - debug and log.debug('CRE_WEEKDAY matched') - wkdy = m.group() - - if modifier == 'eod': - ctx.updateAccuracy(ctx.ACU_HOUR) - # Calculate the upcoming weekday - sourceTime, subctx = self.parse(wkdy, sourceTime, - VERSION_CONTEXT_STYLE) - sTime = self.ptc.getSource(modifier, sourceTime) - if sTime is not None: - sourceTime = sTime - ctx.updateAccuracy(ctx.ACU_HALFDAY) - else: - # unless one of these modifiers is being applied to the - # day-of-week, we want to start with target as the day - # in the current week. - dowOffset = offset - relativeModifier = modifier not in ['this', 'next', 'last', 'prior', 'previous'] - if relativeModifier: - dowOffset = 0 - - wkdy = self.ptc.WeekdayOffsets[wkdy] - diff = self._CalculateDOWDelta( - wd, wkdy, dowOffset, self.ptc.DOWParseStyle, - self.ptc.CurrentDOWParseStyle) - start = datetime.datetime(yr, mth, dy, startHour, - startMinute, startSecond) - target = start + datetime.timedelta(days=diff) - - if chunk1 != '' and relativeModifier: - # consider "one day before thursday": we need to parse chunk1 ("one day") - # and apply according to the offset ("before"), rather than allowing the - # remaining parse step to apply "one day" without the offset direction. - t, subctx = self.parse(chunk1, sourceTime, VERSION_CONTEXT_STYLE) - if subctx.hasDateOrTime: - delta = time.mktime(t) - time.mktime(sourceTime) - target = start + datetime.timedelta(days=diff) + datetime.timedelta(seconds=delta * offset) - chunk1 = '' - - sourceTime = target.timetuple() - ctx.updateAccuracy(ctx.ACU_DAY) - - elif chunk1 == '' and chunk2 == '' and self.ptc.CRE_TIME.match(unit): - m = self.ptc.CRE_TIME.match(unit) - debug and log.debug('CRE_TIME matched') - (yr, mth, dy, hr, mn, sec, wd, yd, isdst), subctx = \ - self.parse(unit, None, VERSION_CONTEXT_STYLE) - - start = datetime.datetime(yr, mth, dy, hr, mn, sec) - target = start + datetime.timedelta(days=offset) - sourceTime = target.timetuple() - - else: - # check if the remaining text is parsable and if so, - # use it as the base time for the modifier source time - - debug and log.debug('check for modifications ' - 'to source time [%s] [%s]', - chunk1, unit) - - unit = unit.strip() - if unit: - s = '%s %s' % (unit, chunk2) - t, subctx = self.parse(s, sourceTime, VERSION_CONTEXT_STYLE) - - if subctx.hasDate: # working with dates - u = unit.lower() - if u in self.ptc.Months or \ - u in self.ptc.shortMonths: - yr, mth, dy, hr, mn, sec, wd, yd, isdst = t - start = datetime.datetime( - yr, mth, dy, hr, mn, sec) - t = self.inc(start, year=offset).timetuple() - elif u in self.ptc.Weekdays: - t = t + datetime.timedelta(weeks=offset) - - if subctx.hasDateOrTime: - sourceTime = t - chunk2 = '' - - chunk1 = chunk1.strip() - - # if the word after next is a number, the string is more than - # likely to be "next 4 hrs" which we will have to combine the - # units with the rest of the string - if chunk1: - try: - m = list(self.ptc.CRE_NUMBER.finditer(chunk1))[-1] - except IndexError: - pass - else: - qty = None - debug and log.debug('CRE_NUMBER matched') - qty = self._quantityToReal(m.group()) * offset - chunk1 = '%s%s%s' % (chunk1[:m.start()], - qty, chunk1[m.end():]) - t, subctx = self.parse(chunk1, sourceTime, - VERSION_CONTEXT_STYLE) - - chunk1 = '' - - if subctx.hasDateOrTime: - sourceTime = t - - debug and log.debug('looking for modifier %s', modifier) - sTime = self.ptc.getSource(modifier, sourceTime) - if sTime is not None: - debug and log.debug('modifier found in sources') - sourceTime = sTime - ctx.updateAccuracy(ctx.ACU_HALFDAY) - - debug and log.debug('returning chunk = "%s %s" and sourceTime = %s', - chunk1, chunk2, sourceTime) - - return '%s %s' % (chunk1, chunk2), sourceTime - - def _evalDT(self, datetimeString, sourceTime): - """ - Calculate the datetime from known format like RFC822 or W3CDTF - - Examples handled:: - RFC822, W3CDTF formatted dates - HH:MM[:SS][ am/pm] - MM/DD/YYYY - DD MMMM YYYY - - @type datetimeString: string - @param datetimeString: text to try and parse as more "traditional" - date/time text - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: datetime - @return: calculated C{struct_time} value or current C{struct_time} - if not parsed - """ - ctx = self.currentContext - s = datetimeString.strip() - - # Given string date is a RFC822 date - if sourceTime is None: - sourceTime = _parse_date_rfc822(s) - debug and log.debug( - 'attempt to parse as rfc822 - %s', str(sourceTime)) - - if sourceTime is not None: - (yr, mth, dy, hr, mn, sec, wd, yd, isdst, _) = sourceTime - ctx.updateAccuracy(ctx.ACU_YEAR, ctx.ACU_MONTH, ctx.ACU_DAY) - - if hr != 0 and mn != 0 and sec != 0: - ctx.updateAccuracy(ctx.ACU_HOUR, ctx.ACU_MIN, ctx.ACU_SEC) - - sourceTime = (yr, mth, dy, hr, mn, sec, wd, yd, isdst) - - # Given string date is a W3CDTF date - if sourceTime is None: - sourceTime = _parse_date_w3dtf(s) - - if sourceTime is not None: - ctx.updateAccuracy(ctx.ACU_YEAR, ctx.ACU_MONTH, ctx.ACU_DAY, - ctx.ACU_HOUR, ctx.ACU_MIN, ctx.ACU_SEC) - - if sourceTime is None: - sourceTime = time.localtime() - - return sourceTime - - def _evalUnits(self, datetimeString, sourceTime): - """ - Evaluate text passed by L{_partialParseUnits()} - """ - s = datetimeString.strip() - sourceTime = self._evalDT(datetimeString, sourceTime) - - # Given string is a time string with units like "5 hrs 30 min" - modifier = '' # TODO - - m = self.ptc.CRE_UNITS.search(s) - if m is not None: - units = m.group('units') - quantity = s[:m.start('units')] - - sourceTime = self._buildTime(sourceTime, quantity, modifier, units) - return sourceTime - - def _evalQUnits(self, datetimeString, sourceTime): - """ - Evaluate text passed by L{_partialParseQUnits()} - """ - s = datetimeString.strip() - sourceTime = self._evalDT(datetimeString, sourceTime) - - # Given string is a time string with single char units like "5 h 30 m" - modifier = '' # TODO - - m = self.ptc.CRE_QUNITS.search(s) - if m is not None: - units = m.group('qunits') - quantity = s[:m.start('qunits')] - - sourceTime = self._buildTime(sourceTime, quantity, modifier, units) - return sourceTime - - def _evalDateStr(self, datetimeString, sourceTime): - """ - Evaluate text passed by L{_partialParseDateStr()} - """ - s = datetimeString.strip() - sourceTime = self._evalDT(datetimeString, sourceTime) - - # Given string is in the format "May 23rd, 2005" - debug and log.debug('checking for MMM DD YYYY') - return self.parseDateText(s, sourceTime) - - def _evalDateStd(self, datetimeString, sourceTime): - """ - Evaluate text passed by L{_partialParseDateStd()} - """ - s = datetimeString.strip() - sourceTime = self._evalDT(datetimeString, sourceTime) - - # Given string is in the format 07/21/2006 - return self.parseDate(s, sourceTime) - - def _evalDayStr(self, datetimeString, sourceTime): - """ - Evaluate text passed by L{_partialParseDaystr()} - """ - s = datetimeString.strip() - sourceTime = self._evalDT(datetimeString, sourceTime) - - # Given string is a natural language date string like today, tomorrow.. - (yr, mth, dy, hr, mn, sec, wd, yd, isdst) = sourceTime - - try: - offset = self.ptc.dayOffsets[s] - except KeyError: - offset = 0 - - if self.ptc.StartTimeFromSourceTime: - startHour = hr - startMinute = mn - startSecond = sec - else: - startHour = 9 - startMinute = 0 - startSecond = 0 - - self.currentContext.updateAccuracy(pdtContext.ACU_DAY) - start = datetime.datetime(yr, mth, dy, startHour, - startMinute, startSecond) - target = start + datetime.timedelta(days=offset) - return target.timetuple() - - def _evalWeekday(self, datetimeString, sourceTime): - """ - Evaluate text passed by L{_partialParseWeekday()} - """ - s = datetimeString.strip() - sourceTime = self._evalDT(datetimeString, sourceTime) - - # Given string is a weekday - yr, mth, dy, hr, mn, sec, wd, yd, isdst = sourceTime - - start = datetime.datetime(yr, mth, dy, hr, mn, sec) - wkdy = self.ptc.WeekdayOffsets[s] - - if wkdy > wd: - qty = self._CalculateDOWDelta(wd, wkdy, 2, - self.ptc.DOWParseStyle, - self.ptc.CurrentDOWParseStyle) - else: - qty = self._CalculateDOWDelta(wd, wkdy, 2, - self.ptc.DOWParseStyle, - self.ptc.CurrentDOWParseStyle) - - self.currentContext.updateAccuracy(pdtContext.ACU_DAY) - target = start + datetime.timedelta(days=qty) - return target.timetuple() - - def _evalTimeStr(self, datetimeString, sourceTime): - """ - Evaluate text passed by L{_partialParseTimeStr()} - """ - s = datetimeString.strip() - sourceTime = self._evalDT(datetimeString, sourceTime) - - if s in self.ptc.re_values['now']: - self.currentContext.updateAccuracy(pdtContext.ACU_NOW) - else: - # Given string is a natural language time string like - # lunch, midnight, etc - sTime = self.ptc.getSource(s, sourceTime) - if sTime: - sourceTime = sTime - self.currentContext.updateAccuracy(pdtContext.ACU_HALFDAY) - - return sourceTime - - def _evalMeridian(self, datetimeString, sourceTime): - """ - Evaluate text passed by L{_partialParseMeridian()} - """ - s = datetimeString.strip() - sourceTime = self._evalDT(datetimeString, sourceTime) - - # Given string is in the format HH:MM(:SS)(am/pm) - yr, mth, dy, hr, mn, sec, wd, yd, isdst = sourceTime - - m = self.ptc.CRE_TIMEHMS2.search(s) - if m is not None: - dt = s[:m.start('meridian')].strip() - if len(dt) <= 2: - hr = int(dt) - mn = 0 - sec = 0 - else: - hr, mn, sec = _extract_time(m) - - if hr == 24: - hr = 0 - - meridian = m.group('meridian').lower() - - # if 'am' found and hour is 12 - force hour to 0 (midnight) - if (meridian in self.ptc.am) and hr == 12: - hr = 0 - - # if 'pm' found and hour < 12, add 12 to shift to evening - if (meridian in self.ptc.pm) and hr < 12: - hr += 12 - - # time validation - if hr < 24 and mn < 60 and sec < 60: - sourceTime = (yr, mth, dy, hr, mn, sec, wd, yd, isdst) - _pop_time_accuracy(m, self.currentContext) - - return sourceTime - - def _evalTimeStd(self, datetimeString, sourceTime): - """ - Evaluate text passed by L{_partialParseTimeStd()} - """ - s = datetimeString.strip() - sourceTime = self._evalDT(datetimeString, sourceTime) - - # Given string is in the format HH:MM(:SS) - yr, mth, dy, hr, mn, sec, wd, yd, isdst = sourceTime - - m = self.ptc.CRE_TIMEHMS.search(s) - if m is not None: - hr, mn, sec = _extract_time(m) - if hr == 24: - hr = 0 - - # time validation - if hr < 24 and mn < 60 and sec < 60: - sourceTime = (yr, mth, dy, hr, mn, sec, wd, yd, isdst) - _pop_time_accuracy(m, self.currentContext) - - return sourceTime - - def _UnitsTrapped(self, s, m, key): - # check if a day suffix got trapped by a unit match - # for example Dec 31st would match for 31s (aka 31 seconds) - # Dec 31st - # ^ ^ - # | +-- m.start('units') - # | and also m2.start('suffix') - # +---- m.start('qty') - # and also m2.start('day') - m2 = self.ptc.CRE_DAY2.search(s) - if m2 is not None: - t = '%s%s' % (m2.group('day'), m.group(key)) - if m.start(key) == m2.start('suffix') and \ - m.start('qty') == m2.start('day') and \ - m.group('qty') == t: - return True - else: - return False - else: - return False - - def _partialParseModifier(self, s, sourceTime): - """ - test if giving C{s} matched CRE_MODIFIER, used by L{parse()} - - @type s: string - @param s: date/time text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of remained date/time text, datetime object and - an boolean value to describ if matched or not - - """ - parseStr = None - chunk1 = chunk2 = '' - - # Modifier like next/prev/from/after/prior.. - m = self.ptc.CRE_MODIFIER.search(s) - if m is not None: - if m.group() != s: - # capture remaining string - parseStr = m.group() - chunk1 = s[:m.start()].strip() - chunk2 = s[m.end():].strip() - else: - parseStr = s - - if parseStr: - debug and log.debug('found (modifier) [%s][%s][%s]', - parseStr, chunk1, chunk2) - s, sourceTime = self._evalModifier(parseStr, chunk1, - chunk2, sourceTime) - - return s, sourceTime, bool(parseStr) - - def _partialParseUnits(self, s, sourceTime): - """ - test if giving C{s} matched CRE_UNITS, used by L{parse()} - - @type s: string - @param s: date/time text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of remained date/time text, datetime object and - an boolean value to describ if matched or not - - """ - parseStr = None - chunk1 = chunk2 = '' - - # Quantity + Units - m = self.ptc.CRE_UNITS.search(s) - if m is not None: - debug and log.debug('CRE_UNITS matched') - if self._UnitsTrapped(s, m, 'units'): - debug and log.debug('day suffix trapped by unit match') - else: - if (m.group('qty') != s): - # capture remaining string - parseStr = m.group('qty') - chunk1 = s[:m.start('qty')].strip() - chunk2 = s[m.end('qty'):].strip() - - if chunk1[-1:] == '-': - parseStr = '-%s' % parseStr - chunk1 = chunk1[:-1] - - s = '%s %s' % (chunk1, chunk2) - else: - parseStr = s - s = '' - - if parseStr: - debug and log.debug('found (units) [%s][%s][%s]', - parseStr, chunk1, chunk2) - sourceTime = self._evalUnits(parseStr, sourceTime) - - return s, sourceTime, bool(parseStr) - - def _partialParseQUnits(self, s, sourceTime): - """ - test if giving C{s} matched CRE_QUNITS, used by L{parse()} - - @type s: string - @param s: date/time text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of remained date/time text, datetime object and - an boolean value to describ if matched or not - - """ - parseStr = None - chunk1 = chunk2 = '' - - # Quantity + Units - m = self.ptc.CRE_QUNITS.search(s) - if m is not None: - debug and log.debug('CRE_QUNITS matched') - if self._UnitsTrapped(s, m, 'qunits'): - debug and log.debug( - 'day suffix trapped by qunit match') - else: - if (m.group('qty') != s): - # capture remaining string - parseStr = m.group('qty') - chunk1 = s[:m.start('qty')].strip() - chunk2 = s[m.end('qty'):].strip() - - if chunk1[-1:] == '-': - parseStr = '-%s' % parseStr - chunk1 = chunk1[:-1] - - s = '%s %s' % (chunk1, chunk2) - else: - parseStr = s - s = '' - - if parseStr: - debug and log.debug('found (qunits) [%s][%s][%s]', - parseStr, chunk1, chunk2) - sourceTime = self._evalQUnits(parseStr, sourceTime) - - return s, sourceTime, bool(parseStr) - - def _partialParseDateStr(self, s, sourceTime): - """ - test if giving C{s} matched CRE_DATE3, used by L{parse()} - - @type s: string - @param s: date/time text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of remained date/time text, datetime object and - an boolean value to describ if matched or not - - """ - parseStr = None - chunk1 = chunk2 = '' - - m = self.ptc.CRE_DATE3.search(s) - # NO LONGER NEEDED, THE REGEXP HANDLED MTHNAME NOW - # for match in self.ptc.CRE_DATE3.finditer(s): - # to prevent "HH:MM(:SS) time strings" expressions from - # triggering this regex, we checks if the month field - # exists in the searched expression, if it doesn't exist, - # the date field is not valid - # if match.group('mthname'): - # m = self.ptc.CRE_DATE3.search(s, match.start()) - # valid_date = True - # break - - # String date format - if m is not None: - - if (m.group('date') != s): - # capture remaining string - mStart = m.start('date') - mEnd = m.end('date') - - # we need to check that anything following the parsed - # date is a time expression because it is often picked - # up as a valid year if the hour is 2 digits - fTime = False - mm = self.ptc.CRE_TIMEHMS2.search(s) - # "February 24th 1PM" doesn't get caught - # "February 24th 12PM" does - mYear = m.group('year') - if mm is not None and mYear is not None: - fTime = True - else: - # "February 24th 12:00" - mm = self.ptc.CRE_TIMEHMS.search(s) - if mm is not None and mYear is None: - fTime = True - if fTime: - hoursStart = mm.start('hours') - - if hoursStart < m.end('year'): - mEnd = hoursStart - - parseStr = s[mStart:mEnd] - chunk1 = s[:mStart] - chunk2 = s[mEnd:] - - s = '%s %s' % (chunk1, chunk2) - else: - parseStr = s - s = '' - - if parseStr: - debug and log.debug( - 'found (date3) [%s][%s][%s]', parseStr, chunk1, chunk2) - sourceTime = self._evalDateStr(parseStr, sourceTime) - - return s, sourceTime, bool(parseStr) - - def _partialParseDateStd(self, s, sourceTime): - """ - test if giving C{s} matched CRE_DATE, used by L{parse()} - - @type s: string - @param s: date/time text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of remained date/time text, datetime object and - an boolean value to describ if matched or not - - """ - parseStr = None - chunk1 = chunk2 = '' - - # Standard date format - m = self.ptc.CRE_DATE.search(s) - if m is not None: - - if (m.group('date') != s): - # capture remaining string - parseStr = m.group('date') - chunk1 = s[:m.start('date')] - chunk2 = s[m.end('date'):] - s = '%s %s' % (chunk1, chunk2) - else: - parseStr = s - s = '' - - if parseStr: - debug and log.debug( - 'found (date) [%s][%s][%s]', parseStr, chunk1, chunk2) - sourceTime = self._evalDateStd(parseStr, sourceTime) - - return s, sourceTime, bool(parseStr) - - def _partialParseDayStr(self, s, sourceTime): - """ - test if giving C{s} matched CRE_DAY, used by L{parse()} - - @type s: string - @param s: date/time text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of remained date/time text, datetime object and - an boolean value to describ if matched or not - - """ - parseStr = None - chunk1 = chunk2 = '' - - # Natural language day strings - m = self.ptc.CRE_DAY.search(s) - if m is not None: - - if (m.group() != s): - # capture remaining string - parseStr = m.group() - chunk1 = s[:m.start()] - chunk2 = s[m.end():] - s = '%s %s' % (chunk1, chunk2) - else: - parseStr = s - s = '' - - if parseStr: - debug and log.debug( - 'found (day) [%s][%s][%s]', parseStr, chunk1, chunk2) - sourceTime = self._evalDayStr(parseStr, sourceTime) - - return s, sourceTime, bool(parseStr) - - def _partialParseWeekday(self, s, sourceTime): - """ - test if giving C{s} matched CRE_WEEKDAY, used by L{parse()} - - @type s: string - @param s: date/time text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of remained date/time text, datetime object and - an boolean value to describ if matched or not - - """ - parseStr = None - chunk1 = chunk2 = '' - - ctx = self.currentContext - log.debug('eval %s with context - %s, %s', s, ctx.hasDate, ctx.hasTime) - - # Weekday - m = self.ptc.CRE_WEEKDAY.search(s) - if m is not None: - gv = m.group() - if s not in self.ptc.dayOffsets: - - if (gv != s): - # capture remaining string - parseStr = gv - chunk1 = s[:m.start()] - chunk2 = s[m.end():] - s = '%s %s' % (chunk1, chunk2) - else: - parseStr = s - s = '' - - if parseStr and not ctx.hasDate: - debug and log.debug( - 'found (weekday) [%s][%s][%s]', parseStr, chunk1, chunk2) - sourceTime = self._evalWeekday(parseStr, sourceTime) - - return s, sourceTime, bool(parseStr) - - def _partialParseTimeStr(self, s, sourceTime): - """ - test if giving C{s} matched CRE_TIME, used by L{parse()} - - @type s: string - @param s: date/time text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of remained date/time text, datetime object and - an boolean value to describ if matched or not - - """ - parseStr = None - chunk1 = chunk2 = '' - - # Natural language time strings - m = self.ptc.CRE_TIME.search(s) - if m is not None or s in self.ptc.re_values['now']: - - if (m and m.group() != s): - # capture remaining string - parseStr = m.group() - chunk1 = s[:m.start()] - chunk2 = s[m.end():] - s = '%s %s' % (chunk1, chunk2) - else: - parseStr = s - s = '' - - if parseStr: - debug and log.debug( - 'found (time) [%s][%s][%s]', parseStr, chunk1, chunk2) - sourceTime = self._evalTimeStr(parseStr, sourceTime) - - return s, sourceTime, bool(parseStr) - - def _partialParseMeridian(self, s, sourceTime): - """ - test if giving C{s} matched CRE_TIMEHMS2, used by L{parse()} - - @type s: string - @param s: date/time text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of remained date/time text, datetime object and - an boolean value to describ if matched or not - - """ - parseStr = None - chunk1 = chunk2 = '' - - # HH:MM(:SS) am/pm time strings - m = self.ptc.CRE_TIMEHMS2.search(s) - if m is not None: - - if m.group('minutes') is not None: - if m.group('seconds') is not None: - parseStr = '%s:%s:%s' % (m.group('hours'), - m.group('minutes'), - m.group('seconds')) - else: - parseStr = '%s:%s' % (m.group('hours'), - m.group('minutes')) - else: - parseStr = m.group('hours') - parseStr += ' ' + m.group('meridian') - - chunk1 = s[:m.start()] - chunk2 = s[m.end():] - - s = '%s %s' % (chunk1, chunk2) - - if parseStr: - debug and log.debug('found (meridian) [%s][%s][%s]', - parseStr, chunk1, chunk2) - sourceTime = self._evalMeridian(parseStr, sourceTime) - - return s, sourceTime, bool(parseStr) - - def _partialParseTimeStd(self, s, sourceTime): - """ - test if giving C{s} matched CRE_TIMEHMS, used by L{parse()} - - @type s: string - @param s: date/time text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - - @rtype: tuple - @return: tuple of remained date/time text, datetime object and - an boolean value to describ if matched or not - - """ - parseStr = None - chunk1 = chunk2 = '' - - # HH:MM(:SS) time strings - m = self.ptc.CRE_TIMEHMS.search(s) - if m is not None: - - if m.group('seconds') is not None: - parseStr = '%s:%s:%s' % (m.group('hours'), - m.group('minutes'), - m.group('seconds')) - chunk1 = s[:m.start('hours')] - chunk2 = s[m.end('seconds'):] - else: - parseStr = '%s:%s' % (m.group('hours'), - m.group('minutes')) - chunk1 = s[:m.start('hours')] - chunk2 = s[m.end('minutes'):] - - s = '%s %s' % (chunk1, chunk2) - - if parseStr: - debug and log.debug( - 'found (hms) [%s][%s][%s]', parseStr, chunk1, chunk2) - sourceTime = self._evalTimeStd(parseStr, sourceTime) - - return s, sourceTime, bool(parseStr) - - def parseDT(self, datetimeString, sourceTime=None, - tzinfo=None, version=None): - """ - C{datetimeString} is as C{.parse}, C{sourceTime} has the same semantic - meaning as C{.parse}, but now also accepts datetime objects. C{tzinfo} - accepts a tzinfo object. It is advisable to use pytz. - - - @type datetimeString: string - @param datetimeString: date/time text to evaluate - @type sourceTime: struct_time, datetime, date, time - @param sourceTime: time value to use as the base - @type tzinfo: tzinfo - @param tzinfo: Timezone to apply to generated datetime objs. - @type version: integer - @param version: style version, default will use L{Calendar} - parameter version value - - @rtype: tuple - @return: tuple of: modified C{sourceTime} and the result flag/context - - see .parse for return code details. - """ - # if sourceTime has a timetuple method, use thet, else, just pass the - # entire thing to parse and prey the user knows what the hell they are - # doing. - sourceTime = getattr(sourceTime, 'timetuple', (lambda: sourceTime))() - # You REALLY SHOULD be using pytz. Using localize if available, - # hacking if not. Note, None is a valid tzinfo object in the case of - # the ugly hack. - localize = getattr( - tzinfo, - 'localize', - (lambda dt: dt.replace(tzinfo=tzinfo)), # ugly hack is ugly :( - ) - - # Punt - time_struct, ret_code = self.parse( - datetimeString, - sourceTime=sourceTime, - version=version) - - # Comments from GHI indicate that it is desired to have the same return - # signature on this method as that one it punts to, with the exception - # of using datetime objects instead of time_structs. - dt = localize(datetime.datetime(*time_struct[:6])) - return dt, ret_code - - def parse(self, datetimeString, sourceTime=None, version=None): - """ - Splits the given C{datetimeString} into tokens, finds the regex - patterns that match and then calculates a C{struct_time} value from - the chunks. - - If C{sourceTime} is given then the C{struct_time} value will be - calculated from that value, otherwise from the current date/time. - - If the C{datetimeString} is parsed and date/time value found, then:: - - If C{version} equals to L{VERSION_FLAG_STYLE}, the second item of - the returned tuple will be a flag to let you know what kind of - C{struct_time} value is being returned:: - - 0 = not parsed at all - 1 = parsed as a C{date} - 2 = parsed as a C{time} - 3 = parsed as a C{datetime} - - If C{version} equals to L{VERSION_CONTEXT_STYLE}, the second value - will be an instance of L{pdtContext} - - @type datetimeString: string - @param datetimeString: date/time text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - @type version: integer - @param version: style version, default will use L{Calendar} - parameter version value - - @rtype: tuple - @return: tuple of: modified C{sourceTime} and the result flag/context - """ - debug and log.debug('parse()') - - datetimeString = re.sub(r'(\w)\.(\s)', r'\1\2', datetimeString) - datetimeString = re.sub(r'(\w)[\'"](\s|$)', r'\1 \2', datetimeString) - datetimeString = re.sub(r'(\s|^)[\'"](\w)', r'\1 \2', datetimeString) - - if sourceTime: - if isinstance(sourceTime, datetime.datetime): - debug and log.debug('coercing datetime to timetuple') - sourceTime = sourceTime.timetuple() - else: - if not isinstance(sourceTime, time.struct_time) and \ - not isinstance(sourceTime, tuple): - raise ValueError('sourceTime is not a struct_time') - else: - sourceTime = time.localtime() - - with self.context() as ctx: - s = datetimeString.lower().strip() - debug and log.debug('remainedString (before parsing): [%s]', s) - - while s: - for parseMeth in (self._partialParseModifier, - self._partialParseUnits, - self._partialParseQUnits, - self._partialParseDateStr, - self._partialParseDateStd, - self._partialParseDayStr, - self._partialParseWeekday, - self._partialParseTimeStr, - self._partialParseMeridian, - self._partialParseTimeStd): - retS, retTime, matched = parseMeth(s, sourceTime) - if matched: - s, sourceTime = retS.strip(), retTime - break - else: - # nothing matched - s = '' - - debug and log.debug('hasDate: [%s], hasTime: [%s]', - ctx.hasDate, ctx.hasTime) - debug and log.debug('remainedString: [%s]', s) - - # String is not parsed at all - if sourceTime is None: - debug and log.debug('not parsed [%s]', str(sourceTime)) - sourceTime = time.localtime() - - if not isinstance(sourceTime, time.struct_time): - sourceTime = time.struct_time(sourceTime) - - version = self.version if version is None else version - if version == VERSION_CONTEXT_STYLE: - return sourceTime, ctx - else: - return sourceTime, ctx.dateTimeFlag - - def inc(self, source, month=None, year=None): - """ - Takes the given C{source} date, or current date if none is - passed, and increments it according to the values passed in - by month and/or year. - - This routine is needed because Python's C{timedelta()} function - does not allow for month or year increments. - - @type source: struct_time - @param source: C{struct_time} value to increment - @type month: float or integer - @param month: optional number of months to increment - @type year: float or integer - @param year: optional number of years to increment - - @rtype: datetime - @return: C{source} incremented by the number of months and/or years - """ - yr = source.year - mth = source.month - dy = source.day - - try: - month = float(month) - except (TypeError, ValueError): - month = 0 - - try: - year = float(year) - except (TypeError, ValueError): - year = 0 - finally: - month += year * 12 - year = 0 - - subMi = 0.0 - maxDay = 0 - if month: - mi = int(month) - subMi = month - mi - - y = int(mi / 12.0) - m = mi - y * 12 - - mth = mth + m - if mth < 1: # cross start-of-year? - y -= 1 # yes - decrement year - mth += 12 # and fix month - elif mth > 12: # cross end-of-year? - y += 1 # yes - increment year - mth -= 12 # and fix month - - yr += y - - # if the day ends up past the last day of - # the new month, set it to the last day - maxDay = self.ptc.daysInMonth(mth, yr) - if dy > maxDay: - dy = maxDay - - if yr > datetime.MAXYEAR or yr < datetime.MINYEAR: - raise OverflowError('year is out of range') - - d = source.replace(year=yr, month=mth, day=dy) - if subMi: - d += datetime.timedelta(days=subMi * maxDay) - return source + (d - source) - - def nlp(self, inputString, sourceTime=None, version=None): - """Utilizes parse() after making judgements about what datetime - information belongs together. - - It makes logical groupings based on proximity and returns a parsed - datetime for each matched grouping of datetime text, along with - location info within the given inputString. - - @type inputString: string - @param inputString: natural language text to evaluate - @type sourceTime: struct_time - @param sourceTime: C{struct_time} value to use as the base - @type version: integer - @param version: style version, default will use L{Calendar} - parameter version value - - @rtype: tuple or None - @return: tuple of tuples in the format (parsed_datetime as - datetime.datetime, flags as int, start_pos as int, - end_pos as int, matched_text as string) or None if there - were no matches - """ - - orig_inputstring = inputString - - # replace periods at the end of sentences w/ spaces - # opposed to removing them altogether in order to - # retain relative positions (identified by alpha, period, space). - # this is required for some of the regex patterns to match - inputString = re.sub(r'(\w)(\.)(\s)', r'\1 \3', inputString).lower() - inputString = re.sub(r'(\w)(\'|")(\s|$)', r'\1 \3', inputString) - inputString = re.sub(r'(\s|^)(\'|")(\w)', r'\1 \3', inputString) - - startpos = 0 # the start position in the inputString during the loop - - # list of lists in format: - # [startpos, endpos, matchedstring, flags, type] - matches = [] - - while startpos < len(inputString): - - # empty match - leftmost_match = [0, 0, None, 0, None] - - # Modifier like next\prev.. - m = self.ptc.CRE_MODIFIER.search(inputString[startpos:]) - if m is not None: - if leftmost_match[1] == 0 or \ - leftmost_match[0] > m.start() + startpos: - leftmost_match[0] = m.start() + startpos - leftmost_match[1] = m.end() + startpos - leftmost_match[2] = m.group() - leftmost_match[3] = 0 - leftmost_match[4] = 'modifier' - - # Quantity + Units - m = self.ptc.CRE_UNITS.search(inputString[startpos:]) - if m is not None: - debug and log.debug('CRE_UNITS matched') - if self._UnitsTrapped(inputString[startpos:], m, 'units'): - debug and log.debug('day suffix trapped by unit match') - else: - - if leftmost_match[1] == 0 or \ - leftmost_match[0] > m.start('qty') + startpos: - leftmost_match[0] = m.start('qty') + startpos - leftmost_match[1] = m.end('qty') + startpos - leftmost_match[2] = m.group('qty') - leftmost_match[3] = 3 - leftmost_match[4] = 'units' - - if m.start('qty') > 0 and \ - inputString[m.start('qty') - 1] == '-': - leftmost_match[0] = leftmost_match[0] - 1 - leftmost_match[2] = '-' + leftmost_match[2] - - # Quantity + Units - m = self.ptc.CRE_QUNITS.search(inputString[startpos:]) - if m is not None: - debug and log.debug('CRE_QUNITS matched') - if self._UnitsTrapped(inputString[startpos:], m, 'qunits'): - debug and log.debug('day suffix trapped by qunit match') - else: - if leftmost_match[1] == 0 or \ - leftmost_match[0] > m.start('qty') + startpos: - leftmost_match[0] = m.start('qty') + startpos - leftmost_match[1] = m.end('qty') + startpos - leftmost_match[2] = m.group('qty') - leftmost_match[3] = 3 - leftmost_match[4] = 'qunits' - - if m.start('qty') > 0 and \ - inputString[m.start('qty') - 1] == '-': - leftmost_match[0] = leftmost_match[0] - 1 - leftmost_match[2] = '-' + leftmost_match[2] - - m = self.ptc.CRE_DATE3.search(inputString[startpos:]) - # NO LONGER NEEDED, THE REGEXP HANDLED MTHNAME NOW - # for match in self.ptc.CRE_DATE3.finditer(inputString[startpos:]): - # to prevent "HH:MM(:SS) time strings" expressions from - # triggering this regex, we checks if the month field exists - # in the searched expression, if it doesn't exist, the date - # field is not valid - # if match.group('mthname'): - # m = self.ptc.CRE_DATE3.search(inputString[startpos:], - # match.start()) - # break - - # String date format - if m is not None: - if leftmost_match[1] == 0 or \ - leftmost_match[0] > m.start('date') + startpos: - leftmost_match[0] = m.start('date') + startpos - leftmost_match[1] = m.end('date') + startpos - leftmost_match[2] = m.group('date') - leftmost_match[3] = 1 - leftmost_match[4] = 'dateStr' - - # Standard date format - m = self.ptc.CRE_DATE.search(inputString[startpos:]) - if m is not None: - if leftmost_match[1] == 0 or \ - leftmost_match[0] > m.start('date') + startpos: - leftmost_match[0] = m.start('date') + startpos - leftmost_match[1] = m.end('date') + startpos - leftmost_match[2] = m.group('date') - leftmost_match[3] = 1 - leftmost_match[4] = 'dateStd' - - # Natural language day strings - m = self.ptc.CRE_DAY.search(inputString[startpos:]) - if m is not None: - if leftmost_match[1] == 0 or \ - leftmost_match[0] > m.start() + startpos: - leftmost_match[0] = m.start() + startpos - leftmost_match[1] = m.end() + startpos - leftmost_match[2] = m.group() - leftmost_match[3] = 1 - leftmost_match[4] = 'dayStr' - - # Weekday - m = self.ptc.CRE_WEEKDAY.search(inputString[startpos:]) - if m is not None: - if inputString[startpos:] not in self.ptc.dayOffsets: - if leftmost_match[1] == 0 or \ - leftmost_match[0] > m.start() + startpos: - leftmost_match[0] = m.start() + startpos - leftmost_match[1] = m.end() + startpos - leftmost_match[2] = m.group() - leftmost_match[3] = 1 - leftmost_match[4] = 'weekdy' - - # Natural language time strings - m = self.ptc.CRE_TIME.search(inputString[startpos:]) - if m is not None: - if leftmost_match[1] == 0 or \ - leftmost_match[0] > m.start() + startpos: - leftmost_match[0] = m.start() + startpos - leftmost_match[1] = m.end() + startpos - leftmost_match[2] = m.group() - leftmost_match[3] = 2 - leftmost_match[4] = 'timeStr' - - # HH:MM(:SS) am/pm time strings - m = self.ptc.CRE_TIMEHMS2.search(inputString[startpos:]) - if m is not None: - if leftmost_match[1] == 0 or \ - leftmost_match[0] > m.start('hours') + startpos: - leftmost_match[0] = m.start('hours') + startpos - leftmost_match[1] = m.end('meridian') + startpos - leftmost_match[2] = inputString[leftmost_match[0]: - leftmost_match[1]] - leftmost_match[3] = 2 - leftmost_match[4] = 'meridian' - - # HH:MM(:SS) time strings - m = self.ptc.CRE_TIMEHMS.search(inputString[startpos:]) - if m is not None: - if leftmost_match[1] == 0 or \ - leftmost_match[0] > m.start('hours') + startpos: - leftmost_match[0] = m.start('hours') + startpos - if m.group('seconds') is not None: - leftmost_match[1] = m.end('seconds') + startpos - else: - leftmost_match[1] = m.end('minutes') + startpos - leftmost_match[2] = inputString[leftmost_match[0]: - leftmost_match[1]] - leftmost_match[3] = 2 - leftmost_match[4] = 'timeStd' - - # Units only; must be preceded by a modifier - if len(matches) > 0 and matches[-1][3] == 0: - m = self.ptc.CRE_UNITS_ONLY.search(inputString[startpos:]) - # Ensure that any match is immediately proceded by the - # modifier. "Next is the word 'month'" should not parse as a - # date while "next month" should - if m is not None and \ - inputString[startpos:startpos + - m.start()].strip() == '': - debug and log.debug('CRE_UNITS_ONLY matched [%s]', - m.group()) - if leftmost_match[1] == 0 or \ - leftmost_match[0] > m.start() + startpos: - leftmost_match[0] = m.start() + startpos - leftmost_match[1] = m.end() + startpos - leftmost_match[2] = m.group() - leftmost_match[3] = 3 - leftmost_match[4] = 'unitsOnly' - - # set the start position to the end pos of the leftmost match - startpos = leftmost_match[1] - - # nothing was detected - # so break out of the loop - if startpos == 0: - startpos = len(inputString) - else: - if leftmost_match[3] > 0: - m = self.ptc.CRE_NLP_PREFIX.search( - inputString[:leftmost_match[0]] + - ' ' + str(leftmost_match[3])) - if m is not None: - leftmost_match[0] = m.start('nlp_prefix') - leftmost_match[2] = inputString[leftmost_match[0]: - leftmost_match[1]] - matches.append(leftmost_match) - - # find matches in proximity with one another and - # return all the parsed values - proximity_matches = [] - if len(matches) > 1: - combined = '' - from_match_index = 0 - date = matches[0][3] == 1 - time = matches[0][3] == 2 - units = matches[0][3] == 3 - for i in range(1, len(matches)): - - # test proximity (are there characters between matches?) - endofprevious = matches[i - 1][1] - begofcurrent = matches[i][0] - if orig_inputstring[endofprevious: - begofcurrent].lower().strip() != '': - # this one isn't in proximity, but maybe - # we have enough to make a datetime - # TODO: make sure the combination of - # formats (modifier, dateStd, etc) makes logical sense - # before parsing together - if date or time or units: - combined = orig_inputstring[matches[from_match_index] - [0]:matches[i - 1][1]] - parsed_datetime, flags = self.parse(combined, - sourceTime, - version) - proximity_matches.append(( - datetime.datetime(*parsed_datetime[:6]), - flags, - matches[from_match_index][0], - matches[i - 1][1], - combined)) - # not in proximity, reset starting from current - from_match_index = i - date = matches[i][3] == 1 - time = matches[i][3] == 2 - units = matches[i][3] == 3 - continue - else: - if matches[i][3] == 1: - date = True - if matches[i][3] == 2: - time = True - if matches[i][3] == 3: - units = True - - # check last - # we have enough to make a datetime - if date or time or units: - combined = orig_inputstring[matches[from_match_index][0]: - matches[len(matches) - 1][1]] - parsed_datetime, flags = self.parse(combined, sourceTime, - version) - proximity_matches.append(( - datetime.datetime(*parsed_datetime[:6]), - flags, - matches[from_match_index][0], - matches[len(matches) - 1][1], - combined)) - - elif len(matches) == 0: - return None - else: - if matches[0][3] == 0: # not enough info to parse - return None - else: - combined = orig_inputstring[matches[0][0]:matches[0][1]] - parsed_datetime, flags = self.parse(matches[0][2], sourceTime, - version) - proximity_matches.append(( - datetime.datetime(*parsed_datetime[:6]), - flags, - matches[0][0], - matches[0][1], - combined)) - - return tuple(proximity_matches) - - -def _initSymbols(ptc): - """ - Initialize symbols and single character constants. - """ - # build am and pm lists to contain - # original case, lowercase, first-char and dotted - # versions of the meridian text - ptc.am = ['', ''] - ptc.pm = ['', ''] - for idx, xm in enumerate(ptc.locale.meridian[:2]): - # 0: am - # 1: pm - target = ['am', 'pm'][idx] - setattr(ptc, target, [xm]) - target = getattr(ptc, target) - if xm: - lxm = xm.lower() - target.extend((xm[0], '{0}.{1}.'.format(*xm), - lxm, lxm[0], '{0}.{1}.'.format(*lxm))) - - -class Constants(object): - - """ - Default set of constants for parsedatetime. - - If PyICU is present, then the class will first try to get PyICU - to return a locale specified by C{localeID}. If either C{localeID} is - None or if the locale does not exist within PyICU, then each of the - locales defined in C{fallbackLocales} is tried in order. - - If PyICU is not present or none of the specified locales can be used, - then the class will initialize itself to the en_US locale. - - if PyICU is not present or not requested, only the locales defined by - C{pdtLocales} will be searched. - """ - - def __init__(self, localeID=None, usePyICU=True, - fallbackLocales=['en_US']): - self.localeID = localeID - self.fallbackLocales = fallbackLocales[:] - - if 'en_US' not in self.fallbackLocales: - self.fallbackLocales.append('en_US') - - # define non-locale specific constants - self.locale = None - self.usePyICU = usePyICU - - # starting cache of leap years - # daysInMonth will add to this if during - # runtime it gets a request for a year not found - self._leapYears = list(range(1904, 2097, 4)) - - self.Second = 1 - self.Minute = 60 # 60 * self.Second - self.Hour = 3600 # 60 * self.Minute - self.Day = 86400 # 24 * self.Hour - self.Week = 604800 # 7 * self.Day - self.Month = 2592000 # 30 * self.Day - self.Year = 31536000 # 365 * self.Day - - self._DaysInMonthList = (31, 28, 31, 30, 31, 30, - 31, 31, 30, 31, 30, 31) - self.rangeSep = '-' - self.BirthdayEpoch = 50 - - # When True the starting time for all relative calculations will come - # from the given SourceTime, otherwise it will be 9am - - self.StartTimeFromSourceTime = False - - # YearParseStyle controls how we parse "Jun 12", i.e. dates that do - # not have a year present. The default is to compare the date given - # to the current date, and if prior, then assume the next year. - # Setting this to 0 will prevent that. - - self.YearParseStyle = 1 - - # DOWParseStyle controls how we parse "Tuesday" - # If the current day was Thursday and the text to parse is "Tuesday" - # then the following table shows how each style would be returned - # -1, 0, +1 - # - # Current day marked as *** - # - # Sun Mon Tue Wed Thu Fri Sat - # week -1 - # current -1,0 *** - # week +1 +1 - # - # If the current day was Monday and the text to parse is "Tuesday" - # then the following table shows how each style would be returned - # -1, 0, +1 - # - # Sun Mon Tue Wed Thu Fri Sat - # week -1 -1 - # current *** 0,+1 - # week +1 - - self.DOWParseStyle = 1 - - # CurrentDOWParseStyle controls how we parse "Friday" - # If the current day was Friday and the text to parse is "Friday" - # then the following table shows how each style would be returned - # True/False. This also depends on DOWParseStyle. - # - # Current day marked as *** - # - # DOWParseStyle = 0 - # Sun Mon Tue Wed Thu Fri Sat - # week -1 - # current T,F - # week +1 - # - # DOWParseStyle = -1 - # Sun Mon Tue Wed Thu Fri Sat - # week -1 F - # current T - # week +1 - # - # DOWParseStyle = +1 - # - # Sun Mon Tue Wed Thu Fri Sat - # week -1 - # current T - # week +1 F - - self.CurrentDOWParseStyle = False - - if self.usePyICU: - self.locale = get_icu(self.localeID) - - if self.locale.icu is None: - self.usePyICU = False - self.locale = None - - if self.locale is None: - if self.localeID not in pdtLocales: - for localeId in range(0, len(self.fallbackLocales)): - self.localeID = self.fallbackLocales[localeId] - if self.localeID in pdtLocales: - break - - self.locale = pdtLocales[self.localeID] - - if self.locale is not None: - - def _getLocaleDataAdjusted(localeData): - """ - If localeData is defined as ["mon|mnd", 'tu|tues'...] then this - function splits those definitions on | - """ - adjusted = [] - for d in localeData: - if '|' in d: - adjusted += d.split("|") - else: - adjusted.append(d) - return adjusted - - def re_join(g): - return '|'.join(re.escape(i) for i in g) - - mths = _getLocaleDataAdjusted(self.locale.Months) - smths = _getLocaleDataAdjusted(self.locale.shortMonths) - swds = _getLocaleDataAdjusted(self.locale.shortWeekdays) - wds = _getLocaleDataAdjusted(self.locale.Weekdays) - - # escape any regex special characters that may be found - self.locale.re_values['months'] = re_join(mths) - self.locale.re_values['shortmonths'] = re_join(smths) - self.locale.re_values['days'] = re_join(wds) - self.locale.re_values['shortdays'] = re_join(swds) - self.locale.re_values['dayoffsets'] = \ - re_join(self.locale.dayOffsets) - self.locale.re_values['numbers'] = \ - re_join(self.locale.numbers) - self.locale.re_values['decimal_mark'] = \ - re.escape(self.locale.decimal_mark) - - units = [unit for units in self.locale.units.values() - for unit in units] # flatten - units.sort(key=len, reverse=True) # longest first - self.locale.re_values['units'] = re_join(units) - self.locale.re_values['modifiers'] = re_join(self.locale.Modifiers) - self.locale.re_values['sources'] = re_join(self.locale.re_sources) - - # For distinguishing numeric dates from times, look for timeSep - # and meridian, if specified in the locale - self.locale.re_values['timecomponents'] = \ - re_join(self.locale.timeSep + self.locale.meridian) - - # build weekday offsets - yes, it assumes the Weekday and - # shortWeekday lists are in the same order and Mon..Sun - # (Python style) - def _buildOffsets(offsetDict, localeData, indexStart): - o = indexStart - for key in localeData: - if '|' in key: - for k in key.split('|'): - offsetDict[k] = o - else: - offsetDict[key] = o - o += 1 - - _buildOffsets(self.locale.WeekdayOffsets, - self.locale.Weekdays, 0) - _buildOffsets(self.locale.WeekdayOffsets, - self.locale.shortWeekdays, 0) - - # build month offsets - yes, it assumes the Months and shortMonths - # lists are in the same order and Jan..Dec - _buildOffsets(self.locale.MonthOffsets, - self.locale.Months, 1) - _buildOffsets(self.locale.MonthOffsets, - self.locale.shortMonths, 1) - - _initSymbols(self) - - # TODO: add code to parse the date formats and build the regexes up - # from sub-parts, find all hard-coded uses of date/time separators - - # not being used in code, but kept in case others are manually - # utilizing this regex for their own purposes - self.RE_DATE4 = r'''(?P - ( - ( - (?P\d\d?) - (?P{daysuffix})? - (,)? - (\s)* - ) - (?P - \b({months}|{shortmonths})\b - )\s* - (?P\d\d - (\d\d)? - )? - ) - )'''.format(**self.locale.re_values) - - # still not completely sure of the behavior of the regex and - # whether it would be best to consume all possible irrelevant - # characters before the option groups (but within the {1,3} repetition - # group or inside of each option group, as it currently does - # however, right now, all tests are passing that were, - # including fixing the bug of matching a 4-digit year as ddyy - # when the day is absent from the string - self.RE_DATE3 = r'''(?P - (?: - (?:^|\s+) - (?P - {months}|{shortmonths} - )\b - | - (?:^|\s+) - (?P[1-9]|[012]\d|3[01]) - (?P{daysuffix}|)\b - (?!\s*(?:{timecomponents})) - | - ,?\s+ - (?P\d\d(?:\d\d|))\b - (?!\s*(?:{timecomponents})) - ){{1,3}} - (?(mthname)|$-^) - )'''.format(**self.locale.re_values) - - # not being used in code, but kept in case others are manually - # utilizing this regex for their own purposes - self.RE_MONTH = r'''(\s+|^) - (?P - ( - (?P - \b({months}|{shortmonths})\b - ) - (\s* - (?P(\d{{4}})) - )? - ) - ) - (?=\s+|$|[^\w])'''.format(**self.locale.re_values) - - self.RE_WEEKDAY = r'''\b - (?: - {days}|{shortdays} - ) - \b'''.format(**self.locale.re_values) - - self.RE_NUMBER = (r'(\b(?:{numbers})\b|\d+(?:{decimal_mark}\d+|))' - .format(**self.locale.re_values)) - - self.RE_SPECIAL = (r'(?P^[{specials}]+)\s+' - .format(**self.locale.re_values)) - - self.RE_UNITS_ONLY = (r'''\b({units})\b''' - .format(**self.locale.re_values)) - - self.RE_UNITS = r'''\b(?P - -? - (?:\d+(?:{decimal_mark}\d+|)|(?:{numbers})\b)\s* - (?P{units}) - )\b'''.format(**self.locale.re_values) - - self.RE_QUNITS = r'''\b(?P - -? - (?:\d+(?:{decimal_mark}\d+|)|(?:{numbers})\s+)\s* - (?P{qunits}) - )\b'''.format(**self.locale.re_values) - - self.RE_MODIFIER = r'''\b(?: - {modifiers} - )\b'''.format(**self.locale.re_values) - - self.RE_TIMEHMS = r'''([\s(\["'-]|^) - (?P\d\d?) - (?P{timeseparator}|) - (?P\d\d) - (?:(?P=tsep) - (?P\d\d - (?:[\.,]\d+)? - ) - )?\b'''.format(**self.locale.re_values) - - self.RE_TIMEHMS2 = r'''([\s(\["'-]|^) - (?P\d\d?) - (?: - (?P{timeseparator}|) - (?P\d\d?) - (?:(?P=tsep) - (?P\d\d? - (?:[\.,]\d+)? - ) - )? - )?'''.format(**self.locale.re_values) - - # 1, 2, and 3 here refer to the type of match date, time, or units - self.RE_NLP_PREFIX = r'''\b(?P - (on) - (\s)+1 - | - (at|in) - (\s)+2 - | - (in) - (\s)+3 - )''' - - if 'meridian' in self.locale.re_values: - self.RE_TIMEHMS2 += (r'\s*(?P{meridian})\b' - .format(**self.locale.re_values)) - else: - self.RE_TIMEHMS2 += r'\b' - - # Always support common . and - separators - dateSeps = ''.join(re.escape(s) - for s in self.locale.dateSep + ['-', '.']) - - self.RE_DATE = r'''([\s(\["'-]|^) - (?P - \d\d?[{0}]\d\d?(?:[{0}]\d\d(?:\d\d)?)? - | - \d{{4}}[{0}]\d\d?[{0}]\d\d? - ) - \b'''.format(dateSeps) - - self.RE_DATE2 = r'[{0}]'.format(dateSeps) - - assert 'dayoffsets' in self.locale.re_values - - self.RE_DAY = r'''\b - (?: - {dayoffsets} - ) - \b'''.format(**self.locale.re_values) - - self.RE_DAY2 = r'''(?P\d\d?) - (?P{daysuffix})? - '''.format(**self.locale.re_values) - - self.RE_TIME = r'''\b - (?: - {sources} - ) - \b'''.format(**self.locale.re_values) - - self.RE_REMAINING = r'\s+' - - # Regex for date/time ranges - self.RE_RTIMEHMS = r'''(\s*|^) - (\d\d?){timeseparator} - (\d\d) - ({timeseparator}(\d\d))? - (\s*|$)'''.format(**self.locale.re_values) - - self.RE_RTIMEHMS2 = (r'''(\s*|^) - (\d\d?) - ({timeseparator}(\d\d?))? - ({timeseparator}(\d\d?))?''' - .format(**self.locale.re_values)) - - if 'meridian' in self.locale.re_values: - self.RE_RTIMEHMS2 += (r'\s*({meridian})' - .format(**self.locale.re_values)) - - self.RE_RDATE = r'(\d+([%s]\d+)+)' % dateSeps - self.RE_RDATE3 = r'''( - ( - ( - \b({months})\b - )\s* - ( - (\d\d?) - (\s?|{daysuffix}|$)+ - )? - (,\s*\d{{4}})? - ) - )'''.format(**self.locale.re_values) - - # "06/07/06 - 08/09/06" - self.DATERNG1 = (r'{0}\s*{rangeseparator}\s*{0}' - .format(self.RE_RDATE, **self.locale.re_values)) - - # "march 31 - june 1st, 2006" - self.DATERNG2 = (r'{0}\s*{rangeseparator}\s*{0}' - .format(self.RE_RDATE3, **self.locale.re_values)) - - # "march 1rd -13th" - self.DATERNG3 = (r'{0}\s*{rangeseparator}\s*(\d\d?)\s*(rd|st|nd|th)?' - .format(self.RE_RDATE3, **self.locale.re_values)) - - # "4:00:55 pm - 5:90:44 am", '4p-5p' - self.TIMERNG1 = (r'{0}\s*{rangeseparator}\s*{0}' - .format(self.RE_RTIMEHMS2, **self.locale.re_values)) - - self.TIMERNG2 = (r'{0}\s*{rangeseparator}\s*{0}' - .format(self.RE_RTIMEHMS, **self.locale.re_values)) - - # "4-5pm " - self.TIMERNG3 = (r'\d\d?\s*{rangeseparator}\s*{0}' - .format(self.RE_RTIMEHMS2, **self.locale.re_values)) - - # "4:30-5pm " - self.TIMERNG4 = (r'{0}\s*{rangeseparator}\s*{1}' - .format(self.RE_RTIMEHMS, self.RE_RTIMEHMS2, - **self.locale.re_values)) - - self.re_option = re.IGNORECASE + re.VERBOSE - self.cre_source = {'CRE_SPECIAL': self.RE_SPECIAL, - 'CRE_NUMBER': self.RE_NUMBER, - 'CRE_UNITS': self.RE_UNITS, - 'CRE_UNITS_ONLY': self.RE_UNITS_ONLY, - 'CRE_QUNITS': self.RE_QUNITS, - 'CRE_MODIFIER': self.RE_MODIFIER, - 'CRE_TIMEHMS': self.RE_TIMEHMS, - 'CRE_TIMEHMS2': self.RE_TIMEHMS2, - 'CRE_DATE': self.RE_DATE, - 'CRE_DATE2': self.RE_DATE2, - 'CRE_DATE3': self.RE_DATE3, - 'CRE_DATE4': self.RE_DATE4, - 'CRE_MONTH': self.RE_MONTH, - 'CRE_WEEKDAY': self.RE_WEEKDAY, - 'CRE_DAY': self.RE_DAY, - 'CRE_DAY2': self.RE_DAY2, - 'CRE_TIME': self.RE_TIME, - 'CRE_REMAINING': self.RE_REMAINING, - 'CRE_RTIMEHMS': self.RE_RTIMEHMS, - 'CRE_RTIMEHMS2': self.RE_RTIMEHMS2, - 'CRE_RDATE': self.RE_RDATE, - 'CRE_RDATE3': self.RE_RDATE3, - 'CRE_TIMERNG1': self.TIMERNG1, - 'CRE_TIMERNG2': self.TIMERNG2, - 'CRE_TIMERNG3': self.TIMERNG3, - 'CRE_TIMERNG4': self.TIMERNG4, - 'CRE_DATERNG1': self.DATERNG1, - 'CRE_DATERNG2': self.DATERNG2, - 'CRE_DATERNG3': self.DATERNG3, - 'CRE_NLP_PREFIX': self.RE_NLP_PREFIX} - self.cre_keys = set(self.cre_source.keys()) - - def __getattr__(self, name): - if name in self.cre_keys: - value = re.compile(self.cre_source[name], self.re_option) - setattr(self, name, value) - return value - elif name in self.locale.locale_keys: - return getattr(self.locale, name) - else: - raise AttributeError(name) - - def daysInMonth(self, month, year): - """ - Take the given month (1-12) and a given year (4 digit) return - the number of days in the month adjusting for leap year as needed - """ - result = None - debug and log.debug('daysInMonth(%s, %s)', month, year) - if month > 0 and month <= 12: - result = self._DaysInMonthList[month - 1] - - if month == 2: - if year in self._leapYears: - result += 1 - else: - if calendar.isleap(year): - self._leapYears.append(year) - result += 1 - - return result - - def getSource(self, sourceKey, sourceTime=None): - """ - GetReturn a date/time tuple based on the giving source key - and the corresponding key found in self.re_sources. - - The current time is used as the default and any specified - item found in self.re_sources is inserted into the value - and the generated dictionary is returned. - """ - if sourceKey not in self.re_sources: - return None - - if sourceTime is None: - (yr, mth, dy, hr, mn, sec, wd, yd, isdst) = time.localtime() - else: - (yr, mth, dy, hr, mn, sec, wd, yd, isdst) = sourceTime - - defaults = {'yr': yr, 'mth': mth, 'dy': dy, - 'hr': hr, 'mn': mn, 'sec': sec} - - source = self.re_sources[sourceKey] - - values = {} - - for key, default in defaults.items(): - values[key] = source.get(key, default) - - return (values['yr'], values['mth'], values['dy'], - values['hr'], values['mn'], values['sec'], - wd, yd, isdst) diff --git a/parsedatetime/context.py b/parsedatetime/context.py deleted file mode 100755 index c1cc39a..0000000 --- a/parsedatetime/context.py +++ /dev/null @@ -1,187 +0,0 @@ -# -*- coding: utf-8 -*- -""" -parsedatetime/context.py - -Context related classes - -""" - -from threading import local - - -class pdtContextStack(object): - """ - A thread-safe stack to store context(s) - - Internally used by L{Calendar} object - """ - - def __init__(self): - self.__local = local() - - @property - def __stack(self): - if not hasattr(self.__local, 'stack'): - self.__local.stack = [] - return self.__local.stack - - def push(self, ctx): - self.__stack.append(ctx) - - def pop(self): - try: - return self.__stack.pop() - except IndexError: - return None - - def last(self): - try: - return self.__stack[-1] - except IndexError: - raise RuntimeError('context stack is empty') - - def isEmpty(self): - return not self.__stack - - -class pdtContext(object): - """ - Context contains accuracy flag detected by L{Calendar.parse()} - - Accuracy flag uses bitwise-OR operation and is combined by: - - ACU_YEAR - "next year", "2014" - ACU_MONTH - "March", "July 2014" - ACU_WEEK - "last week", "next 3 weeks" - ACU_DAY - "tomorrow", "July 4th 2014" - ACU_HALFDAY - "morning", "tonight" - ACU_HOUR - "18:00", "next hour" - ACU_MIN - "18:32", "next 10 minutes" - ACU_SEC - "18:32:55" - ACU_NOW - "now" - - """ - - __slots__ = ('accuracy',) - - ACU_YEAR = 2 ** 0 - ACU_MONTH = 2 ** 1 - ACU_WEEK = 2 ** 2 - ACU_DAY = 2 ** 3 - ACU_HALFDAY = 2 ** 4 - ACU_HOUR = 2 ** 5 - ACU_MIN = 2 ** 6 - ACU_SEC = 2 ** 7 - ACU_NOW = 2 ** 8 - - ACU_DATE = ACU_YEAR | ACU_MONTH | ACU_WEEK | ACU_DAY - ACU_TIME = ACU_HALFDAY | ACU_HOUR | ACU_MIN | ACU_SEC | ACU_NOW - - _ACCURACY_MAPPING = [ - (ACU_YEAR, 'year'), - (ACU_MONTH, 'month'), - (ACU_WEEK, 'week'), - (ACU_DAY, 'day'), - (ACU_HALFDAY, 'halfday'), - (ACU_HOUR, 'hour'), - (ACU_MIN, 'min'), - (ACU_SEC, 'sec'), - (ACU_NOW, 'now')] - - _ACCURACY_REVERSE_MAPPING = { - 'year': ACU_YEAR, - 'years': ACU_YEAR, - 'month': ACU_MONTH, - 'months': ACU_MONTH, - 'week': ACU_WEEK, - 'weeks': ACU_WEEK, - 'day': ACU_DAY, - 'days': ACU_DAY, - 'halfday': ACU_HALFDAY, - 'morning': ACU_HALFDAY, - 'afternoon': ACU_HALFDAY, - 'evening': ACU_HALFDAY, - 'night': ACU_HALFDAY, - 'tonight': ACU_HALFDAY, - 'midnight': ACU_HALFDAY, - 'hour': ACU_HOUR, - 'hours': ACU_HOUR, - 'min': ACU_MIN, - 'minute': ACU_MIN, - 'mins': ACU_MIN, - 'minutes': ACU_MIN, - 'sec': ACU_SEC, - 'second': ACU_SEC, - 'secs': ACU_SEC, - 'seconds': ACU_SEC, - 'now': ACU_NOW} - - def __init__(self, accuracy=0): - """ - Default constructor of L{pdtContext} class. - - @type accuracy: integer - @param accuracy: Accuracy flag - - @rtype: object - @return: L{pdtContext} instance - """ - self.accuracy = accuracy - - def updateAccuracy(self, *accuracy): - """ - Updates current accuracy flag - """ - for acc in accuracy: - if not isinstance(acc, int): - acc = self._ACCURACY_REVERSE_MAPPING[acc] - self.accuracy |= acc - - def update(self, context): - """ - Uses another L{pdtContext} instance to update current one - """ - self.updateAccuracy(context.accuracy) - - @property - def hasDate(self): - """ - Returns True if current context is accurate to date - """ - return bool(self.accuracy & self.ACU_DATE) - - @property - def hasTime(self): - """ - Returns True if current context is accurate to time - """ - return bool(self.accuracy & self.ACU_TIME) - - @property - def dateTimeFlag(self): - """ - Returns the old date/time flag code - """ - return int(self.hasDate and 1) | int(self.hasTime and 2) - - @property - def hasDateOrTime(self): - """ - Returns True if current context is accurate to date/time - """ - return bool(self.accuracy) - - def __repr__(self): - accuracy_repr = [] - for acc, name in self._ACCURACY_MAPPING: - if acc & self.accuracy: - accuracy_repr.append('pdtContext.ACU_%s' % name.upper()) - if accuracy_repr: - accuracy_repr = 'accuracy=' + ' | '.join(accuracy_repr) - else: - accuracy_repr = '' - - return 'pdtContext(%s)' % accuracy_repr - - def __eq__(self, ctx): - return self.accuracy == ctx.accuracy diff --git a/parsedatetime/parsedatetime.py b/parsedatetime/parsedatetime.py deleted file mode 100755 index 647eb06..0000000 --- a/parsedatetime/parsedatetime.py +++ /dev/null @@ -1,2 +0,0 @@ -# Backward compatibility fix. -from . import * # noqa diff --git a/parsedatetime/pdt_locales/__init__.py b/parsedatetime/pdt_locales/__init__.py deleted file mode 100755 index cb05718..0000000 --- a/parsedatetime/pdt_locales/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- encoding: utf-8 -*- - -""" -pdt_locales - -All of the included locale classes shipped with pdt. -""" - -from __future__ import absolute_import -from .icu import get_icu - -locales = ['de_DE', 'en_AU', 'en_US', 'es', 'nl_NL', 'pt_BR', 'ru_RU', 'fr_FR'] - -__locale_caches = {} - -__all__ = ['get_icu', 'load_locale'] - - -def load_locale(locale, icu=False): - """ - Return data of locale - :param locale: - :return: - """ - if locale not in locales: - raise NotImplementedError("The locale '%s' is not supported" % locale) - if locale not in __locale_caches: - mod = __import__(__name__, fromlist=[locale], level=0) - __locale_caches[locale] = getattr(mod, locale) - return __locale_caches[locale] diff --git a/parsedatetime/pdt_locales/base.py b/parsedatetime/pdt_locales/base.py deleted file mode 100755 index 0191629..0000000 --- a/parsedatetime/pdt_locales/base.py +++ /dev/null @@ -1,199 +0,0 @@ -from __future__ import unicode_literals - -locale_keys = set([ - 'MonthOffsets', 'Months', 'WeekdayOffsets', 'Weekdays', - 'dateFormats', 'dateSep', 'dayOffsets', 'dp_order', - 'localeID', 'meridian', 'Modifiers', 're_sources', 're_values', - 'shortMonths', 'shortWeekdays', 'timeFormats', 'timeSep', 'units', - 'uses24', 'usesMeridian', 'numbers', 'decimal_mark', 'small', - 'magnitude', 'ignore']) - -localeID = None - -dateSep = ['/', '.'] -timeSep = [':'] -meridian = ['AM', 'PM'] -usesMeridian = True -uses24 = True -WeekdayOffsets = {} -MonthOffsets = {} - -# always lowercase any lookup values - helper code expects that -Weekdays = [ - 'monday', 'tuesday', 'wednesday', 'thursday', - 'friday', 'saturday', 'sunday', -] - -shortWeekdays = [ - 'mon', 'tues|tue', 'wed', 'thu', 'fri', 'sat', 'sun', -] - -Months = [ - 'january', 'february', 'march', 'april', 'may', 'june', 'july', - 'august', 'september', 'october', 'november', 'december', -] - -shortMonths = [ - 'jan', 'feb', 'mar', 'apr', 'may', 'jun', - 'jul', 'aug', 'sep', 'oct', 'nov', 'dec', -] - -# use the same formats as ICU by default -dateFormats = { - 'full': 'EEEE, MMMM d, yyyy', - 'long': 'MMMM d, yyyy', - 'medium': 'MMM d, yyyy', - 'short': 'M/d/yy' -} - -timeFormats = { - 'full': 'h:mm:ss a z', - 'long': 'h:mm:ss a z', - 'medium': 'h:mm:ss a', - 'short': 'h:mm a', -} - -dp_order = ['m', 'd', 'y'] - -# Used to parse expressions like "in 5 hours" -numbers = { - 'zero': 0, - 'one': 1, - 'a': 1, - 'an': 1, - 'two': 2, - 'three': 3, - 'four': 4, - 'five': 5, - 'six': 6, - 'seven': 7, - 'eight': 8, - 'nine': 9, - 'ten': 10, - 'eleven': 11, - 'thirteen': 13, - 'fourteen': 14, - 'fifteen': 15, - 'sixteen': 16, - 'seventeen': 17, - 'eighteen': 18, - 'nineteen': 19, - 'twenty': 20, -} - -decimal_mark = '.' - - -# this will be added to re_values later -units = { - 'seconds': ['second', 'seconds', 'sec', 's'], - 'minutes': ['minute', 'minutes', 'min', 'm'], - 'hours': ['hour', 'hours', 'hr', 'h'], - 'days': ['day', 'days', 'dy', 'd'], - 'weeks': ['week', 'weeks', 'wk', 'w'], - 'months': ['month', 'months', 'mth'], - 'years': ['year', 'years', 'yr', 'y'], -} - - -# text constants to be used by later regular expressions -re_values = { - 'specials': 'in|on|of|at', - 'timeseparator': ':', - 'rangeseparator': '-', - 'daysuffix': 'rd|st|nd|th', - 'meridian': r'am|pm|a\.m\.|p\.m\.|a|p', - 'qunits': 'h|m|s|d|w|y', - 'now': ['now', 'right now'], -} - -# Used to adjust the returned date before/after the source -Modifiers = { - 'from': 1, - 'before': -1, - 'after': 1, - 'ago': -1, - 'prior': -1, - 'prev': -1, - 'last': -1, - 'next': 1, - 'previous': -1, - 'end of': 0, - 'this': 0, - 'eod': 1, - 'eom': 1, - 'eoy': 1, -} - -dayOffsets = { - 'tomorrow': 1, - 'today': 0, - 'yesterday': -1, -} - -# special day and/or times, i.e. lunch, noon, evening -# each element in the dictionary is a dictionary that is used -# to fill in any value to be replace - the current date/time will -# already have been populated by the method buildSources -re_sources = { - 'noon': {'hr': 12, 'mn': 0, 'sec': 0}, - 'afternoon': {'hr': 13, 'mn': 0, 'sec': 0}, - 'lunch': {'hr': 12, 'mn': 0, 'sec': 0}, - 'morning': {'hr': 6, 'mn': 0, 'sec': 0}, - 'breakfast': {'hr': 8, 'mn': 0, 'sec': 0}, - 'dinner': {'hr': 19, 'mn': 0, 'sec': 0}, - 'evening': {'hr': 18, 'mn': 0, 'sec': 0}, - 'midnight': {'hr': 0, 'mn': 0, 'sec': 0}, - 'night': {'hr': 21, 'mn': 0, 'sec': 0}, - 'tonight': {'hr': 21, 'mn': 0, 'sec': 0}, - 'eod': {'hr': 17, 'mn': 0, 'sec': 0}, -} - -small = { - 'zero': 0, - 'one': 1, - 'a': 1, - 'an': 1, - 'two': 2, - 'three': 3, - 'four': 4, - 'five': 5, - 'six': 6, - 'seven': 7, - 'eight': 8, - 'nine': 9, - 'ten': 10, - 'eleven': 11, - 'twelve': 12, - 'thirteen': 13, - 'fourteen': 14, - 'fifteen': 15, - 'sixteen': 16, - 'seventeen': 17, - 'eighteen': 18, - 'nineteen': 19, - 'twenty': 20, - 'thirty': 30, - 'forty': 40, - 'fifty': 50, - 'sixty': 60, - 'seventy': 70, - 'eighty': 80, - 'ninety': 90 -} - -magnitude = { - 'thousand': 1000, - 'million': 1000000, - 'billion': 1000000000, - 'trillion': 1000000000000, - 'quadrillion': 1000000000000000, - 'quintillion': 1000000000000000000, - 'sextillion': 1000000000000000000000, - 'septillion': 1000000000000000000000000, - 'octillion': 1000000000000000000000000000, - 'nonillion': 1000000000000000000000000000000, - 'decillion': 1000000000000000000000000000000000, -} - -ignore = ('and', ',') diff --git a/parsedatetime/pdt_locales/de_DE.py b/parsedatetime/pdt_locales/de_DE.py deleted file mode 100755 index afee991..0000000 --- a/parsedatetime/pdt_locales/de_DE.py +++ /dev/null @@ -1,118 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals -from .base import * # noqa - -# don't use an unicode string -localeID = 'de_DE' -dateSep = ['.'] -timeSep = [':'] -meridian = [] -usesMeridian = False -uses24 = True -decimal_mark = ',' - -Weekdays = [ - 'montag', 'dienstag', 'mittwoch', - 'donnerstag', 'freitag', 'samstag', 'sonntag', -] -shortWeekdays = ['mo', 'di', 'mi', 'do', 'fr', 'sa', 'so'] -Months = [ - 'januar', 'februar', 'märz', - 'april', 'mai', 'juni', - 'juli', 'august', 'september', - 'oktober', 'november', 'dezember', -] -shortMonths = [ - 'jan', 'feb', 'mrz', 'apr', 'mai', 'jun', - 'jul', 'aug', 'sep', 'okt', 'nov', 'dez', -] - -dateFormats = { - 'full': 'EEEE, d. MMMM yyyy', - 'long': 'd. MMMM yyyy', - 'medium': 'dd.MM.yyyy', - 'short': 'dd.MM.yy', -} - -timeFormats = { - 'full': 'HH:mm:ss v', - 'long': 'HH:mm:ss z', - 'medium': 'HH:mm:ss', - 'short': 'HH:mm', -} - -dp_order = ['d', 'm', 'y'] - -# the short version would be a capital M, -# as I understand it we can't distinguish -# between m for minutes and M for months. -units = { - 'seconds': ['sekunden', 'sek', 's'], - 'minutes': ['minuten', 'min', 'm'], - 'hours': ['stunden', 'std', 'h'], - 'days': ['tag', 'tage', 't'], - 'weeks': ['wochen', 'w'], - 'months': ['monat', 'monate'], - 'years': ['jahr', 'jahre', 'j'], -} - -re_values = re_values.copy() -re_values.update({ - 'specials': 'am|dem|der|im|in|den|zum', - 'timeseparator': ':', - 'rangeseparator': '-', - 'daysuffix': '', - 'qunits': 'h|m|s|t|w|m|j', - 'now': ['jetzt'], -}) - -# Used to adjust the returned date before/after the source -# still looking for insight on how to translate all of them to german. -Modifiers = { - 'from': 1, - 'before': -1, - 'after': 1, - 'vergangener': -1, - 'vorheriger': -1, - 'prev': -1, - 'letzter': -1, - 'nächster': 1, - 'dieser': 0, - 'previous': -1, - 'in a': 2, - 'end of': 0, - 'eod': 0, - 'eo': 0, -} - -# morgen/abermorgen does not work, see -# http://code.google.com/p/parsedatetime/issues/detail?id=19 -dayOffsets = { - 'morgen': 1, - 'heute': 0, - 'gestern': -1, - 'vorgestern': -2, - 'übermorgen': 2, -} - -# special day and/or times, i.e. lunch, noon, evening -# each element in the dictionary is a dictionary that is used -# to fill in any value to be replace - the current date/time will -# already have been populated by the method buildSources -re_sources = { - 'mittag': {'hr': 12, 'mn': 0, 'sec': 0}, - 'mittags': {'hr': 12, 'mn': 0, 'sec': 0}, - 'mittagessen': {'hr': 12, 'mn': 0, 'sec': 0}, - 'morgen': {'hr': 6, 'mn': 0, 'sec': 0}, - 'morgens': {'hr': 6, 'mn': 0, 'sec': 0}, - 'frühstück': {'hr': 8, 'mn': 0, 'sec': 0}, - 'abendessen': {'hr': 19, 'mn': 0, 'sec': 0}, - 'abend': {'hr': 18, 'mn': 0, 'sec': 0}, - 'abends': {'hr': 18, 'mn': 0, 'sec': 0}, - 'mitternacht': {'hr': 0, 'mn': 0, 'sec': 0}, - 'nacht': {'hr': 21, 'mn': 0, 'sec': 0}, - 'nachts': {'hr': 21, 'mn': 0, 'sec': 0}, - 'heute abend': {'hr': 21, 'mn': 0, 'sec': 0}, - 'heute nacht': {'hr': 21, 'mn': 0, 'sec': 0}, - 'feierabend': {'hr': 17, 'mn': 0, 'sec': 0}, -} diff --git a/parsedatetime/pdt_locales/en_AU.py b/parsedatetime/pdt_locales/en_AU.py deleted file mode 100755 index bff3d3f..0000000 --- a/parsedatetime/pdt_locales/en_AU.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals -from .base import * # noqa - -# don't use an unicode string -localeID = 'en_AU' -dateSep = ['-', '/'] -uses24 = False - -dateFormats = { - 'full': 'EEEE, d MMMM yyyy', - 'long': 'd MMMM yyyy', - 'medium': 'dd/MM/yyyy', - 'short': 'd/MM/yy', -} - -timeFormats['long'] = timeFormats['full'] - -dp_order = ['d', 'm', 'y'] diff --git a/parsedatetime/pdt_locales/en_US.py b/parsedatetime/pdt_locales/en_US.py deleted file mode 100755 index 12584e5..0000000 --- a/parsedatetime/pdt_locales/en_US.py +++ /dev/null @@ -1,7 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals -from .base import * # noqa - -# don't use an unicode string -localeID = 'en_US' -uses24 = False diff --git a/parsedatetime/pdt_locales/es.py b/parsedatetime/pdt_locales/es.py deleted file mode 100755 index 351f254..0000000 --- a/parsedatetime/pdt_locales/es.py +++ /dev/null @@ -1,46 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals -from .base import * # noqa - -# don't use an unicode string -localeID = 'es' -dateSep = ['/'] -usesMeridian = False -uses24 = True -decimal_mark = ',' - -Weekdays = [ - 'lunes', 'martes', 'miércoles', - 'jueves', 'viernes', 'sábado', 'domingo', -] -shortWeekdays = [ - 'lun', 'mar', 'mié', - 'jue', 'vie', 'sáb', 'dom', -] -Months = [ - 'enero', 'febrero', 'marzo', - 'abril', 'mayo', 'junio', - 'julio', 'agosto', 'septiembre', - 'octubre', 'noviembre', 'diciembre', -] -shortMonths = [ - 'ene', 'feb', 'mar', - 'abr', 'may', 'jun', - 'jul', 'ago', 'sep', - 'oct', 'nov', 'dic', -] -dateFormats = { - 'full': "EEEE d' de 'MMMM' de 'yyyy", - 'long': "d' de 'MMMM' de 'yyyy", - 'medium': "dd-MMM-yy", - 'short': "d/MM/yy", -} - -timeFormats = { - 'full': "HH'H'mm' 'ss z", - 'long': "HH:mm:ss z", - 'medium': "HH:mm:ss", - 'short': "HH:mm", -} - -dp_order = ['d', 'm', 'y'] diff --git a/parsedatetime/pdt_locales/fr_FR.py b/parsedatetime/pdt_locales/fr_FR.py deleted file mode 100755 index 0e5d3ef..0000000 --- a/parsedatetime/pdt_locales/fr_FR.py +++ /dev/null @@ -1,248 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals -from .base import * # noqa - -# don't use an unicode string -localeID = 'fr_FR' -dateSep = ['\/'] -timeSep = [':', 'h'] -meridian = ['du matin', 'du soir'] -usesMeridian = True -uses24 = True -WeekdayOffsets = {} -MonthOffsets = {} - -# always lowercase any lookup values - helper code expects that -Weekdays = [ - 'lundi', 'mardi', 'mercredi', 'jeudi', - 'vendredi', 'samedi', 'dimanche', -] - -shortWeekdays = [ - 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam', 'dim', -] - -Months = [ - 'janvier', 'février|fevrier', 'mars', 'avril', 'mai', 'juin', 'juillet', - 'août|aout', 'septembre', 'octobre', 'novembre', 'décembre|decembre', -] - -# We do not list 'mar' as a short name for 'mars' as it conflicts with -# the 'mar' of 'mardi' -shortMonths = [ - 'jan', 'fév|fev', 'mars', 'avr', 'mai', 'jui', - 'juil', 'aoû|aou', 'sep', 'oct', 'nov', 'déc|dec', -] - -# use the same formats as ICU by default -dateFormats = { - 'full': 'EEEE d MMMM yyyy', - 'long': 'd MMMM yyyy', - 'medium': 'd MMM yyyy', - 'short': 'd/M/yy' -} - -timeFormats = { - 'full': 'h:mm:ss a z', - 'long': 'h:mm:ss a z', - 'medium': 'h:mm:ss a', - 'short': 'h:mm a', -} - -dp_order = ['d', 'm', 'y'] - -# Used to parse expressions like "in 5 hours" -numbers = { - 'zéro': 0, - 'zero': 0, - 'un': 1, - 'une': 1, - 'deux': 2, - 'trois': 3, - 'quatre': 4, - 'cinq': 5, - 'six': 6, - 'sept': 7, - 'huit': 8, - 'neuf': 9, - 'dix': 10, - 'onze': 11, - 'douze': 12, - 'treize': 13, - 'quatorze': 14, - 'quinze': 15, - 'seize': 16, - 'dix-sept': 17, - 'dix sept': 17, - 'dix-huit': 18, - 'dix huit': 18, - 'dix-neuf': 19, - 'dix neuf': 19, - 'vingt': 20, - 'vingt-et-un': 21, - 'vingt et un': 21, - 'vingt-deux': 22, - 'vingt deux': 22, - 'vingt-trois': 23, - 'vingt trois': 23, - 'vingt-quatre': 24, - 'vingt quatre': 24, -} - -decimal_mark = ',' - -# this will be added to re_values later -units = { - 'seconds': ['seconde', 'secondes', 'sec', 's'], - 'minutes': ['minute', 'minutes', 'min', 'mn'], - 'hours': ['heure', 'heures', 'h'], - 'days': ['jour', 'jours', 'journée', 'journee', 'journées', 'journees', 'j'], - 'weeks': ['semaine', 'semaines', 'sem'], - 'months': ['mois', 'm'], - 'years': ['année', 'annee', 'an', 'années', 'annees', 'ans'], -} - -# text constants to be used by later regular expressions -re_values = { - 'specials': 'à|a|le|la|du|de', - 'timeseparator': '(?:\:|h|\s*heures?\s*)', - 'rangeseparator': '-', - 'daysuffix': 'ième|ieme|ème|eme|ère|ere|nde', - 'meridian': None, - 'qunits': 'h|m|s|j|sem|a', - 'now': ['maintenant', 'tout de suite', 'immédiatement', 'immediatement', 'à l\'instant', 'a l\'instant'], -} - -# Used to adjust the returned date before/after the source -Modifiers = { - 'avant': -1, - 'il y a': -1, - 'plus tot': -1, - 'plus tôt': -1, - 'y a': -1, - 'antérieur': -1, - 'anterieur': -1, - 'dernier': -1, - 'dernière': -1, - 'derniere': -1, - 'précédent': -1, - 'précedent': -1, - 'precédent': -1, - 'precedent': -1, - 'fin de': 0, - 'fin du': 0, - 'fin de la': 0, - 'fin des': 0, - 'fin d\'': 0, - 'ce': 0, - 'cette': 0, - 'depuis': 1, - 'dans': 1, - 'à partir': 1, - 'a partir': 1, - 'après': 1, - 'apres': 1, - 'lendemain': 1, - 'prochain': 1, - 'prochaine': 1, - 'suivant': 1, - 'suivante': 1, - 'plus tard': 1 -} - -dayOffsets = { - 'après-demain': 2, - 'apres-demain': 2, - 'après demain': 2, - 'apres demain': 2, - 'demain': 1, - 'aujourd\'hui': 0, - 'hier': -1, - 'avant-hier': -2, - 'avant hier': -2 -} - -# special day and/or times, i.e. lunch, noon, evening -# each element in the dictionary is a dictionary that is used -# to fill in any value to be replace - the current date/time will -# already have been populated by the method buildSources -re_sources = { - 'après-midi': {'hr': 13, 'mn': 0, 'sec': 0}, - 'apres-midi': {'hr': 13, 'mn': 0, 'sec': 0}, - 'après midi': {'hr': 13, 'mn': 0, 'sec': 0}, - 'apres midi': {'hr': 13, 'mn': 0, 'sec': 0}, - 'midi': {'hr': 12, 'mn': 0, 'sec': 0}, - 'déjeuner': {'hr': 12, 'mn': 0, 'sec': 0}, - 'dejeuner': {'hr': 12, 'mn': 0, 'sec': 0}, - 'matin': {'hr': 6, 'mn': 0, 'sec': 0}, - 'petit-déjeuner': {'hr': 8, 'mn': 0, 'sec': 0}, - 'petit-dejeuner': {'hr': 8, 'mn': 0, 'sec': 0}, - 'petit déjeuner': {'hr': 8, 'mn': 0, 'sec': 0}, - 'petit dejeuner': {'hr': 8, 'mn': 0, 'sec': 0}, - 'diner': {'hr': 19, 'mn': 0, 'sec': 0}, - 'dîner': {'hr': 19, 'mn': 0, 'sec': 0}, - 'soir': {'hr': 18, 'mn': 0, 'sec': 0}, - 'soirée': {'hr': 18, 'mn': 0, 'sec': 0}, - 'soiree': {'hr': 18, 'mn': 0, 'sec': 0}, - 'minuit': {'hr': 0, 'mn': 0, 'sec': 0}, - 'nuit': {'hr': 21, 'mn': 0, 'sec': 0}, -} - -small = { - 'zéro': 0, - 'zero': 0, - 'un': 1, - 'une': 1, - 'deux': 2, - 'trois': 3, - 'quatre': 4, - 'cinq': 5, - 'six': 6, - 'sept': 7, - 'huit': 8, - 'neuf': 9, - 'dix': 10, - 'onze': 11, - 'douze': 12, - 'treize': 13, - 'quatorze': 14, - 'quinze': 15, - 'seize': 16, - 'dix-sept': 17, - 'dix sept': 17, - 'dix-huit': 18, - 'dix huit': 18, - 'dix-neuf': 19, - 'dix neuf': 19, - 'vingt': 20, - 'vingt-et-un': 21, - 'vingt et un': 21, - 'trente': 30, - 'quarante': 40, - 'cinquante': 50, - 'soixante': 60, - 'soixante-dix': 70, - 'soixante dix': 70, - 'quatre-vingt': 80, - 'quatre vingt': 80, - 'quatre-vingt-dix': 90, - 'quatre vingt dix': 90 -} - -magnitude = { - 'mille': 1000, - 'millier': 1000, - 'million': 1000000, - 'milliard': 1000000000, - 'trillion': 1000000000000, - 'quadrillion': 1000000000000000, - 'quintillion': 1000000000000000000, - 'sextillion': 1000000000000000000000, - 'septillion': 1000000000000000000000000, - 'octillion': 1000000000000000000000000000, - 'nonillion': 1000000000000000000000000000000, - 'décillion': 1000000000000000000000000000000000, - 'decillion': 1000000000000000000000000000000000, -} - -ignore = ('et', ',') diff --git a/parsedatetime/pdt_locales/icu.py b/parsedatetime/pdt_locales/icu.py deleted file mode 100755 index 8bee64b..0000000 --- a/parsedatetime/pdt_locales/icu.py +++ /dev/null @@ -1,149 +0,0 @@ -# -*- encoding: utf-8 -*- - -""" -pdt_locales - -All of the included locale classes shipped with pdt. -""" -import datetime - -try: - range = xrange -except NameError: - pass - -try: - import PyICU as pyicu -except ImportError: - pyicu = None - - -def icu_object(mapping): - return type('_icu', (object,), mapping) - - -def merge_weekdays(base_wd, icu_wd): - result = [] - for left, right in zip(base_wd, icu_wd): - if left == right: - result.append(left) - continue - left = set(left.split('|')) - right = set(right.split('|')) - result.append('|'.join(left | right)) - return result - - -def get_icu(locale): - from . import base - result = dict([(key, getattr(base, key)) - for key in dir(base) if not key.startswith('_')]) - result['icu'] = None - - if pyicu is None: - return icu_object(result) - - if locale is None: - locale = 'en_US' - result['icu'] = icu = pyicu.Locale(locale) - - if icu is None: - return icu_object(result) - - # grab spelled out format of all numbers from 0 to 100 - rbnf = pyicu.RuleBasedNumberFormat(pyicu.URBNFRuleSetTag.SPELLOUT, icu) - result['numbers'].update([(rbnf.format(i), i) for i in range(0, 100)]) - - symbols = result['symbols'] = pyicu.DateFormatSymbols(icu) - - # grab ICU list of weekdays, skipping first entry which - # is always blank - wd = [w.lower() for w in symbols.getWeekdays()[1:]] - swd = [sw.lower() for sw in symbols.getShortWeekdays()[1:]] - - # store them in our list with Monday first (ICU puts Sunday first) - result['Weekdays'] = merge_weekdays(result['Weekdays'], - wd[1:] + wd[0:1]) - result['shortWeekdays'] = merge_weekdays(result['shortWeekdays'], - swd[1:] + swd[0:1]) - result['Months'] = [m.lower() for m in symbols.getMonths()] - result['shortMonths'] = [sm.lower() for sm in symbols.getShortMonths()] - keys = ['full', 'long', 'medium', 'short'] - - createDateInstance = pyicu.DateFormat.createDateInstance - createTimeInstance = pyicu.DateFormat.createTimeInstance - icu_df = result['icu_df'] = { - 'full': createDateInstance(pyicu.DateFormat.kFull, icu), - 'long': createDateInstance(pyicu.DateFormat.kLong, icu), - 'medium': createDateInstance(pyicu.DateFormat.kMedium, icu), - 'short': createDateInstance(pyicu.DateFormat.kShort, icu), - } - icu_tf = result['icu_tf'] = { - 'full': createTimeInstance(pyicu.DateFormat.kFull, icu), - 'long': createTimeInstance(pyicu.DateFormat.kLong, icu), - 'medium': createTimeInstance(pyicu.DateFormat.kMedium, icu), - 'short': createTimeInstance(pyicu.DateFormat.kShort, icu), - } - - result['dateFormats'] = {} - result['timeFormats'] = {} - for x in keys: - result['dateFormats'][x] = icu_df[x].toPattern() - result['timeFormats'][x] = icu_tf[x].toPattern() - - am = pm = ts = '' - - # ICU doesn't seem to provide directly the date or time separator - # so we have to figure it out - o = result['icu_tf']['short'] - s = result['timeFormats']['short'] - - result['usesMeridian'] = 'a' in s - result['uses24'] = 'H' in s - - # '11:45 AM' or '11:45' - s = o.format(datetime.datetime(2003, 10, 30, 11, 45)) - - # ': AM' or ':' - s = s.replace('11', '').replace('45', '') - - if len(s) > 0: - ts = s[0] - - if result['usesMeridian']: - # '23:45 AM' or '23:45' - am = s[1:].strip() - s = o.format(datetime.datetime(2003, 10, 30, 23, 45)) - - if result['uses24']: - s = s.replace('23', '') - else: - s = s.replace('11', '') - - # 'PM' or '' - pm = s.replace('45', '').replace(ts, '').strip() - - result['timeSep'] = [ts] - result['meridian'] = [am, pm] if am and pm else [] - - o = result['icu_df']['short'] - s = o.format(datetime.datetime(2003, 10, 30, 11, 45)) - s = s.replace('10', '').replace('30', '').replace( - '03', '').replace('2003', '') - - if len(s) > 0: - ds = s[0] - else: - ds = '/' - - result['dateSep'] = [ds] - s = result['dateFormats']['short'] - l = s.lower().split(ds) - dp_order = [] - - for s in l: - if len(s) > 0: - dp_order.append(s[:1]) - - result['dp_order'] = dp_order - return icu_object(result) diff --git a/parsedatetime/pdt_locales/nl_NL.py b/parsedatetime/pdt_locales/nl_NL.py deleted file mode 100755 index 45c770f..0000000 --- a/parsedatetime/pdt_locales/nl_NL.py +++ /dev/null @@ -1,114 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals -from .base import * # noqa - -# don't use an unicode string -localeID = 'nl_NL' -dateSep = ['-', '/'] -timeSep = [':'] -meridian = [] -usesMeridian = False -uses24 = True -decimal_mark = ',' - -Weekdays = [ - 'maandag', 'dinsdag', 'woensdag', 'donderdag', - 'vrijdag', 'zaterdag', 'zondag', -] -shortWeekdays = [ - 'ma', 'di', 'wo', 'do', 'vr', 'za', 'zo', -] -Months = [ - 'januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', - 'augustus', 'september', 'oktober', 'november', 'december', -] -shortMonths = [ - 'jan', 'feb', 'mar', 'apr', 'mei', 'jun', - 'jul', 'aug', 'sep', 'okt', 'nov', 'dec', -] -dateFormats = { - 'full': 'EEEE, dd MMMM yyyy', - 'long': 'dd MMMM yyyy', - 'medium': 'dd-MM-yyyy', - 'short': 'dd-MM-yy', -} - -timeFormats = { - 'full': 'HH:mm:ss v', - 'long': 'HH:mm:ss z', - 'medium': 'HH:mm:ss', - 'short': 'HH:mm', -} - -dp_order = ['d', 'm', 'y'] - -# the short version would be a capital M, -# as I understand it we can't distinguish -# between m for minutes and M for months. -units = { - 'seconds': ['secunden', 'sec', 's'], - 'minutes': ['minuten', 'min', 'm'], - 'hours': ['uren', 'uur', 'h'], - 'days': ['dagen', 'dag', 'd'], - 'weeks': ['weken', 'w'], - 'months': ['maanden', 'maand'], - 'years': ['jaar', 'jaren', 'j'], -} - -re_values = re_values.copy() -re_values.update({ - 'specials': 'om', - 'timeseparator': ':', - 'rangeseparator': '-', - 'daysuffix': ' |de', - 'qunits': 'h|m|s|d|w|m|j', - 'now': ['nu'], -}) - -# Used to adjust the returned date before/after the source -# still looking for insight on how to translate all of them to german. -Modifiers = { - 'vanaf': 1, - 'voor': -1, - 'na': 1, - 'vorige': -1, - 'eervorige': -1, - 'prev': -1, - 'laastste': -1, - 'volgende': 1, - 'deze': 0, - 'vorige': -1, - 'over': 2, - 'eind van': 0, -} - -# morgen/abermorgen does not work, see -# http://code.google.com/p/parsedatetime/issues/detail?id=19 -dayOffsets = { - 'morgen': 1, - 'vandaag': 0, - 'gisteren': -1, - 'eergisteren': -2, - 'overmorgen': 2, -} - -# special day and/or times, i.e. lunch, noon, evening -# each element in the dictionary is a dictionary that is used -# to fill in any value to be replace - the current date/time will -# already have been populated by the method buildSources -re_sources = { - 'middag': {'hr': 12, 'mn': 0, 'sec': 0}, - 'vanmiddag': {'hr': 12, 'mn': 0, 'sec': 0}, - 'lunch': {'hr': 12, 'mn': 0, 'sec': 0}, - 'morgen': {'hr': 6, 'mn': 0, 'sec': 0}, - "'s morgens": {'hr': 6, 'mn': 0, 'sec': 0}, - 'ontbijt': {'hr': 8, 'mn': 0, 'sec': 0}, - 'avondeten': {'hr': 19, 'mn': 0, 'sec': 0}, - 'avond': {'hr': 18, 'mn': 0, 'sec': 0}, - 'avonds': {'hr': 18, 'mn': 0, 'sec': 0}, - 'middernacht': {'hr': 0, 'mn': 0, 'sec': 0}, - 'nacht': {'hr': 21, 'mn': 0, 'sec': 0}, - 'nachts': {'hr': 21, 'mn': 0, 'sec': 0}, - 'vanavond': {'hr': 21, 'mn': 0, 'sec': 0}, - 'vannacht': {'hr': 21, 'mn': 0, 'sec': 0}, -} diff --git a/parsedatetime/pdt_locales/pt_BR.py b/parsedatetime/pdt_locales/pt_BR.py deleted file mode 100755 index 21fdf6d..0000000 --- a/parsedatetime/pdt_locales/pt_BR.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals -from .base import * # noqa - -# don't use an unicode string -localeID = 'pt_BR' -dateSep = ['/'] -usesMeridian = False -uses24 = True -decimal_mark = ',' - -Weekdays = [ - 'segunda-feira', 'terça-feira', 'quarta-feira', - 'quinta-feira', 'sexta-feira', 'sábado', 'domingo', -] -shortWeekdays = [ - 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb', 'dom', -] -Months = [ - 'janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', - 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro' -] -shortMonths = [ - 'jan', 'fev', 'mar', 'abr', 'mai', 'jun', - 'jul', 'ago', 'set', 'out', 'nov', 'dez' -] -dateFormats = { - 'full': "EEEE, d' de 'MMMM' de 'yyyy", - 'long': "d' de 'MMMM' de 'yyyy", - 'medium': "dd-MM-yy", - 'short': "dd/MM/yyyy", -} - -timeFormats = { - 'full': "HH'H'mm' 'ss z", - 'long': "HH:mm:ss z", - 'medium': "HH:mm:ss", - 'short': "HH:mm", -} - -dp_order = ['d', 'm', 'y'] - -units = { - 'seconds': ['segundo', 'seg', 's'], - 'minutes': ['minuto', 'min', 'm'], - 'days': ['dia', 'dias', 'd'], - 'months': ['mês', 'meses'], -} diff --git a/parsedatetime/pdt_locales/ru_RU.py b/parsedatetime/pdt_locales/ru_RU.py deleted file mode 100755 index cda26f7..0000000 --- a/parsedatetime/pdt_locales/ru_RU.py +++ /dev/null @@ -1,164 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals -from .base import * # noqa - -# don't use an unicode string -localeID = 'ru_RU' -dateSep = ['-', '.'] -timeSep = [':'] -meridian = [] -usesMeridian = False -uses24 = True - -Weekdays = [ - 'понедельник', 'вторник', 'среда', 'четверг', - 'пятница', 'суббота', 'воскресенье', -] -shortWeekdays = [ - 'пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс', -] -# library does not know how to conjugate words -# библиотека не умеет спрягать слова -Months = [ - 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', - 'августа', 'сентября', 'октября', 'ноября', 'декабря', -] -shortMonths = [ - 'явн', 'фев', 'мрт', 'апр', 'май', 'июн', - 'июл', 'авг', 'сен', 'окт', 'нбр', 'дек', -] -dateFormats = { - 'full': 'EEEE, dd MMMM yyyy', - 'long': 'dd MMMM yyyy', - 'medium': 'dd-MM-yyyy', - 'short': 'dd-MM-yy', -} - -timeFormats = { - 'full': 'HH:mm:ss v', - 'long': 'HH:mm:ss z', - 'medium': 'HH:mm:ss', - 'short': 'HH:mm', -} - -dp_order = ['d', 'm', 'y'] - -decimal_mark = '.' - -units = { - 'seconds': ['секунда', 'секунды', 'секунд', 'сек', 'с'], - 'minutes': ['минута', 'минуты', 'минут', 'мин', 'м'], - 'hours': ['час', 'часов', 'часа', 'ч'], - 'days': ['день', 'дней', 'д'], - 'weeks': ['неделя', 'недели', 'н'], - 'months': ['месяц', 'месяца', 'мес'], - 'years': ['год', 'года', 'годы', 'г'], -} - -re_values = re_values.copy() -re_values.update({ - 'specials': 'om', - 'timeseparator': ':', - 'rangeseparator': '-', - 'daysuffix': 'ого|ой|ий|тье', - 'qunits': 'д|мес|г|ч|н|м|с', - 'now': ['сейчас'], -}) - -Modifiers = { - 'после': 1, - 'назад': -1, - 'предыдущий': -1, - 'последний': -1, - 'далее': 1, - 'ранее': -1, -} - -dayOffsets = { - 'завтра': 1, - 'сегодня': 0, - 'вчера': -1, - 'позавчера': -2, - 'послезавтра': 2, -} - -re_sources = { - 'полдень': {'hr': 12, 'mn': 0, 'sec': 0}, - 'день': {'hr': 13, 'mn': 0, 'sec': 0}, - 'обед': {'hr': 12, 'mn': 0, 'sec': 0}, - 'утро': {'hr': 6, 'mn': 0, 'sec': 0}, - 'завтрак': {'hr': 8, 'mn': 0, 'sec': 0}, - 'ужин': {'hr': 19, 'mn': 0, 'sec': 0}, - 'вечер': {'hr': 18, 'mn': 0, 'sec': 0}, - 'полночь': {'hr': 0, 'mn': 0, 'sec': 0}, - 'ночь': {'hr': 21, 'mn': 0, 'sec': 0}, -} - -small = { - 'ноль': 0, - 'один': 1, - 'два': 2, - 'три': 3, - 'четыре': 4, - 'пять': 5, - 'шесть': 6, - 'семь': 7, - 'восемь': 8, - 'девять': 9, - 'десять': 10, - 'одиннадцать': 11, - 'двенадцать': 12, - 'тринадцать': 13, - 'четырнадцать': 14, - 'пятнадцать': 15, - 'шестнадцать': 16, - 'семнадцать': 17, - 'восемнадцать': 18, - 'девятнадцать': 19, - 'двадцать': 20, - 'тридцать': 30, - 'сорок': 40, - 'пятьдесят': 50, - 'шестьдесят': 60, - 'семьдесят': 70, - 'восемьдесят': 80, - 'девяносто': 90, -} - -numbers = { - 'ноль': 0, - 'один': 1, - 'два': 2, - 'три': 3, - 'четыре': 4, - 'пять': 5, - 'шесть': 6, - 'семь': 7, - 'восемь': 8, - 'девять': 9, - 'десять': 10, - 'одиннадцать': 11, - 'двенадцать': 12, - 'тринадцать': 13, - 'четырнадцать': 14, - 'пятнадцать': 15, - 'шестнадцать': 16, - 'семнадцать': 17, - 'восемнадцать': 18, - 'девятнадцать': 19, - 'двадцать': 20, -} - -magnitude = { - 'тысяча': 1000, - 'миллион': 1000000, - 'миллиард': 1000000000, - 'триллион': 1000000000000, - 'квадриллион': 1000000000000000, - 'квинтиллион': 1000000000000000000, - 'секстиллион': 1000000000000000000000, - 'септиллион': 1000000000000000000000000, - 'октиллион': 1000000000000000000000000000, - 'нониллион': 1000000000000000000000000000000, - 'дециллион': 1000000000000000000000000000000000, -} diff --git a/parsedatetime/warns.py b/parsedatetime/warns.py deleted file mode 100755 index a754fc9..0000000 --- a/parsedatetime/warns.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -""" -parsedatetime/warns.py - -All subclasses inherited from `Warning` class - -""" -from __future__ import absolute_import - -import warnings - - -class pdtDeprecationWarning(DeprecationWarning): - pass - - -class pdtPendingDeprecationWarning(PendingDeprecationWarning): - pass - - -class pdt20DeprecationWarning(pdtPendingDeprecationWarning): - pass - - -warnings.simplefilter('default', pdtDeprecationWarning) -warnings.simplefilter('ignore', pdtPendingDeprecationWarning) diff --git a/pyparsing.pyc b/pyparsing.pyc deleted file mode 100644 index 19fd43bea907f2d58c3bd9ec7c183ff43d8ef42c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197280 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⩔?)YN&-qgjz^d1&LHm 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 z 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 diff --git a/pypeg2/__init__.py b/pypeg2/__init__.py deleted file mode 100644 index d16c2c9..0000000 --- a/pypeg2/__init__.py +++ /dev/null @@ -1,1474 +0,0 @@ -""" -pyPEG parsing framework - -pyPEG offers a packrat parser as well as a framework to parse and output -languages for Python 2.7 and 3.x, see http://fdik.org/pyPEG2 - -Copyleft 2012, Volker Birk. -This program is under GNU General Public License 2.0. -""" - - -from __future__ import unicode_literals -try: - range = xrange - str = unicode -except NameError: - pass - - -__version__ = 2.15 -__author__ = "Volker Birk" -__license__ = "This program is under GNU General Public License 2.0." -__url__ = "http://fdik.org/pyPEG" - - -import re -import sys -import weakref -if __debug__: - import warnings -from types import FunctionType -from collections import namedtuple -try: - from collections import OrderedDict -except ImportError: - from ordereddict import OrderedDict - - -word = re.compile(r"\w+") -"""Regular expression for scanning a word.""" - -_RegEx = type(word) - -restline = re.compile(r".*") -"""Regular expression for rest of line.""" - -whitespace = re.compile("(?m)\s+") -"""Regular expression for scanning whitespace.""" - -comment_sh = re.compile(r"\#.*") -"""Shell script style comment.""" - -comment_cpp = re.compile(r"//.*") -"""C++ style comment.""" - -comment_c = re.compile(r"(?ms)/\*.*?\*/") -"""C style comment without nesting comments.""" - -comment_pas = re.compile(r"(?ms)\(\*.*?\*\)") -"""Pascal style comment without nesting comments.""" - - -def _card(n, thing): - # Reduce unnecessary recursions - if len(thing) == 1: - return n, thing[0] - else: - return n, thing - - -def some(*thing): - """At least one occurrence of thing, + operator. - Inserts -2 as cardinality before thing. - """ - return _card(-2, thing) - - -def maybe_some(*thing): - """No thing or some of them, * operator. - Inserts -1 as cardinality before thing. - """ - return _card(-1, thing) - - -def optional(*thing): - """Thing or no thing, ? operator. - Inserts 0 as cardinality before thing. - """ - return _card(0, thing) - - -def _csl(separator, *thing): - # reduce unnecessary recursions - if len(thing) == 1: - L = [thing[0]] - L.extend(maybe_some(separator, blank, thing[0])) - return tuple(L) - else: - L = list(thing) - L.append(-1) - L2 = [separator, blank] - L2.extend(tuple(thing)) - L.append(tuple(L2)) - return tuple(L) - -try: - # Python 3.x - _exec = eval("exec") - _exec(''' -def csl(*thing, separator=","): - """Generate a grammar for a simple comma separated list.""" - return _csl(separator, *thing) -''') -except SyntaxError: - # Python 2.7 - def csl(*thing): - """Generate a grammar for a simple comma separated list.""" - return _csl(",", *thing) - - -def attr(name, thing=word, subtype=None): - """Generate an Attribute with that name, referencing the thing. - - Instance variables: - Class Attribute class generated by namedtuple() - """ - # if __debug__: - # if isinstance(thing, (tuple, list)): - # warnings.warn(type(thing).__name__ - # + " not recommended as grammar of attribute " - # + repr(name), SyntaxWarning) - return attr.Class(name, thing, subtype) - -attr.Class = namedtuple("Attribute", ("name", "thing", "subtype")) - - -def flag(name, thing=None): - """Generate an Attribute with that name which is valued True or False.""" - if thing is None: - thing = Keyword(name) - return attr(name, thing, "Flag") - - -def attributes(grammar, invisible=False): - """Iterates all attributes of a grammar.""" - if type(grammar) == attr.Class and (invisible or grammar.name[0] != "_"): - yield grammar - elif type(grammar) == tuple: - for e in grammar: - for a in attributes(e, invisible): - yield a - - -class Whitespace(str): - grammar = whitespace - - -class RegEx(object): - """Regular Expression. - - Instance Variables: - regex pre-compiled object from re.compile() - """ - - def __init__(self, value, **kwargs): - self.regex = re.compile(value, re.U) - self.search = self.regex.search - self.match = self.regex.match - self.split = self.regex.split - self.findall = self.regex.findall - self.finditer = self.regex.finditer - self.sub = self.regex.sub - self.subn = self.regex.subn - self.flags = self.regex.flags - self.groups = self.regex.groups - self.groupindex = self.regex.groupindex - self.pattern = value - for k, v in kwargs.items(): - setattr(self, k, v) - - def __str__(self): - return self.pattern - - def __repr__(self): - result = type(self).__name__ + "(" + repr(self.pattern) - try: - result += ", name=" + repr(self.name) - except: - pass - return result + ")" - - -class Literal(object): - """Literal value.""" - _basic_types = (bool, int, float, complex, str, bytes, bytearray, list, - tuple, slice, set, frozenset, dict) - def __init__(self, value, **kwargs): - if isinstance(self, Literal._basic_types): - pass - else: - self.value = value - for k, v in kwargs.items(): - setattr(self, k, v) - - def __str__(self): - if isinstance(self, Literal._basic_types): - return super(Literal, self).__str__() - else: - return str(self.value) - - def __repr__(self): - if isinstance(self, Literal._basic_types): - return type(self).__name__ + "(" + \ - super(Literal, self).__repr__() + ")" - else: - return type(self).__name__ + "(" + repr(self.value) + ")" - - def __eq__(self, other): - if isinstance(self, Literal._basic_types): - if type(self) == type(other) and super().__eq__(other): - return True - else: - return False - else: - if type(self) == type(other) and str(self) == str(other): - return True - else: - return False - - -class Plain(object): - """A plain object""" - - def __init__(self, name=None, **kwargs): - """Construct a plain object with an optional name and optional other - attributes - """ - if name is not None: - self.name = Symbol(name) - for k, v in kwargs: - setattr(self, k, v) - - def __repr__(self): - """x.__repr__() <==> repr(x)""" - try: - return self.__class__.__name__ + "(name=" + repr(self.name) + ")" - except AttributeError: - return self.__class__.__name__ + "()" - - -class List(list): - """A List of things.""" - - def __init__(self, *args, **kwargs): - """Construct a List, and construct its attributes from keyword - arguments. - """ - _args = [] - if len(args) == 1: - if isinstance(args[0], str): - self.append(args[0]) - elif isinstance(args[0], (tuple, list)): - for e in args[0]: - if isinstance(e, attr.Class): - setattr(self, e.name, e.value) - else: - _args.append(e) - super(List, self).__init__(_args) - else: - raise ValueError("initializer of List should be collection or string") - else: - for e in args: - if isinstance(e, attr.Class): - setattr(self, e.name, e.value) - else: - _args.append(e) - super(List, self).__init__(_args) - - for k, v in kwargs.items(): - setattr(self, k, v) - - def __repr__(self): - """x.__repr__() <==> repr(x)""" - result = type(self).__name__ + "(" + super(List, self).__repr__() - try: - result += ", name=" + repr(self.name) - except: - pass - return result + ")" - - def __eq__(self, other): - return super(List, self).__eq__(list(other)) - - -class _UserDict(object): - # UserDict cannot be used because of metaclass conflicts - def __init__(self, *args, **kwargs): - self.data = dict(*args, **kwargs) - def __len__(self): - return len(self.data) - def __getitem__(self, key): - return self.data[key] - def __setitem__(self, key, value): - self.data[key] = value - def __delitem__(self, key): - del self.data[key] - def __iter__(self): - return self.data.keys() - def __contains__(self, item): - return item in self.data - def items(self): - return self.data.items() - def keys(self): - return self.data.keys() - def values(self): - return self.data.values() - def clear(self): - self.data.clear() - def copy(self): - return self.data.copy() - - -class Namespace(_UserDict): - """A dictionary of things, indexed by their name.""" - name_by = lambda value: "#" + str(id(value)) - - def __init__(self, *args, **kwargs): - """Initialize an OrderedDict containing the data of the Namespace. - Arguments are being put into the Namespace, keyword arguments give the - attributes of the Namespace. - """ - if args: - self.data = OrderedDict(args) - else: - self.data = OrderedDict() - for k, v in kwargs.items(): - setattr(self, k, v) - - def __setitem__(self, key, value): - """x.__setitem__(i, y) <==> x[i]=y""" - if key is None: - name = Symbol(Namespace.name_by(value)) - else: - name = Symbol(key) - try: - value.name = name - except AttributeError: - pass - try: - value.namespace - except AttributeError: - try: - value.namespace = weakref.ref(self) - except AttributeError: - pass - else: - if not value.namespace: - value.namespace = weakref.ref(self) - super(Namespace, self).__setitem__(name, value) - - def __delitem__(self, key): - """x.__delitem__(y) <==> del x[y]""" - self[key].namespace = None - super(Namespace, self).__delitem__(key) - - def __repr__(self): - """x.__repr__() <==> repr(x)""" - result = type(self).__name__ + "([" - for key, value in self.data.items(): - result += "(" + repr(key) + ", " + repr(value) + ")" - result += ", " - result += "]" - try: - result += ", name=" + repr(self.name) - except: - pass - return result + ")" - - -class Enum(Namespace): - """A Namespace which is being treated as an Enum. - Enums can only contain Keywords or Symbols.""" - - def __init__(self, *things, **kwargs): - """Construct an Enum using a tuple of things.""" - self.data = OrderedDict() - for thing in things: - if type(thing) == str: - thing = Symbol(thing) - if not isinstance(thing, Symbol): - raise TypeError(repr(thing) + " is not a Symbol") - super(Enum, self).__setitem__(thing, thing) - for k, v in kwargs.items(): - setattr(self, k, v) - - def __repr__(self): - """x.__repr__() <==> repr(x)""" - v = [e for e in self.values()] - result = type(self).__name__ + "(" + repr(v) - try: - result += ", name=" + repr(self.name) - except: - pass - return result + ")" - - def __setitem__(self, key, value): - """x.__setitem__(i, y) <==> x[i]=y""" - if not isinstance(value, Keyword) and not isinstance(value, Symbol): - raise TypeError("Enums can only contain Keywords or Symbols") - raise ValueError("Enums cannot be modified after creation.") - - -class Symbol(str): - """Use to scan Symbols. - - Class variables: - regex regular expression to scan, default r"\w+" - check_keywords flag if a Symbol is checked for not being a Keyword - default: False - """ - - regex = word - check_keywords = False - - def __init__(self, name, namespace=None): - """Construct a Symbol with that name in Namespace namespace. - - Raises: - ValueError if check_keywords is True and value is identical to - a Keyword - TypeError if namespace is given and not a Namespace - """ - - if Symbol.check_keywords and name in Keyword.table: - raise ValueError(repr(name) - + " is a Keyword, but is used as a Symbol") - if namespace: - if isinstance(namespace, Namespace): - namespace[name] = self - else: - raise TypeError(repr(namespace) + " is not a Namespace") - else: - self.name = name - self.namespace = None - - def __repr__(self): - """x.__repr__() <==> repr(x)""" - return type(self).__name__ + "(" + str(self).__repr__() + ")" - - -class Keyword(Symbol): - """Use to access the keyword table. - - Class variables: - regex regular expression to scan, default r"\w+" - table Namespace with keyword table - """ - - regex = word - table = Namespace() - - def __init__(self, keyword): - """Adds keyword to the keyword table.""" - if keyword not in Keyword.table: - Keyword.table[keyword] = self - self.name = keyword - -K = Keyword -"""Shortcut for Keyword.""" - - -class Concat(List): - """Concatenation of things. - - This class exists as a mutable alternative to using a tuple. - """ - - -def name(): - """Generate a grammar for a symbol with name.""" - return attr("name", Symbol) - - -def ignore(grammar): - """Ignore what matches to the grammar.""" - try: - ignore.serial += 1 - except AttributeError: - ignore.serial = 1 - return attr("_ignore" + str(ignore.serial), grammar) - - -def indent(*thing): - """Indent thing by one level. - Inserts -3 as cardinality before thing. - """ - return _card(-3, thing) - - -def contiguous(*thing): - """Disable automated whitespace matching. - Inserts -4 as cardinality before thing. - """ - return _card(-4, thing) - - -def separated(*thing): - """Enable automated whitespace matching. - Inserts -5 as cardinality before thing. - """ - return _card(-5, thing) - - -def omit(*thing): - """Omit what matches to the grammar.""" - return _card(-6, thing) - - -endl = lambda thing, parser: "\n" -"""End of line marker for composing text.""" - - -blank = lambda thing, parser: " " -"""Space marker for composing text.""" - - -class GrammarError(Exception): - """Base class for errors in grammars.""" - - -class GrammarTypeError(TypeError, GrammarError): - """Raised if grammar contains an object of unkown type.""" - - -class GrammarValueError(ValueError, GrammarError): - """Raised if grammar contains an illegal value.""" - - -def how_many(grammar): - """Determines the possibly parsed objects of grammar. - - Returns: - 0 if there will be no objects - 1 if there will be a maximum of one object - 2 if there can be more than one object - - Raises: - GrammarTypeError - if grammar contains an object of unkown type - GrammarValueError - if grammar contains an illegal cardinality value - """ - - if grammar is None: - return 0 - - elif type(grammar) == int: - return grammar - - elif _issubclass(grammar, Symbol) or isinstance(grammar, (RegEx, _RegEx)): - return 1 - - elif isinstance(grammar, (str, Literal)): - return 0 - - elif isinstance(grammar, attr.Class): - return 0 - - elif type(grammar) == FunctionType: - return 0 - - elif isinstance(grammar, (tuple, Concat)): - length, card = 0, 1 - for e in grammar: - if type(e) == int: - if e < -6: - raise GrammarValueError( - "illegal cardinality value in grammar: " + str(e)) - if e in (-5, -4, -3): - pass - elif e in (-1, -2): - card = 2 - elif e == 0: - card = 1 - elif e == -6: - return 0 - else: - card = min(e, 2) - else: - length += card * how_many(e) - if length >= 2: - return 2 - return length - - elif isinstance(grammar, list): - m = 0 - for e in grammar: - m = max(m, how_many(e)) - if m == 2: - return m - return m - - elif _issubclass(grammar, object): - return 1 - - else: - raise GrammarTypeError("grammar contains an illegal type: " - + type(grammar).__name__ + ": " + repr(grammar)) - - -def parse(text, thing, filename=None, whitespace=whitespace, comment=None, - keep_feeble_things=False): - """Parse text following thing as grammar and return the resulting things or - raise an error. - - Arguments: - text text to parse - thing grammar for things to parse - filename filename where text is origin from - whitespace regular expression to skip whitespace - default: regex "(?m)\s+" - comment grammar to parse comments - default: None - keep_feeble_things - put whitespace and comments into the .feeble_things - attribute instead of dumping them - - Returns generated things. - - Raises: - SyntaxError if text does not match the grammar in thing - ValueError if input does not match types - TypeError if output classes have wrong syntax for __init__() - GrammarTypeError - if grammar contains an object of unkown type - GrammarValueError - if grammar contains an illegal cardinality value - """ - - parser = Parser() - parser.whitespace = whitespace - parser.comment = comment - parser.text = text - parser.filename = filename - parser.keep_feeble_things = keep_feeble_things - - t, r = parser.parse(text, thing) - if t: - raise parser.last_error - return r - - -def compose(thing, grammar=None, indent=" ", autoblank=True): - """Compose text using thing with grammar. - - Arguments: - thing thing containing other things with grammar - grammar grammar to use to compose thing - default: thing.grammar - indent string to use to indent while composing - default: four spaces - autoblank add blanks if grammar would possibly be - violated otherwise - default: True - - Returns text - - Raises: - ValueError if input does not match grammar - GrammarTypeError - if grammar contains an object of unkown type - GrammarValueError - if grammar contains an illegal cardinality value - """ - - parser = Parser() - parser.indent = indent - parser.autoblank = autoblank - return parser.compose(thing, grammar) - - -def _issubclass(obj, cls): - # If obj is not a class, just return False - try: - return issubclass(obj, cls) - except TypeError: - return False - - -class Parser(object): - """Offers parsing and composing capabilities. Implements a Packrat parser. - - Instance variables: - whitespace regular expression to scan whitespace - default: "(?m)\s+" - comment grammar to parse comments - last_error syntax error which ended parsing - indent string to use to indent while composing - default: four spaces - indention_level level to indent to - default: 0 - text original text to parse; set for decorated syntax - errors - filename filename where text is origin from - autoblank add blanks while composing if grammar would possibly - be violated otherwise - default: True - keep_feeble_things put whitespace and comments into the .feeble_things - attribute instead of dumping them - """ - - def __init__(self): - """Initialize instance variables to their defaults.""" - self.whitespace = whitespace - self.comment = None - self.last_error = None - self.indent = " " - self.indention_level = 0 - self.text = None - self.filename = None - self.autoblank = True - self.keep_feeble_things = False - self._memory = {} - self._got_endl = True - self._contiguous = False - self._got_regex = False - - def clear_memory(self, thing=None): - """Clear cache memory for packrat parsing. - - Arguments: - thing thing for which cache memory is cleared, - None if cache memory should be cleared for all - things - """ - - if thing is None: - self._memory = {} - else: - try: - del self._memory[id(thing)] - except KeyError: - pass - - def parse(self, text, thing, filename=None): - """(Partially) parse text following thing as grammar and return the - resulting things. - - Arguments: - text text to parse - thing grammar for things to parse - filename filename where text is origin from - - Returns (text, result) with: - text unparsed text - result generated objects or SyntaxError object - - Raises: - ValueError if input does not match types - TypeError if output classes have wrong syntax for __init__() - GrammarTypeError - if grammar contains an object of unkown type - GrammarValueError - if grammar contains an illegal cardinality value - """ - - self.text = text - if filename: - self.filename = filename - pos = [1, 0] - t, skip_result = self._skip(text, pos) - t, r = self._parse(t, thing, pos) - if type(r) == SyntaxError: - raise r - else: - if self.keep_feeble_things and skip_result: - try: - r.feeble_things - except AttributeError: - try: - r.feeble_things = skip_result - except AttributeError: - pass - else: - r.feeble_things = skip_result + r.feeble_things - return t, r - - def _skip(self, text, pos=None): - # Skip whitespace and comments from input text - t2 = None - t = text - result = [] - while t2 != t: - if self.whitespace and not self._contiguous: - t, r = self._parse(t, Whitespace, pos) - if self.keep_feeble_things and r and not isinstance(r, - SyntaxError): - result.append(r) - t2 = t - if self.comment: - t, r = self._parse(t, self.comment, pos) - if self.keep_feeble_things and r and not isinstance(r, - SyntaxError): - result.append(r) - return t, result - - def generate_syntax_error(self, msg, pos): - """Generate a syntax error construct with - - msg string with error message - pos (lineNo, charInText) with positioning information - """ - - result = SyntaxError(msg) - if pos: - result.lineno = pos[0] - start = max(pos[1] - 19, 0) - end = min(pos[1] + 20, len(self.text)) - result.text = self.text[start:end] - result.offset = pos[1] - start + 1 - while "\n" in result.text: - lf = result.text.find("\n") - if lf >= result.offset: - result.text = result.text[:result.offset-1] - break; - else: - L = len(result.text) - result.text = result.text[lf+1:] - result.offset -= L - len(result.text) - if self.filename: - result.filename = self.filename - return result - - def _parse(self, text, thing, pos=[1, 0]): - # Parser implementation - - def update_pos(text, t, pos): - # Calculate where we are in the text - if not pos: - return - if text == t: - return - d_text = text[:len(text) - len(t)] - pos[0] += d_text.count("\n") - pos[1] += len(d_text) - - try: - return self._memory[id(thing)][text] - except: - pass - - if pos: - current_pos = tuple(pos) - else: - current_pos = None - - def syntax_error(msg): - return self.generate_syntax_error(msg, pos) - - try: - thing.parse - except AttributeError: - pass - else: - t, r = thing.parse(self, text, pos) - if not isinstance(r, SyntaxError): - t, skip_result = self._skip(t) - update_pos(text, t, pos) - if self.keep_feeble_things: - try: - r.feeble_things - except AttributeError: - try: - r.feeble_things = skip_result - except AttributeError: - pass - else: - r.feeble_things += skip_result - return t, r - - skip_result = None - - # terminal symbols - - if thing is None or type(thing) == FunctionType: - result = text, None - - elif isinstance(thing, Symbol): - m = type(thing).regex.match(text) - if m and m.group(0) == str(thing): - t, r = text[len(thing):], None - t, skip_result = self._skip(t) - result = t, r - update_pos(text, t, pos) - else: - result = text, syntax_error("expecting " + repr(thing)) - - elif isinstance(thing, (RegEx, _RegEx)): - m = thing.match(text) - if m: - t, r = text[len(m.group(0)):], m.group(0) - t, skip_result = self._skip(t) - result = t, r - update_pos(text, t, pos) - else: - result = text, syntax_error("expecting match on " - + thing.pattern) - - elif isinstance(thing, (str, Literal)): - if text.startswith(str(thing)): - t, r = text[len(str(thing)):], None - t, skip_result = self._skip(t) - result = t, r - update_pos(text, t, pos) - else: - result = text, syntax_error("expecting " + repr(thing)) - - elif _issubclass(thing, Symbol): - m = thing.regex.match(text) - if m: - result = None - try: - thing.grammar - except AttributeError: - pass - else: - if thing.grammar is None: - pass - elif isinstance(thing.grammar, Enum): - if not m.group(0) in thing.grammar: - result = text, syntax_error(repr(m.group(0)) - + " is not a member of " + repr(thing.grammar)) - else: - raise GrammarValueError( - "Symbol " + type(thing).__name__ - + " has a grammar which is not an Enum: " - + repr(thing.grammar)) - if not result: - t, r = text[len(m.group(0)):], thing(m.group(0)) - t, skip_result = self._skip(t) - result = t, r - update_pos(text, t, pos) - else: - result = text, syntax_error("expecting " + thing.__name__) - - # non-terminal constructs - - elif isinstance(thing, attr.Class): - t, r = self._parse(text, thing.thing, pos) - if type(r) == SyntaxError: - if thing.subtype == "Flag": - result = t, attr(thing.name, False) - else: - result = text, r - else: - if thing.subtype == "Flag": - result = t, attr(thing.name, True) - else: - result = t, attr(thing.name, r) - - elif isinstance(thing, (tuple, Concat)): - if self.keep_feeble_things: - L = List() - else: - L = [] - t = text - flag = True - _min, _max = 1, 1 - contiguous = self._contiguous - omit = False - for e in thing: - if type(e) == int: - if e < -6: - raise GrammarValueError( - "illegal cardinality value in grammar: " + str(e)) - if e == -6: - omit = True - elif e == -5: - self._contiguous = False - t, skip_result = self._skip(t) - if self.keep_feeble_things and skip_result: - try: - L.feeble_things - except AttributeError: - try: - L.feeble_things = skip_result - except AttributeError: - pass - else: - L.feeble_things += skip_result - elif e == -4: - self._contiguous = True - elif e == -3: - pass - elif e == -2: - _min, _max = 1, sys.maxsize - elif e == -1: - _min, _max = 0, sys.maxsize - elif e == 0: - _min, _max = 0, 1 - else: - _min, _max = e, e - continue - for i in range(_max): - t2, r = self._parse(t, e, pos) - if type(r) == SyntaxError: - i -= 1 - break - elif omit: - t = t2 - r = None - else: - t = t2 - if r is not None: - if type(r) is list: - L.extend(r) - else: - L.append(r) - if i+1 < _min: - if type(r) != SyntaxError: - r = syntax_error("expecting " + str(_min) - + " occurrence(s) of " + repr(e) - + " (" + str(i+1) + " found)") - flag = False - break - _min, _max = 1, 1 - omit = False - if flag: - if self._contiguous and not contiguous: - self._contiguous = False - t, skip_result = self._skip(t) - if self.keep_feeble_things and skip_result: - try: - L.feeble_things - except AttributeError: - try: - L.feeble_things = skip_result - except AttributeError: - pass - else: - L.feeble_things += skip_result - if len(L) > 1 or how_many(thing) > 1: - result = t, L - elif not L: - if not self.keep_feeble_things: - return t, None - try: - L.feeble_things - except AttributeError: - return t, None - if len(L.feeble_things): - return t, L - else: - return t, None - else: - if self.keep_feeble_things: - try: - L.feeble_things - except AttributeError: - pass - else: - if L.feeble_things: - try: - L[0].feeble_things - except AttributeError: - try: - L[0].feeble_things = L.feeble_things - except AttributeError: - pass - else: - L[0].feeble_things = L.feeble_things + \ - L[0].feeble_things - result = t, L[0] - else: - result = text, r - self._contiguous = contiguous - - elif isinstance(thing, list): - found = False - for e in thing: - try: - t, r = self._parse(text, e, pos) - if type(r) != SyntaxError: - found = True - break - except GrammarValueError: - raise - except ValueError: - pass - if found: - result = t, r - else: - result = text, syntax_error("expecting one of " + repr(thing)) - - elif _issubclass(thing, Namespace): - t, r = self._parse(text, thing.grammar, pos) - if type(r) != SyntaxError: - if isinstance(r, thing): - result = t, r - else: - obj = thing() - for e in r: - if type(e) == attr.Class: - setattr(obj, e.name, e.thing) - else: - try: - obj[e.name] = e - except AttributeError: - obj[None] = e - - try: - obj.polish() - except AttributeError: - pass - result = t, obj - else: - result = text, r - - elif _issubclass(thing, list): - try: - g = thing.grammar - except AttributeError: - g = csl(Symbol) - t, r = self._parse(text, g, pos) - if type(r) != SyntaxError: - if isinstance(r, thing): - result = t, r - else: - obj = thing() - if type(r) == list: - for e in r: - if type(e) == attr.Class: - setattr(obj, e.name, e.thing) - else: - obj.append(e) - else: - if type(r) == attr.Class: - setattr(obj, r.name, r.thing) - else: - obj.append(r) - try: - obj.polish() - except AttributeError: - pass - result = t, obj - else: - result = text, r - - elif _issubclass(thing, object): - try: - g = thing.grammar - except AttributeError: - g = word - t, r = self._parse(text, g, pos) - if type(r) != SyntaxError: - if isinstance(r, thing): - result = t, r - else: - try: - if type(r) == list: - L, a = [], [] - for e in r: - if type(e) == attr.Class: - a.append(e) - else: - L.append(e) - if L: - lg = how_many(thing.grammar) - if lg == 0: - obj = None - elif lg == 1: - obj = thing(L[0]) - else: - obj = thing(L) - else: - obj = thing() - for e in a: - setattr(obj, e.name, e.thing) - else: - if type(r) == attr.Class: - obj = thing() - setattr(obj, r.name, r.thing) - else: - if r is None: - obj = thing() - else: - obj = thing(r) - except TypeError as t: - L = list(t.args) - L[0] = thing.__name__ + ": " + L[0] - t.args = tuple(L) - raise t - try: - obj.polish() - except AttributeError: - pass - result = t, obj - else: - result = text, r - - else: - raise GrammarTypeError("in grammar: " + repr(thing)) - - if pos: - if type(result[1]) == SyntaxError: - pos[0] = current_pos[0] - pos[1] = current_pos[1] - self.last_error = result[1] - else: - try: - result[1].position_in_text = current_pos - except AttributeError: - pass - - if self.keep_feeble_things and skip_result: - try: - result[1].feeble_things - except AttributeError: - try: - result[1].feeble_things = skip_result - except AttributeError: - pass - else: - result[1].feeble_things += skip_result - - try: - self._memory[id(thing)] - except KeyError: - self._memory[id(thing)] = { text: result } - else: - self._memory[id(thing)][text] = result - - return result - - def compose(self, thing, grammar=None, attr_of=None): - """Compose text using thing with grammar. - - Arguments: - thing thing containing other things with grammar - grammar grammar to use for composing thing - default: type(thing).grammar - attr_of if composing the value of an attribute, this - is a reference to the thing where this value - is an attribute of; None if this is not an - attribute value - - Returns text - - Raises: - ValueError if thing does not match grammar - GrammarTypeError - if grammar contains an object of unkown type - GrammarValueError - if grammar contains an illegal cardinality value - """ - if __debug__: - # make sure that we're not having this typing error - compose = None - - def terminal_indent(do_blank=False): - self._got_regex = False - if self._got_endl: - result = self.indent * self.indention_level - self._got_endl = False - return result - elif do_blank and self.whitespace: - if self._contiguous or not self.autoblank: - return "" - else: - return blank(thing, self) - else: - return "" - - try: - thing.compose - except AttributeError: - pass - else: - return terminal_indent() + thing.compose(self, attr_of=attr_of) - - if not grammar: - try: - grammar = type(thing).grammar - except AttributeError: - if isinstance(thing, Symbol): - grammar = type(thing).regex - elif isinstance(thing, list): - grammar = csl(Symbol) - else: - grammar = word - else: - if isinstance(thing, Symbol): - grammar = type(thing).regex - - if grammar is None: - result = "" - - elif type(grammar) == FunctionType: - if grammar == endl: - result = endl(thing, self) - self._got_endl = True - elif grammar == blank: - result = terminal_indent() + blank(thing, self) - else: - result = self.compose(thing, grammar(thing, self)) - - elif isinstance(grammar, (RegEx, _RegEx)): - m = grammar.match(str(thing)) - if m: - result = terminal_indent(do_blank=self._got_regex) + str(thing) - else: - raise ValueError(repr(thing) + " does not match " - + grammar.pattern) - self._got_regex = True - - elif isinstance(grammar, Keyword): - result = terminal_indent(do_blank=self._got_regex) + str(grammar) - self._got_regex = True - - elif isinstance(grammar, (str, int, Literal)): - result = terminal_indent() + str(grammar) - - elif isinstance(grammar, Enum): - if thing in grammar: - if isinstance(thing, Keyword): - result = terminal_indent(do_blank=self._got_regex) + str(thing) - self._got_regex = True - else: - result = terminal_indent() + str(thing) - else: - raise ValueError(repr(thing) + " is not in " + repr(grammar)) - - elif isinstance(grammar, attr.Class): - if grammar.subtype == "Flag": - if getattr(thing, grammar.name): - result = self.compose(thing, grammar.thing, attr_of=thing) - else: - result = terminal_indent() - else: - result = self.compose(getattr(thing, grammar.name), - grammar.thing, attr_of=thing) - - elif isinstance(grammar, (tuple, list)): - def compose_tuple(thing, things, grammar): - text = [] - multiple, card = 1, 1 - indenting = 0 - if isinstance(grammar, (tuple, Concat)): - # concatenation - for g in grammar: - if g is None: - multiple = 1 - if self.indenting: - self.indention_level -= indenting - self.indenting = 0 - elif type(g) == int: - if g < -6: - raise GrammarValueError( - "illegal cardinality value in grammar: " - + str(g)) - card = g - if g in (-2, -1): - multiple = sys.maxsize - elif g in (-5, -4, -3, 0): - multiple = 1 - if g == -3: - self.indention_level += 1 - indenting += 1 - elif g == -6: - multiple = 0 - else: - multiple = g - else: - passes = 0 - try: - for r in range(multiple): - if isinstance(g, (str, Symbol, Literal)): - text.append(self.compose(thing, g)) - if card < 1: - break - elif isinstance(g, FunctionType): - text.append(self.compose(thing, g)) - if card < 1: - break - elif isinstance(g, attr.Class): - text.append(self.compose(getattr(thing, - g.name), g.thing, attr_of=thing)) - if card < 1: - break - elif isinstance(g, (tuple, list)): - text.append(compose_tuple(thing, things, g)) - if not things: - break - else: - text.append(self.compose(things.pop(), g)) - passes += 1 - except (IndexError, ValueError): - if card == -2: - if passes < 1: - raise ValueError(repr(g) - + " has to be there at least once") - elif card > 0: - if passes < multiple: - raise ValueError(repr(g) - + " has to be there exactly " - + str(multiple) + " times") - multiple = 1 - if indenting: - self.indention_level -= indenting - indenting = 0 - return ''.join(text) - else: - # options - for g in grammar: - try: - if isinstance(g, (str, Symbol, Literal)): - return self.compose(thing, g) - elif isinstance(g, FunctionType): - return self.compose(thing, g) - elif isinstance(g, attr.Class): - return self.compose(getattr(thing, g.name), g.thing) - elif isinstance(g, (tuple, list)): - return compose_tuple(thing, things, g) - else: - try: - text = self.compose(things[-1], g) - except Exception as e: - raise e - things.pop() - return text - except GrammarTypeError: - raise - except AttributeError: - pass - except KeyError: - pass - except TypeError: - pass - except ValueError: - pass - raise ValueError("none of the options in " + repr(grammar) - + " found") - - if isinstance(thing, Namespace): - L = [e for e in thing.values()] - L.reverse() - elif isinstance(thing, list): - L = thing[:] - L.reverse() - else: - L = [thing] - result = compose_tuple(thing, L, grammar) - - elif _issubclass(grammar, object): - if isinstance(thing, grammar): - try: - grammar.grammar - except AttributeError: - if _issubclass(grammar, Symbol): - result = self.compose(thing, grammar.regex) - else: - result = self.compose(thing) - else: - result = self.compose(thing, grammar.grammar) - else: - if grammar == Symbol and isinstance(thing, str): - result = self.compose(str(thing), Symbol.regex) - else: - raise ValueError(repr(thing) + " is not a " + repr(grammar)) - - else: - raise GrammarTypeError("in grammar: " + repr(grammar)) - - return result diff --git a/pypeg2/test/__init__.py b/pypeg2/test/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/pypeg2/test/test_pypeg2.py b/pypeg2/test/test_pypeg2.py deleted file mode 100644 index 7deee1c..0000000 --- a/pypeg2/test/test_pypeg2.py +++ /dev/null @@ -1,377 +0,0 @@ -from __future__ import unicode_literals - -import unittest -import pypeg2 -import re - -class GrammarTestCase1(unittest.TestCase): - def runTest(self): - x = pypeg2.some("thing") - y = pypeg2.maybe_some("thing") - z = pypeg2.optional("hello", "world") - self.assertEqual(x, (-2, "thing")) - self.assertEqual(y, (-1, "thing")) - self.assertEqual(z, (0, ("hello", "world"))) - -class GrammarTestCase2(unittest.TestCase): - def runTest(self): - L1 = pypeg2.csl("thing") - L2 = pypeg2.csl("hello", "world") - self.assertEqual(L1, ("thing", -1, (",", pypeg2.blank, "thing"))) - self.assertEqual(L2, ("hello", "world", -1, (",", pypeg2.blank, "hello", "world"))) - -class ParserTestCase(unittest.TestCase): pass - -class TypeErrorTestCase(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(pypeg2.GrammarTypeError): - parser.parse("hello, world", 23) - -class ParseTerminalStringTestCase1(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", "hello") - self.assertEqual(r, (", world", None)) - -class ParseTerminalStringTestCase2(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(SyntaxError): - r = parser.parse("hello, world", "world") - -class ParseKeywordTestCase1(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hallo, world", pypeg2.K("hallo")) - self.assertEqual(r, (", world", None)) - pypeg2.Keyword.table[pypeg2.K("hallo")] - -class ParseKeywordTestCase2(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(SyntaxError): - r = parser.parse("hello, world", pypeg2.K("werld")) - pypeg2.Keyword.table[pypeg2.K("werld")] - -class ParseKeywordTestCase3(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(SyntaxError): - r = parser.parse(", world", pypeg2.K("hallo")) - pypeg2.Keyword.table[pypeg2.K("hallo")] - -class ParseRegexTestCase1(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", re.compile(r"h.[lx]l\S", re.U)) - self.assertEqual(r, (", world", "hello")) - -class ParseRegexTestCase2(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(SyntaxError): - r = parser.parse("hello, world", re.compile(r"\d", re.U)) - -class ParseSymbolTestCase1(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", pypeg2.Symbol) - self.assertEqual(r, (", world", pypeg2.Symbol("hello"))) - -class ParseSymbolTestCase2(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(SyntaxError): - r = parser.parse(", world", pypeg2.Symbol) - -class ParseAttributeTestCase(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", pypeg2.attr("some", pypeg2.Symbol)) - self.assertEqual( - r, - ( - ', world', - pypeg2.attr.Class(name='some', thing=pypeg2.Symbol('hello'), - subtype=None) - ) - ) - -class ParseTupleTestCase1(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", (pypeg2.name(), ",", pypeg2.name())) - self.assertEqual( - r, - ( - '', - [ - pypeg2.attr.Class(name='name', - thing=pypeg2.Symbol('hello'), subtype=None), - pypeg2.attr.Class(name='name', - thing=pypeg2.Symbol('world'), subtype=None) - ] - ) - ) - -class ParseTupleTestCase2(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(ValueError): - parser.parse("hello, world", (-23, "x")) - -class ParseSomeTestCase1(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", pypeg2.some(re.compile(r"\w", re.U))) - self.assertEqual(r, (', world', ['h', 'e', 'l', 'l', 'o'])) - -class ParseSomeTestCase2(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(SyntaxError): - r = parser.parse("hello, world", pypeg2.some(re.compile(r"\d", re.U))) - -class ParseMaybeSomeTestCase1(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", pypeg2.maybe_some(re.compile(r"\w", re.U))) - self.assertEqual(r, (', world', ['h', 'e', 'l', 'l', 'o'])) - -class ParseMaybeSomeTestCase2(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", pypeg2.maybe_some(re.compile(r"\d", re.U))) - self.assertEqual(r, ('hello, world', [])) - -class ParseCardinalityTestCase1(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", (5, re.compile(r"\w", re.U))) - self.assertEqual(r, (', world', ['h', 'e', 'l', 'l', 'o'])) - -class ParseCardinalityTestCase2(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(SyntaxError): - r = parser.parse("hello, world", (6, re.compile(r"\w", re.U))) - -class ParseOptionsTestCase1(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", [re.compile(r"\d+", re.U), pypeg2.word]) - self.assertEqual(r, (', world', 'hello')) - -class ParseOptionsTestCase2(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(SyntaxError): - r = parser.parse("hello, world", ["x", "y"]) - -class ParseListTestCase1(ParserTestCase): - class Chars(pypeg2.List): - grammar = pypeg2.some(re.compile(r"\w", re.U)), pypeg2.attr("comma", ",") - - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", ParseListTestCase1.Chars) - self.assertEqual(r, ( - 'world', - ParseListTestCase1.Chars(['h', 'e', 'l', 'l', 'o'])) - ) - self.assertEqual(r[1].comma, None) - -class ParseListTestCase2(ParserTestCase): - class Digits(pypeg2.List): - grammar = pypeg2.some(re.compile(r"\d", re.U)) - - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(SyntaxError): - r = parser.parse("hello, world", ParseListTestCase2.Digits) - -class ParseClassTestCase1(ParserTestCase): - class Word(str): - grammar = pypeg2.word - - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", ParseClassTestCase1.Word) - self.assertEqual(type(r[1]), ParseClassTestCase1.Word) - self.assertEqual(r[1], "hello") - -class ParseClassTestCase2(ParserTestCase): - class Word(str): - grammar = pypeg2.word, pypeg2.attr("comma", ",") - def __init__(self, data): - self.polished = False - def polish(self): - self.polished = True - - def runTest(self): - parser = pypeg2.Parser() - r = parser.parse("hello, world", ParseClassTestCase2.Word) - self.assertEqual(type(r[1]), ParseClassTestCase2.Word) - self.assertEqual(r[1], "hello") - self.assertTrue(r[1].polished) - self.assertEqual(r[1].comma, None) - -class Parm(object): - grammar = pypeg2.name(), "=", pypeg2.attr("value", int) - -class Parms(pypeg2.Namespace): - grammar = (pypeg2.csl(Parm), pypeg2.flag("fullstop", "."), - pypeg2.flag("semicolon", ";")) - -class ParseNLTestCase1(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - parser.comment = pypeg2.comment_c - t, parms = parser.parse("x=23 /* Illuminati */, y=42 /* the answer */;", Parms) - self.assertEqual(parms["x"].value, 23) - self.assertEqual(parms["y"].value, 42) - self.assertEqual(parms.fullstop, False) - self.assertEqual(parms.semicolon, True) - -class EnumTest(pypeg2.Symbol): - grammar = pypeg2.Enum( pypeg2.K("int"), pypeg2.K("long") ) - -class ParseEnumTestCase1(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - t, r = parser.parse("int", EnumTest) - self.assertEqual(r, "int") - -class ParseEnumTestCase2(ParserTestCase): - def runTest(self): - parser = pypeg2.Parser() - with self.assertRaises(SyntaxError): - t, r = parser.parse("float", EnumTest) - -class ParseInvisibleTestCase(ParserTestCase): - class C1(str): - grammar = pypeg2.ignore("!"), pypeg2.restline - def runTest(self): - r = pypeg2.parse("!all", type(self).C1) - self.assertEqual(str(r), "all") - self.assertEqual(r._ignore1, None) - -class ParseOmitTestCase(ParserTestCase): - def runTest(self): - r = pypeg2.parse("hello", pypeg2.omit(pypeg2.word)) - self.assertEqual(r, None) - -class ComposeTestCase(unittest.TestCase): pass - -class ComposeString(object): - grammar = "something" - -class ComposeStringTestCase(ComposeTestCase): - def runTest(self): - x = ComposeString() - t = pypeg2.compose(x) - self.assertEqual(t, "something") - -class ComposeRegex(str): - grammar = pypeg2.word - -class ComposeRegexTestCase(ComposeTestCase): - def runTest(self): - x = ComposeRegex("something") - t = pypeg2.compose(x) - self.assertEqual(t, "something") - -class ComposeKeyword(object): - grammar = pypeg2.K("hallo") - -class ComposeKeywordTestCase(ComposeTestCase): - def runTest(self): - x = ComposeKeyword() - t = pypeg2.compose(x) - self.assertEqual(t, "hallo") - -class ComposeSymbol(pypeg2.Symbol): pass - -class ComposeSymbolTestCase(ComposeTestCase): - def runTest(self): - x = ComposeSymbol("hello") - t = pypeg2.compose(x) - self.assertEqual(t, "hello") - -class ComposeAttribute(object): - grammar = pypeg2.name() - -class ComposeAttributeTestCase(ComposeTestCase): - def runTest(self): - x = ComposeAttribute() - x.name = pypeg2.Symbol("hello") - t = pypeg2.compose(x) - self.assertEqual(t, "hello") - -class ComposeFlag(object): - grammar = pypeg2.flag("mark", "MARK") - -class ComposeFlagTestCase1(ComposeTestCase): - def runTest(self): - x = ComposeFlag() - x.mark = True - t = pypeg2.compose(x) - self.assertEqual(t, "MARK") - -class ComposeFlagTestCase2(ComposeTestCase): - def runTest(self): - x = ComposeFlag() - x.mark = False - t = pypeg2.compose(x) - self.assertEqual(t, "") - -class ComposeTuple(pypeg2.List): - grammar = pypeg2.csl(pypeg2.word) - -class ComposeTupleTestCase(ComposeTestCase): - def runTest(self): - x = ComposeTuple(["hello", "world"]) - t = pypeg2.compose(x) - self.assertEqual(t, "hello, world") - -class ComposeList(str): - grammar = [ re.compile(r"\d+", re.U), pypeg2.word ] - -class ComposeListTestCase(ComposeTestCase): - def runTest(self): - x = ComposeList("hello") - t = pypeg2.compose(x) - self.assertEqual(t, "hello") - -class ComposeIntTestCase(ComposeTestCase): - def runTest(self): - x = pypeg2.compose(23, int) - self.assertEqual(x, "23") - -class C2(str): - grammar = pypeg2.attr("some", "!"), pypeg2.restline - -class ComposeInvisibleTestCase(ParserTestCase): - def runTest(self): - r = pypeg2.parse("!all", C2) - self.assertEqual(str(r), "all") - self.assertEqual(r.some, None) - t = pypeg2.compose(r, C2) - self.assertEqual(t, "!all") - -class ComposeOmitTestCase(ParserTestCase): - def runTest(self): - t = pypeg2.compose('hello', pypeg2.omit(pypeg2.word)) - self.assertEqual(t, "") - -class CslPython32Compatibility(ParserTestCase): - def runTest(self): - try: - g = eval("pypeg2.csl('hello', 'world', separator=';')") - except TypeError: - return - self.assertEqual(g, ("hello", "world", -1, (";", pypeg2.blank, "hello", "world"))) - -if __name__ == '__main__': - unittest.main() diff --git a/pypeg2/test/test_xmlast.py b/pypeg2/test/test_xmlast.py deleted file mode 100644 index 0aed1ac..0000000 --- a/pypeg2/test/test_xmlast.py +++ /dev/null @@ -1,110 +0,0 @@ -from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass - -import unittest -import re, sys -import pypeg2, pypeg2.xmlast - -class Another(object): - grammar = pypeg2.name(), "=", pypeg2.attr("value") - -class Something(pypeg2.List): - grammar = pypeg2.name(), pypeg2.some(Another), str - -class Thing2etreeTestCase1(unittest.TestCase): - def runTest(self): - s = Something() - s.name = "hello" - a1 = Another() - a1.name = "bla" - a1.value = "blub" - a2 = Another() - a2.name = "foo" - a2.value = "bar" - s.append(a1) - s.append(a2) - s.append("hello, world") - - root = pypeg2.xmlast.create_tree(s) - - self.assertEqual(root.tag, "Something") - self.assertEqual(root.attrib["name"], "hello") - - try: - import lxml - except ImportError: - self.assertEqual(pypeg2.xmlast.etree.tostring(root), b'hello, world') - else: - self.assertEqual(pypeg2.xmlast.etree.tostring(root), b'hello, world') - -class SomethingElse(pypeg2.Namespace): - grammar = pypeg2.name(), pypeg2.some(Another) - -class Thing2etreeTestCase2(unittest.TestCase): - def runTest(self): - s = SomethingElse() - s.name = "hello" - a1 = Another() - a1.name = "bla" - a1.value = "blub" - a2 = Another() - a2.name = "foo" - a2.value = "bar" - s[a1.name] = a1 - s[a2.name] = a2 - - root = pypeg2.xmlast.create_tree(s) - - self.assertEqual(root.tag, "SomethingElse") - self.assertEqual(root.attrib["name"], "hello") - - try: - import lxml - except ImportError: - self.assertEqual(pypeg2.xmlast.etree.tostring(root), b'') - else: - self.assertEqual(pypeg2.xmlast.etree.tostring(root), b'') - -class Thing2XMLTestCase3(unittest.TestCase): - class C1(str): - grammar = pypeg2.ignore("!"), pypeg2.restline - def runTest(self): - r = pypeg2.parse("!all", type(self).C1) - xml = pypeg2.xmlast.thing2xml(r) - self.assertEqual(xml, b"all") - -class Key(str): - grammar = pypeg2.name(), "=", pypeg2.restline - -class XML2ThingTestCase1(unittest.TestCase): - def runTest(self): - xml = b'bar' - thing = pypeg2.xmlast.xml2thing(xml, globals()) - self.assertEqual(thing.name, pypeg2.Symbol("foo")) - self.assertEqual(thing, "bar") - -class Instruction(str): pass - -class Parameter(object): - grammar = pypeg2.attr("typing", str), pypeg2.name() - -class Parameters(pypeg2.Namespace): - grammar = pypeg2.optional(pypeg2.csl(Parameter)) - -class Function(pypeg2.List): - grammar = pypeg2.name(), pypeg2.attr("parms", Parameters), "{", pypeg2.maybe_some(Instruction), "}" - -class XML2ThingTestCase2(unittest.TestCase): - def runTest(self): - xml = b'do_this' - f = pypeg2.xmlast.xml2thing(xml, globals()) - self.assertEqual(f.name, pypeg2.Symbol("f")) - self.assertEqual(f.parms["a"].name, pypeg2.Symbol("a")) - self.assertEqual(f.parms["a"].typing, pypeg2.Symbol("int")) - self.assertEqual(f[0], "do_this") - -if __name__ == '__main__': - unittest.main() diff --git a/pypeg2/xmlast.py b/pypeg2/xmlast.py deleted file mode 100644 index b02882f..0000000 --- a/pypeg2/xmlast.py +++ /dev/null @@ -1,210 +0,0 @@ -""" -XML AST generator - -pyPEG parsing framework - -Copyleft 2012, Volker Birk. -This program is under GNU General Public License 2.0. -""" - - -from __future__ import unicode_literals -try: - str = unicode -except NameError: - pass - - -__version__ = 2.15 -__author__ = "Volker Birk" -__license__ = "This program is under GNU General Public License 2.0." -__url__ = "http://fdik.org/pyPEG" - - -try: - import lxml - from lxml import etree -except ImportError: - import xml.etree.ElementTree as etree - -if __debug__: - import warnings -import pypeg2 - - -def create_tree(thing, parent=None, object_names=False): - """Create an XML etree from a thing. - - Arguments: - thing thing to interpret - parent etree.Element to put subtree into - default: create a new Element tree - object_names experimental feature: if True tag names are object - names instead of types - - Returns: - etree.Element instance created - """ - - try: - grammar = type(thing).grammar - except AttributeError: - if isinstance(thing, list): - grammar = pypeg2.csl(pypeg2.name()) - else: - grammar = pypeg2.word - - name = type(thing).__name__ - - if object_names: - try: - name = str(thing.name) - name = name.replace(" ", "_") - except AttributeError: - pass - - if parent is None: - me = etree.Element(name) - else: - me = etree.SubElement(parent, name) - - for e in pypeg2.attributes(grammar): - if object_names and e.name == "name": - if name != type(thing).__name__: - continue - key, value = e.name, getattr(thing, e.name, None) - if value is not None: - if pypeg2._issubclass(e.thing, (str, int, pypeg2.Literal)) \ - or type(e.thing) == pypeg2._RegEx: - me.set(key, str(value)) - else: - create_tree(value, me, object_names) - - if isinstance(thing, list): - things = thing - elif isinstance(thing, pypeg2.Namespace): - things = thing.values() - else: - things = [] - - last = None - for t in things: - if type(t) == str: - if last is not None: - last.tail = str(t) - else: - me.text = str(t) - else: - last = create_tree(t, me, object_names) - - if isinstance(thing, str): - me.text = str(thing) - - return me - - -def thing2xml(thing, pretty=False, object_names=False): - """Create XML text from a thing. - - Arguments: - thing thing to interpret - pretty True if XML should be indented - False if XML should be plain - object_names experimental feature: if True tag names are object - names instead of types - - Returns: - bytes with encoded XML - """ - - tree = create_tree(thing, None, object_names) - try: - if lxml: - return etree.tostring(tree, pretty_print=pretty) - except NameError: - if __debug__: - if pretty: - warnings.warn("lxml is needed for pretty printing", - ImportWarning) - return etree.tostring(tree) - - -def create_thing(element, symbol_table): - """Create thing from an XML element. - - Arguments: - element etree.Element instance to read - symbol_table symbol table where the classes can be found - - Returns: - thing created - """ - - C = symbol_table[element.tag] - if element.text: - thing = C(element.text) - else: - thing = C() - - subs = iter(element) - iterated_already = False - - try: - grammar = C.grammar - except AttributeError: - pass - else: - for e in pypeg2.attributes(grammar): - key = e.name - if pypeg2._issubclass(e.thing, (str, int, pypeg2.Literal)) \ - or type(e.thing) == pypeg2._RegEx: - try: - value = element.attrib[e.name] - except KeyError: - pass - else: - setattr(thing, key, e.thing(value)) - else: - try: - if not iterated_already: - iterated_already = True - sub = next(subs) - except StopIteration: - pass - if sub.tag == e.thing.__name__: - iterated_already = False - t = create_thing(sub, symbol_table) - setattr(thing, key, t) - - if issubclass(C, list) or issubclass(C, pypeg2.Namespace): - try: - while True: - if iterated_already: - iterated_alread = False - else: - sub = next(subs) - t = create_thing(sub, symbol_table) - if isinstance(thing, pypeg2.List): - thing.append(t) - else: - thing[t.name] = t - except StopIteration: - pass - - return thing - - -def xml2thing(xml, symbol_table): - """Create thing from XML text. - - Arguments: - xml bytes with encoded XML - symbol_table symbol table where the classes can be found - - Returns: - created thing - """ - - element = etree.fromstring(xml) - return create_thing(element, symbol_table) - diff --git a/82367634-DAB1-4D69-BC58-77B4F9322402.png b/src/82367634-DAB1-4D69-BC58-77B4F9322402.png similarity index 100% rename from 82367634-DAB1-4D69-BC58-77B4F9322402.png rename to src/82367634-DAB1-4D69-BC58-77B4F9322402.png diff --git a/B222BD5C-5A0E-4EC1-9D9E-E308621BC7C8.png b/src/B222BD5C-5A0E-4EC1-9D9E-E308621BC7C8.png similarity index 100% rename from B222BD5C-5A0E-4EC1-9D9E-E308621BC7C8.png rename to src/B222BD5C-5A0E-4EC1-9D9E-E308621BC7C8.png diff --git a/anniversary_list.py b/src/anniversary_list.py similarity index 100% rename from anniversary_list.py rename to src/anniversary_list.py diff --git a/date_calculator.py b/src/date_calculator.py similarity index 98% rename from date_calculator.py rename to src/date_calculator.py index 0710de4..0b2532c 100644 --- a/date_calculator.py +++ b/src/date_calculator.py @@ -1,8 +1,8 @@ from collections import Counter from datetime import timedelta - +from datetime import datetime import arrow -from arrow.arrow import datetime +# from arrow.arrow import datetime from date_format_mappings import DEFAULT_WORKFLOW_SETTINGS, \ TIME_CALCULATION, VALID_FORMAT_OPTIONS, MAX_LOOKAHEAD_ATTEMPTS from date_formatters import DATE_FORMATTERS_MAP @@ -206,7 +206,8 @@ def valid_command_format(command_format): repeats_search = Counter(command_format) repeated_items = filter(lambda x: x > 1, repeats_search.values()) - if len(repeated_items) == 0: + #if len(repeated_items) == 0: + if len(list(repeated_items)) == 0: return True else: return False @@ -237,6 +238,7 @@ def calculate_time_interval(interval, start_datetime, end_datetime): datetime_list = arrow.Arrow.range(interval, start_datetime, end_datetime) if datetime_list: + datetime_list = list (datetime_list) return len(datetime_list) - 1, datetime_list[-1] else: return 0, start_datetime diff --git a/date_format_list.py b/src/date_format_list.py similarity index 100% rename from date_format_list.py rename to src/date_format_list.py diff --git a/date_format_mappings.py b/src/date_format_mappings.py similarity index 100% rename from date_format_mappings.py rename to src/date_format_mappings.py diff --git a/date_formatters.py b/src/date_formatters.py similarity index 100% rename from date_formatters.py rename to src/date_formatters.py diff --git a/date_functions.py b/src/date_functions.py similarity index 77% rename from date_functions.py rename to src/date_functions.py index a7f0960..506e999 100644 --- a/date_functions.py +++ b/src/date_functions.py @@ -1,8 +1,9 @@ # This file contains all the functions that the workflow # uses for specialised dates. from math import floor - -from arrow.arrow import datetime, timedelta +from datetime import datetime +from datetime import timedelta +#from arrow.arrow import datetime, timedelta # The DAY_MAP is specific to relative delta from date_format_mappings import DATE_MAPPINGS, TIME_MAPPINGS, DATE_TIME_MAPPINGS from dateutil.relativedelta import relativedelta, MO, TU, WE, TH, FR, SA, SU @@ -281,144 +282,71 @@ def martin_luther_king_day(settings): {'days': {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, TH, FR))}, - "wkdy": - - {'days': {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, TH, FR))}, - "weekends": {'days': {'Saturday', 'Sunday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(SA, SU))}, - "wknd": - {'days': {'Saturday', 'Sunday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(SA, SU))}, - "mondays": {'days': {'Monday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=MO)}, - "mon": - {'days': {'Monday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=MO)}, - "tuesdays": - {'days': {'Tuesday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=TU)}, - - "tue": - {'days': {'Tuesday'}, + {'days':{'Tuesday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=TU)}, "wednesdays": {'days': {'Wednesday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=WE)}, - "wed": - {'days': {'Wednesday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=WE)}, - "thursdays": {'days': {'Thursday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=TH)}, - "thu": - {'days': {'Thursday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=TH)}, - "fridays": {'days': {'Friday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=FR)}, - "fri": - {'days': {'Friday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=FR)}, - "saturdays": {'days': {'Saturday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=SA)}, - "sat": - {'days': {'Saturday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=SA)}, - "sundays": {'days': {'Sunday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=SU)}, - "sun": - {'days': {'Sunday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=SU)}, - "all except weekdays": {'days': {'Saturday', 'Sunday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(SA, SU))}, - "xwkdy": - {'days': {'Saturday', 'Sunday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(SA, SU))}, - "all except weekends": {'days': {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, TH, FR))}, - "xwknd": - {'days': {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, TH, FR))}, - "all except mondays": {'days': {'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(TU, WE, TH, FR, SA, SU))}, - "xmon": - {'days': {'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(TU, WE, TH, FR, SA, SU))}, - "all except tuesdays": {'days': {'Monday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, WE, TH, FR, SA, SU))}, - "xtue": - {'days': {'Monday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, WE, TH, FR, SA, SU))}, - "all except wednesdays": {'days': {'Monday', 'Tuesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, TH, FR, SA, SU))}, - "xwed": - {'days': {'Monday', 'Tuesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, TH, FR, SA, SU))}, - "all except thursdays": {'days': {'Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, FR, SA, SU))}, - "xthu": - {'days': {'Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, FR, SA, SU))}, - "all except fridays": {'days': {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Saturday', 'Sunday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, TH, SA, SU))}, - "xfri": - {'days': {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Saturday', 'Sunday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, TH, SA, SU))}, - "all except saturdays": {'days': {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Sunday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, TH, FR, SU))}, - "exsat": - {'days': {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Sunday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, TH, FR, SU))}, - "all except sundays": - {'days': {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Sunday'}, - 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, TH, FR, SA))}, - - "exsun": {'days': {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Sunday'}, 'rule': lambda start, end: rrule(freq=DAILY, dtstart=start, until=end, byweekday=(MO, TU, WE, TH, FR, SA))} } diff --git a/date_parser.py b/src/date_parser.py similarity index 100% rename from date_parser.py rename to src/date_parser.py diff --git a/date_time_format_list.py b/src/date_time_format_list.py similarity index 96% rename from date_time_format_list.py rename to src/date_time_format_list.py index 73a4df2..7bf3714 100644 --- a/date_time_format_list.py +++ b/src/date_time_format_list.py @@ -1,7 +1,8 @@ from __future__ import unicode_literals, print_function import sys -from arrow.arrow import datetime +#from arrow.arrow import datetime +from datetime import datetime from versioning import update_settings from workflow import Workflow diff --git a/humanfriendly.py b/src/humanfriendly.py similarity index 100% rename from humanfriendly.py rename to src/humanfriendly.py diff --git a/icon.png b/src/icon.png similarity index 100% rename from icon.png rename to src/icon.png diff --git a/info.plist b/src/info.plist similarity index 90% rename from info.plist rename to src/info.plist index dee4831..fff1b00 100644 --- a/info.plist +++ b/src/info.plist @@ -4,8 +4,6 @@ bundleid muppet.gate.net.DateCalculator - category - Productivity connections 0D06D18F-E39D-49F3-BF9C-D8919BC950B7 @@ -305,6 +303,8 @@ alfredfiltersresultsmatchmode 0 + argumenttreatemptyqueryasnil + argumenttrimmode 0 argumenttype @@ -324,7 +324,9 @@ runningsubtext Loading list . . . script - python date_format_list.py + export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH +export PYTHONPATH="$PWD/lib" +python3 date_format_list.py scriptargtype 0 scriptfile @@ -343,7 +345,7 @@ uid B222BD5C-5A0E-4EC1-9D9E-E308621BC7C8 version - 2 + 3 config @@ -353,7 +355,9 @@ escaping 126 script - python set_date_format.py "{query}" + export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH +export PYTHONPATH="$PWD/lib" +python3 set_date_format.py "{query}" scriptargtype 0 scriptfile @@ -376,7 +380,9 @@ escaping 126 script - python show_date_format.py + export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH +export PYTHONPATH="$PWD/lib" +python3 show_date_format.py scriptargtype 0 scriptfile @@ -415,15 +421,31 @@ config + alignment + 0 + backgroundcolor + + fadespeed + 0 + fillmode + 0 + font + + ignoredynamicplaceholders + largetypetext {query} + textcolor + + wrapat + 50 type alfred.workflow.output.largetype uid C0DB0242-54B1-475E-A327-B61C54C7B668 version - 2 + 3 config @@ -432,6 +454,8 @@ alfredfiltersresultsmatchmode 0 + argumenttreatemptyqueryasnil + argumenttrimmode 0 argumenttype @@ -451,7 +475,9 @@ runningsubtext Calculating . . . script - python date_calculator.py "{query}" + export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH +export PYTHONPATH="$PWD/lib" +python3 date_calculator.py "{query}" scriptargtype 0 scriptfile @@ -470,7 +496,7 @@ uid 6A04F044-39CB-4830-8CAF-6E471F570AE8 version - 2 + 3 config @@ -479,6 +505,8 @@ clipboardtext {query} + ignoredynamicplaceholders + transient @@ -487,7 +515,7 @@ uid 93F1AC54-E8DD-416A-BA06-74779BDA2668 version - 2 + 3 config @@ -497,7 +525,7 @@ escaping 0 script - tell application "Alfred 3" to search "dcalc {query}" + tell application "Alfred" to search "dcalc {query}" scriptargtype 0 scriptfile @@ -562,7 +590,9 @@ escaping 0 script - python set_anniversary.py "{query}" + export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH +export PYTHONPATH="$PWD/lib" +python3 set_anniversary.py "{query}" scriptargtype 0 scriptfile @@ -585,7 +615,7 @@ escaping 0 script - tell application "Alfred 3" to search "dcalcset list delete {query}" + tell application "Alfred" to search "dcalcset list delete {query}" scriptargtype 0 scriptfile @@ -607,6 +637,8 @@ alfredfiltersresultsmatchmode 0 + argumenttreatemptyqueryasnil + argumenttrimmode 0 argumenttype @@ -626,7 +658,9 @@ runningsubtext Please wait . . . script - python anniversary_list.py "{query}" + export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH +export PYTHONPATH="$PWD/lib" +python3 anniversary_list.py "{query}" scriptargtype 0 scriptfile @@ -645,7 +679,7 @@ uid 6344C161-C077-4BB5-800B-6BCF7A98F450 version - 2 + 3 config @@ -655,7 +689,7 @@ escaping 0 script - tell application "Alfred 3" to search "dcalcset list edit {query}" + tell application "Alfred" to search "dcalcset list edit {query}" scriptargtype 0 scriptfile @@ -678,7 +712,7 @@ escaping 0 script - tell application "Alfred 3" to search "dcalc {query}" + tell application "Alfred" to search "dcalc {query}" scriptargtype 0 scriptfile @@ -701,7 +735,7 @@ escaping 0 script - tell application "Alfred 3" to search "dcalc ^{query}" + tell application "Alfred" to search "dcalc ^{query}" scriptargtype 0 scriptfile @@ -724,7 +758,7 @@ escaping 127 script - tell application "Alfred 3" to search "dcalcshow list {query}" + tell application "Alfred" to search "dcalcshow list {query}" scriptargtype 0 scriptfile @@ -790,6 +824,8 @@ alfredfiltersresultsmatchmode 0 + argumenttreatemptyqueryasnil + argumenttrimmode 0 argumenttype @@ -809,7 +845,9 @@ runningsubtext Loading list . . . script - python time_format_list.py + export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH +export PYTHONPATH="$PWD/lib" +python3 time_format_list.py scriptargtype 0 scriptfile @@ -828,7 +866,7 @@ uid 0D06D18F-E39D-49F3-BF9C-D8919BC950B7 version - 2 + 3 config @@ -838,7 +876,9 @@ escaping 127 script - python set_time_format.py "{query}" + export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH +export PYTHONPATH="$PWD/lib" +python3 set_time_format.py "{query}" scriptargtype 0 scriptfile @@ -903,7 +943,9 @@ escaping 127 script - python show_time_format.py + export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH +export PYTHONPATH="$PWD/lib" +python3 show_time_format.py scriptargtype 0 scriptfile @@ -921,15 +963,31 @@ config + alignment + 0 + backgroundcolor + + fadespeed + 0 + fillmode + 0 + font + + ignoredynamicplaceholders + largetypetext {query} + textcolor + + wrapat + 50 type alfred.workflow.output.largetype uid 5F6FEA98-E805-408A-A1F4-A8A5FC49DC81 version - 2 + 3 config @@ -960,7 +1018,9 @@ escaping 127 script - python set_date_time_format.py "{query}" + export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH +export PYTHONPATH="$PWD/lib" +python3 set_date_time_format.py "{query}" scriptargtype 0 scriptfile @@ -982,6 +1042,8 @@ alfredfiltersresultsmatchmode 0 + argumenttreatemptyqueryasnil + argumenttrimmode 0 argumenttype @@ -1001,7 +1063,9 @@ runningsubtext Loading list . . . script - python date_time_format_list.py + export PATH=/opt/homebrew/bin:/usr/local/bin:$PATH +export PYTHONPATH="$PWD/lib" +python3 date_time_format_list.py scriptargtype 0 scriptfile @@ -1020,7 +1084,7 @@ uid E4238A84-F102-401E-A26E-ABC81E1B1E9E version - 2 + 3 config @@ -1031,8 +1095,6 @@ url http://muppetgate.github.io/pages/date-calculator-help-page.html - utf8 - type alfred.workflow.action.openurl @@ -1322,223 +1384,225 @@ THE SOFTWARE. 0B14F62B-EEC4-460E-A1B4-6DFF6705E5FA xpos - 500 + 500 ypos 1760 0D06D18F-E39D-49F3-BF9C-D8919BC950B7 xpos - 300 + 300 ypos 1400 19E610C7-B40E-4C9A-BFBC-2779322FA99B xpos - 700 + 700 ypos 1640 308D6AD9-DB3C-4021-9318-F162FF0E4254 xpos - 300 + 300 ypos 530 325B8F31-17CE-427F-ABB6-9D77B34CE8B7 xpos - 300 + 300 ypos 1280 42E3993D-0D36-40CD-89F8-562E443F4BCF xpos - 500 + 500 ypos 650 4B49B105-733E-4F5D-A690-B7B76C0B3B1D xpos - 500 + 500 ypos 1040 52C696F5-80D3-4235-92F9-6830E819A88D xpos - 700 + 700 ypos 60 52DA2602-1085-48CD-BDA1-8BF4F5005B57 xpos - 500 + 505 ypos - 920 + 905 56D0C077-A984-4BCD-B4B7-BF789A8C69FB xpos - 500 + 500 ypos 1280 5F6FEA98-E805-408A-A1F4-A8A5FC49DC81 xpos - 700 + 700 ypos 1520 6344C161-C077-4BB5-800B-6BCF7A98F450 xpos - 300 + 300 ypos 650 6A04F044-39CB-4830-8CAF-6E471F570AE8 xpos - 300 + 300 ypos 320 7205A144-D946-40B6-BF86-C19518026D45 xpos - 500 + 500 ypos 1400 78DDDF2F-629A-4313-95EE-1BB4A7AB3C4A xpos - 500 + 500 ypos 200 7F570625-0CC5-4B6E-A1BF-2F3169943C33 xpos - 700 + 700 ypos 530 8BB3905A-8C58-4F09-B871-9CF756226504 xpos - 500 + 500 ypos 1520 8F4747B0-FA9D-4FCB-B828-4B37602854B5 xpos - 500 + 500 ypos 60 93F1AC54-E8DD-416A-BA06-74779BDA2668 xpos - 700 + 700 ypos 320 9A630331-69C6-40E1-9F7B-7B782D30236E xpos - 500 + 500 ypos 770 AC56E0A1-82E8-4C9C-B6CF-2B53EBD02ABF xpos - 500 + 500 ypos 410 B222BD5C-5A0E-4EC1-9D9E-E308621BC7C8 xpos - 300 + 300 ypos 60 BFDF2A5E-8F79-4B66-9297-4FC3A926B30A xpos - 300 + 300 ypos 1520 C0DB0242-54B1-475E-A327-B61C54C7B668 xpos - 700 + 700 ypos 200 C5269892-166A-4776-9B18-6B0A72E66364 xpos - 700 + 700 ypos 1400 C762CD13-0320-40F8-8A88-BBBC6304759E xpos - 500 + 500 ypos 1640 CC4BA615-8C01-40D0-A08E-E29034EE6FAA xpos - 500 + 500 ypos 530 E4238A84-F102-401E-A26E-ABC81E1B1E9E xpos - 300 + 300 ypos 1640 F7EC7A12-0BA0-4294-A84C-A144CF6DFCCF xpos - 500 + 500 ypos 1160 FA8E241A-392E-41E0-8B29-F72B273A293F xpos - 300 + 300 ypos 1760 FC254D99-C731-4315-B760-9452FF77AC53 xpos - 300 + 300 ypos 200 + userconfigurationconfig + version - 3.3 + 4 webaddress http://muppetgate.github.io/pages/date-calculator-help-page.html diff --git a/isoweek.py b/src/isoweek.py similarity index 100% rename from isoweek.py rename to src/isoweek.py diff --git a/macros_parser.py b/src/macros_parser.py similarity index 100% rename from macros_parser.py rename to src/macros_parser.py diff --git a/src/packal/muppet.gate.net.DateCalculator.pub b/src/packal/muppet.gate.net.DateCalculator.pub new file mode 100644 index 0000000..eda017a --- /dev/null +++ b/src/packal/muppet.gate.net.DateCalculator.pub @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvukUrt5XRx6Lh0VYrFNt +qqccFA5nrafUi/eYaPTMWRUcmi5omrHPw2EllsMbEDYgnDj0SQ2UeGa2zTuvvWIr +zq1rSXVPjGHsAzJzFnxYe3WfE/P/v0ombH3bE0whGcWhdo2ejoo/C6O8eYwRDEHp +Sqwd9ZyTo6rs/CJrKJJIGxFqutZKYGsYeBJvt6Xu3v9RR0dgAW3NUFArz1FHte/p +TCE5CEXOF6luMxO+p5TNoZF8gT6/80Gp35C1Zn5ZBWE0C7PNgOFA2EW1tPxJfVAQ +XXbmvAl0Zm2JMAHf2KOsfv03XHuM407Wzn0ZX+7IvO4hdb1I73FGE7oWzPk4FE8U +KQIDAQAB +-----END PUBLIC KEY----- diff --git a/src/packal/package.xml b/src/packal/package.xml new file mode 100644 index 0000000..8846f51 --- /dev/null +++ b/src/packal/package.xml @@ -0,0 +1,8 @@ + + + Date Calculator + 3.3 + muppet.gate.net.DateCalculator + 1540192818 + date_calculator.alfredworkflow + diff --git a/src/requirements.txt b/src/requirements.txt new file mode 100755 index 0000000..c25156e --- /dev/null +++ b/src/requirements.txt @@ -0,0 +1,5 @@ +arrow==1.2.2 +parsedatetime==2.6 +python-dateutil==2.8.2 +pyPEG2==2.15.2 + diff --git a/set_anniversary.py b/src/set_anniversary.py similarity index 100% rename from set_anniversary.py rename to src/set_anniversary.py diff --git a/set_date_format.py b/src/set_date_format.py similarity index 100% rename from set_date_format.py rename to src/set_date_format.py diff --git a/set_date_time_format.py b/src/set_date_time_format.py similarity index 100% rename from set_date_time_format.py rename to src/set_date_time_format.py diff --git a/set_time_format.py b/src/set_time_format.py similarity index 100% rename from set_time_format.py rename to src/set_time_format.py diff --git a/show_date_format.py b/src/show_date_format.py similarity index 100% rename from show_date_format.py rename to src/show_date_format.py diff --git a/show_time_format.py b/src/show_time_format.py similarity index 100% rename from show_time_format.py rename to src/show_time_format.py diff --git a/time_format_list.py b/src/time_format_list.py similarity index 100% rename from time_format_list.py rename to src/time_format_list.py diff --git a/utils.py b/src/utils.py similarity index 99% rename from utils.py rename to src/utils.py index 18808fd..3c42485 100644 --- a/utils.py +++ b/src/utils.py @@ -126,7 +126,6 @@ def convert_date_time(date_time, settings): return DATE_FUNCTION_MAP[date_time_str.lower()](settings) anniversary_date = process_macros(date_time_str.lower(), settings['anniversaries']) - if anniversary_date is not None: return datetime.combine(anniversary_date, datetime.max.time()), date_format diff --git a/versioning.py b/src/versioning.py similarity index 100% rename from versioning.py rename to src/versioning.py diff --git a/workflow/.alfredversionchecked b/src/workflow/.alfredversionchecked similarity index 100% rename from workflow/.alfredversionchecked rename to src/workflow/.alfredversionchecked diff --git a/workflow/Notify.tgz b/src/workflow/Notify.tgz similarity index 100% rename from workflow/Notify.tgz rename to src/workflow/Notify.tgz diff --git a/src/workflow/__init__.py b/src/workflow/__init__.py new file mode 100644 index 0000000..f93fb60 --- /dev/null +++ b/src/workflow/__init__.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python +# encoding: utf-8 +# +# Copyright (c) 2014 Dean Jackson +# +# MIT Licence. See http://opensource.org/licenses/MIT +# +# Created on 2014-02-15 +# + +"""A helper library for `Alfred `_ workflows.""" + +import os + +# Filter matching rules +# Icons +# Exceptions +# Workflow objects +from .workflow import ( + ICON_ACCOUNT, + ICON_BURN, + ICON_CLOCK, + ICON_COLOR, + ICON_COLOUR, + ICON_EJECT, + ICON_ERROR, + ICON_FAVORITE, + ICON_FAVOURITE, + ICON_GROUP, + ICON_HELP, + ICON_HOME, + ICON_INFO, + ICON_NETWORK, + ICON_NOTE, + ICON_SETTINGS, + ICON_SWIRL, + ICON_SWITCH, + ICON_SYNC, + ICON_TRASH, + ICON_USER, + ICON_WARNING, + ICON_WEB, + MATCH_ALL, + MATCH_ALLCHARS, + MATCH_ATOM, + MATCH_CAPITALS, + MATCH_INITIALS, + MATCH_INITIALS_CONTAIN, + MATCH_INITIALS_STARTSWITH, + MATCH_STARTSWITH, + MATCH_SUBSTRING, + KeychainError, + PasswordNotFound, + Workflow, + manager, +) +from .workflow3 import Variables, Workflow3 + +__title__ = "Alfred-Workflow" +__version__ = open(os.path.join(os.path.dirname(__file__), "version")).read() +__author__ = "Dean Jackson" +__licence__ = "MIT" +__copyright__ = "Copyright 2014-2019 Dean Jackson" + +__all__ = [ + "Variables", + "Workflow", + "Workflow3", + "manager", + "PasswordNotFound", + "KeychainError", + "ICON_ACCOUNT", + "ICON_BURN", + "ICON_CLOCK", + "ICON_COLOR", + "ICON_COLOUR", + "ICON_EJECT", + "ICON_ERROR", + "ICON_FAVORITE", + "ICON_FAVOURITE", + "ICON_GROUP", + "ICON_HELP", + "ICON_HOME", + "ICON_INFO", + "ICON_NETWORK", + "ICON_NOTE", + "ICON_SETTINGS", + "ICON_SWIRL", + "ICON_SWITCH", + "ICON_SYNC", + "ICON_TRASH", + "ICON_USER", + "ICON_WARNING", + "ICON_WEB", + "MATCH_ALL", + "MATCH_ALLCHARS", + "MATCH_ATOM", + "MATCH_CAPITALS", + "MATCH_INITIALS", + "MATCH_INITIALS_CONTAIN", + "MATCH_INITIALS_STARTSWITH", + "MATCH_STARTSWITH", + "MATCH_SUBSTRING", +] diff --git a/workflow/background.py b/src/workflow/background.py similarity index 75% rename from workflow/background.py rename to src/workflow/background.py index cd5400b..2001856 100644 --- a/workflow/background.py +++ b/src/workflow/background.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # encoding: utf-8 # # Copyright (c) 2014 deanishe@deanishe.net @@ -8,8 +7,8 @@ # Created on 2014-04-06 # -""" -This module provides an API to run commands in background processes. +"""This module provides an API to run commands in background processes. + Combine with the :ref:`caching API ` to work from cached data while you fetch fresh data in the background. @@ -17,17 +16,16 @@ and examples. """ -from __future__ import print_function, unicode_literals -import signal -import sys import os -import subprocess import pickle +import signal +import subprocess +import sys from workflow import Workflow -__all__ = ['is_running', 'run_in_background'] +__all__ = ["is_running", "run_in_background"] _wf = None @@ -52,7 +50,7 @@ def _arg_cache(name): :rtype: ``unicode`` filepath """ - return wf().cachefile(name + '.argcache') + return wf().cachefile(name + ".argcache") def _pid_file(name): @@ -64,7 +62,7 @@ def _pid_file(name): :rtype: ``unicode`` filepath """ - return wf().cachefile(name + '.pid') + return wf().cachefile(name + ".pid") def _process_exists(pid): @@ -96,16 +94,16 @@ def _job_pid(name): if not os.path.exists(pidfile): return - with open(pidfile, 'rb') as fp: - pid = int(fp.read()) + with open(pidfile, "rb") as fp: + read = fp.read() + # print(str(read)) + pid = int.from_bytes(read, sys.byteorder) + # print(pid) if _process_exists(pid): return pid - try: - os.unlink(pidfile) - except Exception: # pragma: no cover - pass + os.unlink(pidfile) def is_running(name): @@ -123,8 +121,9 @@ def is_running(name): return False -def _background(pidfile, stdin='/dev/null', stdout='/dev/null', - stderr='/dev/null'): # pragma: no cover +def _background( + pidfile, stdin="/dev/null", stdout="/dev/null", stderr="/dev/null" +): # pragma: no cover """Fork the current process into a background daemon. :param pidfile: file to write PID of daemon process to. @@ -137,42 +136,43 @@ def _background(pidfile, stdin='/dev/null', stdout='/dev/null', :type stderr: filepath """ + def _fork_and_exit_parent(errmsg, wait=False, write=False): try: pid = os.fork() if pid > 0: if write: # write PID of child process to `pidfile` - tmp = pidfile + '.tmp' - with open(tmp, 'wb') as fp: - fp.write(str(pid)) + tmp = pidfile + ".tmp" + with open(tmp, "wb") as fp: + fp.write(pid.to_bytes(4, sys.byteorder)) os.rename(tmp, pidfile) if wait: # wait for child process to exit os.waitpid(pid, 0) os._exit(0) except OSError as err: - _log().critical('%s: (%d) %s', errmsg, err.errno, err.strerror) + _log().critical("%s: (%d) %s", errmsg, err.errno, err.strerror) raise err # Do first fork and wait for second fork to finish. - _fork_and_exit_parent('fork #1 failed', wait=True) + _fork_and_exit_parent("fork #1 failed", wait=True) # Decouple from parent environment. os.chdir(wf().workflowdir) os.setsid() # Do second fork and write PID to pidfile. - _fork_and_exit_parent('fork #2 failed', write=True) + _fork_and_exit_parent("fork #2 failed", write=True) # Now I am a daemon! # Redirect standard file descriptors. - si = open(stdin, 'r', 0) - so = open(stdout, 'a+', 0) - se = open(stderr, 'a+', 0) - if hasattr(sys.stdin, 'fileno'): + si = open(stdin, "r", 1) + so = open(stdout, "a+", 1) + se = open(stderr, "a+", 1) + if hasattr(sys.stdin, "fileno"): os.dup2(si.fileno(), sys.stdin.fileno()) - if hasattr(sys.stdout, 'fileno'): + if hasattr(sys.stdout, "fileno"): os.dup2(so.fileno(), sys.stdout.fileno()) - if hasattr(sys.stderr, 'fileno'): + if hasattr(sys.stderr, "fileno"): os.dup2(se.fileno(), sys.stderr.fileno()) @@ -222,25 +222,25 @@ def run_in_background(name, args, **kwargs): """ if is_running(name): - _log().info('[%s] job already running', name) + _log().info("[%s] job already running", name) return argcache = _arg_cache(name) # Cache arguments - with open(argcache, 'wb') as fp: - pickle.dump({'args': args, 'kwargs': kwargs}, fp) - _log().debug('[%s] command cached: %s', name, argcache) + with open(argcache, "wb") as fp: + pickle.dump({"args": args, "kwargs": kwargs}, fp) + _log().debug("[%s] command cached: %s", name, argcache) # Call this script - cmd = ['/usr/bin/python', __file__, name] - _log().debug('[%s] passing job to background runner: %r', name, cmd) + cmd = [sys.executable, "-m", "workflow.background", name] + _log().debug("[%s] passing job to background runner: %r", name, cmd) retcode = subprocess.call(cmd) if retcode: # pragma: no cover - _log().error('[%s] background runner failed with %d', name, retcode) + _log().error("[%s] background runner failed with %d", name, retcode) else: - _log().debug('[%s] background job started', name) + _log().debug("[%s] background job started", name) return retcode @@ -256,7 +256,7 @@ def main(wf): # pragma: no cover name = wf.args[0] argcache = _arg_cache(name) if not os.path.exists(argcache): - msg = '[{0}] command cache not found: {1}'.format(name, argcache) + msg = "[{0}] command cache not found: {1}".format(name, argcache) log.critical(msg) raise IOError(msg) @@ -265,29 +265,29 @@ def main(wf): # pragma: no cover _background(pidfile) # Load cached arguments - with open(argcache, 'rb') as fp: + with open(argcache, "rb") as fp: data = pickle.load(fp) # Cached arguments - args = data['args'] - kwargs = data['kwargs'] + args = data["args"] + kwargs = data["kwargs"] # Delete argument cache file os.unlink(argcache) try: # Run the command - log.debug('[%s] running command: %r', name, args) + log.debug("[%s] running command: %r", name, args) retcode = subprocess.call(args, **kwargs) if retcode: - log.error('[%s] command failed with status %d', name, retcode) + log.error("[%s] command failed with status %d", name, retcode) finally: os.unlink(pidfile) - log.debug('[%s] job complete', name) + log.debug("[%s] job complete", name) -if __name__ == '__main__': # pragma: no cover +if __name__ == "__main__": # pragma: no cover wf().run(main) diff --git a/workflow/notify.py b/src/workflow/notify.py similarity index 61% rename from workflow/notify.py rename to src/workflow/notify.py index 4542c78..1de25ec 100644 --- a/workflow/notify.py +++ b/src/workflow/notify.py @@ -11,9 +11,10 @@ # TODO: Exclude this module from test and code coverage in py2.6 """ -Post notifications via the macOS Notification Center. This feature -is only available on Mountain Lion (10.8) and later. It will -silently fail on older systems. +Post notifications via the macOS Notification Center. + +This feature is only available on Mountain Lion (10.8) and later. +It will silently fail on older systems. The main API is a single function, :func:`~workflow.notify.notify`. @@ -22,7 +23,6 @@ icon and then calls the application to post notifications. """ -from __future__ import print_function, unicode_literals import os import plistlib @@ -32,9 +32,9 @@ import tarfile import tempfile import uuid +from typing import List -import workflow - +from . import workflow _wf = None _log = None @@ -42,20 +42,20 @@ #: Available system sounds from System Preferences > Sound > Sound Effects SOUNDS = ( - 'Basso', - 'Blow', - 'Bottle', - 'Frog', - 'Funk', - 'Glass', - 'Hero', - 'Morse', - 'Ping', - 'Pop', - 'Purr', - 'Sosumi', - 'Submarine', - 'Tink', + "Basso", + "Blow", + "Bottle", + "Frog", + "Funk", + "Glass", + "Hero", + "Morse", + "Ping", + "Pop", + "Purr", + "Sosumi", + "Submarine", + "Tink", ) @@ -89,7 +89,7 @@ def notifier_program(): Returns: unicode: Path to Notify.app ``applet`` executable. """ - return wf().datafile('Notify.app/Contents/MacOS/applet') + return wf().datafile("Notify.app/Contents/MacOS/applet") def notifier_icon_path(): @@ -98,7 +98,7 @@ def notifier_icon_path(): Returns: unicode: Path to ``applet.icns`` within the app bundle. """ - return wf().datafile('Notify.app/Contents/Resources/applet.icns') + return wf().datafile("Notify.app/Contents/Resources/applet.icns") def install_notifier(): @@ -107,21 +107,21 @@ def install_notifier(): Changes the bundle ID of the installed app and gives it the workflow's icon. """ - archive = os.path.join(os.path.dirname(__file__), 'Notify.tgz') + archive = os.path.join(os.path.dirname(__file__), "Notify.tgz") destdir = wf().datadir - app_path = os.path.join(destdir, 'Notify.app') + app_path = os.path.join(destdir, "Notify.app") n = notifier_program() - log().debug('installing Notify.app to %r ...', destdir) + log().debug("installing Notify.app to %r ...", destdir) # z = zipfile.ZipFile(archive, 'r') # z.extractall(destdir) - tgz = tarfile.open(archive, 'r:gz') + tgz = tarfile.open(archive, "r:gz") tgz.extractall(destdir) - assert os.path.exists(n), \ - 'Notify.app could not be installed in %s' % destdir + if not os.path.exists(n): # pragma: nocover + raise RuntimeError("Notify.app could not be installed in " + destdir) # Replace applet icon icon = notifier_icon_path() - workflow_icon = wf().workflowfile('icon.png') + workflow_icon = wf().workflowfile("icon.png") if os.path.exists(icon): os.unlink(icon) @@ -133,7 +133,7 @@ def install_notifier(): # until I figure out a better way of excluding this module # from coverage in py2.6. if sys.version_info >= (2, 7): # pragma: no cover - from AppKit import NSWorkspace, NSImage + from AppKit import NSImage, NSWorkspace ws = NSWorkspace.sharedWorkspace() img = NSImage.alloc().init() @@ -141,12 +141,12 @@ def install_notifier(): ws.setIcon_forFile_options_(img, app_path, 0) # Change bundle ID of installed app - ip_path = os.path.join(app_path, 'Contents/Info.plist') - bundle_id = '{0}.{1}'.format(wf().bundleid, uuid.uuid4().hex) - data = plistlib.readPlist(ip_path) - log().debug('changing bundle ID to %r', bundle_id) - data['CFBundleIdentifier'] = bundle_id - plistlib.writePlist(data, ip_path) + ip_path = os.path.join(app_path, "Contents/Info.plist") + bundle_id = "{0}.{1}".format(wf().bundleid, uuid.uuid4().hex) + data = plistlib.load(ip_path) + log().debug("changing bundle ID to %r", bundle_id) + data["CFBundleIdentifier"] = bundle_id + plistlib.dump(data, ip_path) def validate_sound(sound): @@ -171,7 +171,7 @@ def validate_sound(sound): return None -def notify(title='', text='', sound=None): +def notify(title="", text="", sound=None): """Post notification via Notify.app helper. Args: @@ -185,10 +185,10 @@ def notify(title='', text='', sound=None): Returns: bool: ``True`` if notification was posted, else ``False``. """ - if title == text == '': - raise ValueError('Empty notification') + if title == text == "": + raise ValueError("Empty notification") - sound = validate_sound(sound) or '' + sound = validate_sound(sound) or "" n = notifier_program() @@ -196,19 +196,23 @@ def notify(title='', text='', sound=None): install_notifier() env = os.environ.copy() - enc = 'utf-8' - env['NOTIFY_TITLE'] = title.encode(enc) - env['NOTIFY_MESSAGE'] = text.encode(enc) - env['NOTIFY_SOUND'] = sound.encode(enc) + enc = "utf-8" + env["NOTIFY_TITLE"] = title.encode(enc) + env["NOTIFY_MESSAGE"] = text.encode(enc) + env["NOTIFY_SOUND"] = sound.encode(enc) cmd = [n] retcode = subprocess.call(cmd, env=env) if retcode == 0: return True - log().error('Notify.app exited with status {0}.'.format(retcode)) + log().error("Notify.app exited with status {0}.".format(retcode)) return False +def usr_bin_env(*args: str) -> List[str]: + return ["/usr/bin/env", f'PATH={os.environ["PATH"]}'] + list(args) + + def convert_image(inpath, outpath, size): """Convert an image file using ``sips``. @@ -220,17 +224,15 @@ def convert_image(inpath, outpath, size): Raises: RuntimeError: Raised if ``sips`` exits with non-zero status. """ - cmd = [ - b'sips', - b'-z', str(size), str(size), - inpath, - b'--out', outpath] + cmd = ["sips", "-z", str(size), str(size), inpath, "--out", outpath] # log().debug(cmd) - with open(os.devnull, 'w') as pipe: - retcode = subprocess.call(cmd, stdout=pipe, stderr=subprocess.STDOUT) + with open(os.devnull, "w") as pipe: + retcode = subprocess.call( + cmd, shell=True, stdout=pipe, stderr=subprocess.STDOUT + ) if retcode != 0: - raise RuntimeError('sips exited with %d' % retcode) + raise RuntimeError("sips exited with %d" % retcode) def png_to_icns(png_path, icns_path): @@ -247,24 +249,25 @@ def png_to_icns(png_path, icns_path): Raises: RuntimeError: Raised if ``iconutil`` or ``sips`` fail. """ - tempdir = tempfile.mkdtemp(prefix='aw-', dir=wf().datadir) + tempdir = tempfile.mkdtemp(prefix="aw-", dir=wf().datadir) try: - iconset = os.path.join(tempdir, 'Icon.iconset') + iconset = os.path.join(tempdir, "Icon.iconset") + + if os.path.exists(iconset): # pragma: nocover + raise RuntimeError("iconset already exists: " + iconset) - assert not os.path.exists(iconset), \ - 'iconset already exists: ' + iconset os.makedirs(iconset) # Copy source icon to icon set and generate all the other # sizes needed configs = [] for i in (16, 32, 128, 256, 512): - configs.append(('icon_{0}x{0}.png'.format(i), i)) - configs.append((('icon_{0}x{0}@2x.png'.format(i), i * 2))) + configs.append(("icon_{0}x{0}.png".format(i), i)) + configs.append((("icon_{0}x{0}@2x.png".format(i), i * 2))) - shutil.copy(png_path, os.path.join(iconset, 'icon_256x256.png')) - shutil.copy(png_path, os.path.join(iconset, 'icon_128x128@2x.png')) + shutil.copy(png_path, os.path.join(iconset, "icon_256x256.png")) + shutil.copy(png_path, os.path.join(iconset, "icon_128x128@2x.png")) for name, size in configs: outpath = os.path.join(iconset, name) @@ -272,18 +275,14 @@ def png_to_icns(png_path, icns_path): continue convert_image(png_path, outpath, size) - cmd = [ - b'iconutil', - b'-c', b'icns', - b'-o', icns_path, - iconset] + cmd = ["iconutil", "-c", "icns", "-o", icns_path, iconset] retcode = subprocess.call(cmd) if retcode != 0: - raise RuntimeError('iconset exited with %d' % retcode) + raise RuntimeError("iconset exited with %d" % retcode) - assert os.path.exists(icns_path), \ - 'generated ICNS file not found: ' + repr(icns_path) + if not os.path.exists(icns_path): # pragma: nocover + raise ValueError("generated ICNS file not found: " + repr(icns_path)) finally: try: shutil.rmtree(tempdir) @@ -291,29 +290,29 @@ def png_to_icns(png_path, icns_path): pass -if __name__ == '__main__': # pragma: nocover +if __name__ == "__main__": # pragma: nocover # Simple command-line script to test module with # This won't work on 2.6, as `argparse` isn't available # by default. import argparse - from unicodedata import normalize def ustr(s): """Coerce `s` to normalised Unicode.""" - return normalize('NFD', s.decode('utf-8')) + return normalize("NFD", s.decode("utf-8")) p = argparse.ArgumentParser() - p.add_argument('-p', '--png', help="PNG image to convert to ICNS.") - p.add_argument('-l', '--list-sounds', help="Show available sounds.", - action='store_true') - p.add_argument('-t', '--title', - help="Notification title.", type=ustr, - default='') - p.add_argument('-s', '--sound', type=ustr, - help="Optional notification sound.", default='') - p.add_argument('text', type=ustr, - help="Notification body text.", default='', nargs='?') + p.add_argument("-p", "--png", help="PNG image to convert to ICNS.") + p.add_argument( + "-l", "--list-sounds", help="Show available sounds.", action="store_true" + ) + p.add_argument("-t", "--title", help="Notification title.", type=ustr, default="") + p.add_argument( + "-s", "--sound", type=ustr, help="Optional notification sound.", default="" + ) + p.add_argument( + "text", type=ustr, help="Notification body text.", default="", nargs="?" + ) o = p.parse_args() # List available sounds @@ -326,20 +325,20 @@ def ustr(s): if o.png: icns = os.path.join( os.path.dirname(o.png), - os.path.splitext(os.path.basename(o.png))[0] + '.icns') + os.path.splitext(os.path.basename(o.png))[0] + ".icns", + ) - print('converting {0!r} to {1!r} ...'.format(o.png, icns), - file=sys.stderr) + print("converting {0!r} to {1!r} ...".format(o.png, icns), file=sys.stderr) - assert not os.path.exists(icns), \ - 'destination file already exists: ' + icns + if os.path.exists(icns): + raise ValueError("destination file already exists: " + icns) png_to_icns(o.png, icns) sys.exit(0) # Post notification - if o.title == o.text == '': - print('ERROR: empty notification.', file=sys.stderr) + if o.title == o.text == "": + print("ERROR: empty notification.", file=sys.stderr) sys.exit(1) else: notify(o.title, o.text, o.sound) diff --git a/src/workflow/update.py b/src/workflow/update.py new file mode 100644 index 0000000..dc40c4b --- /dev/null +++ b/src/workflow/update.py @@ -0,0 +1,581 @@ +#!/usr/bin/env python +# encoding: utf-8 +# +# Copyright (c) 2014 Fabio Niephaus , +# Dean Jackson +# +# MIT Licence. See http://opensource.org/licenses/MIT +# +# Created on 2014-08-16 +# + +"""Self-updating from GitHub. + +.. versionadded:: 1.9 + +.. note:: + + This module is not intended to be used directly. Automatic updates + are controlled by the ``update_settings`` :class:`dict` passed to + :class:`~workflow.workflow.Workflow` objects. + +""" + + +import json +import os +import re +import subprocess +import tempfile +from collections import defaultdict +from functools import total_ordering +from itertools import zip_longest +from urllib import request + +from workflow.util import atomic_writer + +from . import workflow + +# __all__ = [] + + +RELEASES_BASE = "https://api.github.com/repos/{}/releases" +match_workflow = re.compile(r"\.alfred(\d+)?workflow$").search + +_wf = None + + +def wf(): + """Lazy `Workflow` object.""" + global _wf + if _wf is None: + _wf = workflow.Workflow() + return _wf + + +@total_ordering +class Download(object): + """A workflow file that is available for download. + + .. versionadded: 1.37 + + Attributes: + url (str): URL of workflow file. + filename (str): Filename of workflow file. + version (Version): Semantic version of workflow. + prerelease (bool): Whether version is a pre-release. + alfred_version (Version): Minimum compatible version + of Alfred. + + """ + + @classmethod + def from_dict(cls, d): + """Create a `Download` from a `dict`.""" + return cls( + url=d["url"], + filename=d["filename"], + version=Version(d["version"]), + prerelease=d["prerelease"], + ) + + @classmethod + def from_releases(cls, js): + """Extract downloads from GitHub releases. + + Searches releases with semantic tags for assets with + file extension .alfredworkflow or .alfredXworkflow where + X is a number. + + Files are returned sorted by latest version first. Any + releases containing multiple files with the same (workflow) + extension are rejected as ambiguous. + + Args: + js (str): JSON response from GitHub's releases endpoint. + + Returns: + list: Sequence of `Download`. + """ + releases = json.loads(js) + downloads = [] + for release in releases: + tag = release["tag_name"] + dupes = defaultdict(int) + try: + version = Version(tag) + except ValueError as err: + wf().logger.debug('ignored release: bad version "%s": %s', tag, err) + continue + + dls = [] + for asset in release.get("assets", []): + url = asset.get("browser_download_url") + filename = os.path.basename(url) + m = match_workflow(filename) + if not m: + wf().logger.debug("unwanted file: %s", filename) + continue + + ext = m.group(0) + dupes[ext] = dupes[ext] + 1 + dls.append(Download(url, filename, version, release["prerelease"])) + + valid = True + for ext, n in list(dupes.items()): + if n > 1: + wf().logger.debug( + 'ignored release "%s": multiple assets ' 'with extension "%s"', + tag, + ext, + ) + valid = False + break + + if valid: + downloads.extend(dls) + + downloads.sort(reverse=True) + return downloads + + def __init__(self, url, filename, version, prerelease=False): + """Create a new Download. + + Args: + url (str): URL of workflow file. + filename (str): Filename of workflow file. + version (Version): Version of workflow. + prerelease (bool, optional): Whether version is + pre-release. Defaults to False. + + """ + if isinstance(version, str): + version = Version(version) + + self.url = url + self.filename = filename + self.version = version + self.prerelease = prerelease + + @property + def alfred_version(self): + """Minimum Alfred version based on filename extension.""" + m = match_workflow(self.filename) + if not m or not m.group(1): + return Version("0") + return Version(m.group(1)) + + @property + def dict(self): + """Convert `Download` to `dict`.""" + return dict( + url=self.url, + filename=self.filename, + version=str(self.version), + prerelease=self.prerelease, + ) + + def __str__(self): + """Format `Download` for printing.""" + return ( + "Download(" + "url={dl.url!r}, " + "filename={dl.filename!r}, " + "version={dl.version!r}, " + "prerelease={dl.prerelease!r}" + ")" + ).format(dl=self) + + def __repr__(self): + """Code-like representation of `Download`.""" + return str(self) + + def __eq__(self, other): + """Compare Downloads based on version numbers.""" + if ( + self.url != other.url + or self.filename != other.filename + or self.version != other.version + or self.prerelease != other.prerelease + ): + return False + return True + + def __ne__(self, other): + """Compare Downloads based on version numbers.""" + return not self.__eq__(other) + + def __lt__(self, other): + """Compare Downloads based on version numbers.""" + if self.version != other.version: + return self.version < other.version + return self.alfred_version < other.alfred_version + + +class Version(object): + """Mostly semantic versioning. + + The main difference to proper :ref:`semantic versioning ` + is that this implementation doesn't require a minor or patch version. + + Version strings may also be prefixed with "v", e.g.: + + >>> v = Version('v1.1.1') + >>> v.tuple + (1, 1, 1, '') + + >>> v = Version('2.0') + >>> v.tuple + (2, 0, 0, '') + + >>> Version('3.1-beta').tuple + (3, 1, 0, 'beta') + + >>> Version('1.0.1') > Version('0.0.1') + True + """ + + #: Match version and pre-release/build information in version strings + match_version = re.compile(r"([0-9][0-9\.]*)(.+)?").match + + def __init__(self, vstr): + """Create new `Version` object. + + Args: + vstr (basestring): Semantic version string. + """ + if not vstr: + raise ValueError("invalid version number: {!r}".format(vstr)) + + self.vstr = vstr + self.major = 0 + self.minor = 0 + self.patch = 0 + self.suffix = "" + self.build = "" + self._parse(vstr) + + def _parse(self, vstr): + vstr = str(vstr) + if vstr.startswith("v"): + m = self.match_version(vstr[1:]) + else: + m = self.match_version(vstr) + if not m: + raise ValueError("invalid version number: " + vstr) + + version, suffix = m.groups() + parts = self._parse_dotted_string(version) + self.major = parts.pop(0) + if len(parts): + self.minor = parts.pop(0) + if len(parts): + self.patch = parts.pop(0) + if not len(parts) == 0: + raise ValueError("version number too long: " + vstr) + + if suffix: + # Build info + idx = suffix.find("+") + if idx > -1: + self.build = suffix[idx + 1 :] + suffix = suffix[:idx] + if suffix: + if not suffix.startswith("-"): + raise ValueError("suffix must start with - : " + suffix) + self.suffix = suffix[1:] + + def _parse_dotted_string(self, s): + """Parse string ``s`` into list of ints and strings.""" + parsed = [] + parts = s.split(".") + for p in parts: + if p.isdigit(): + p = int(p) + parsed.append(p) + return parsed + + @property + def tuple(self): + """Version number as a tuple of major, minor, patch, pre-release.""" + return (self.major, self.minor, self.patch, self.suffix) + + def __lt__(self, other): + """Implement comparison.""" + if not isinstance(other, Version): + raise ValueError("not a Version instance: {0!r}".format(other)) + t = self.tuple[:3] + o = other.tuple[:3] + if t < o: + return True + if t == o: # We need to compare suffixes + if self.suffix and not other.suffix: + return True + if other.suffix and not self.suffix: + return False + + self_suffix = self._parse_dotted_string(self.suffix) + other_suffix = self._parse_dotted_string(other.suffix) + + for s, o in zip_longest(self_suffix, other_suffix): + if s is None: # shorter value wins + return True + elif o is None: # longer value loses + return False + elif type(s) != type(o): # type coersion + s, o = str(s), str(o) + if s == o: # next if the same compare + continue + return s < o # finally compare + # t > o + return False + + def __eq__(self, other): + """Implement comparison.""" + if not isinstance(other, Version): + raise ValueError("not a Version instance: {0!r}".format(other)) + return self.tuple == other.tuple + + def __ne__(self, other): + """Implement comparison.""" + return not self.__eq__(other) + + def __gt__(self, other): + """Implement comparison.""" + if not isinstance(other, Version): + raise ValueError("not a Version instance: {0!r}".format(other)) + return other.__lt__(self) + + def __le__(self, other): + """Implement comparison.""" + if not isinstance(other, Version): + raise ValueError("not a Version instance: {0!r}".format(other)) + return not other.__lt__(self) + + def __ge__(self, other): + """Implement comparison.""" + return not self.__lt__(other) + + def __str__(self): + """Return semantic version string.""" + vstr = "{0}.{1}.{2}".format(self.major, self.minor, self.patch) + if self.suffix: + vstr = "{0}-{1}".format(vstr, self.suffix) + if self.build: + vstr = "{0}+{1}".format(vstr, self.build) + return vstr + + def __repr__(self): + """Return 'code' representation of `Version`.""" + return "Version('{0}')".format(str(self)) + + +def retrieve_download(dl): + """Saves a download to a temporary file and returns path. + + .. versionadded: 1.37 + + Args: + url (unicode): URL to .alfredworkflow file in GitHub repo + + Returns: + unicode: path to downloaded file + + """ + if not match_workflow(dl.filename): + raise ValueError("attachment not a workflow: " + dl.filename) + + path = os.path.join(tempfile.gettempdir(), dl.filename) + wf().logger.debug("downloading update from " "%r to %r ...", dl.url, path) + + r = request.urlopen(dl.url) + + with atomic_writer(path, "wb") as file_obj: + file_obj.write(r.read()) + + return path + + +def build_api_url(repo): + """Generate releases URL from GitHub repo. + + Args: + repo (unicode): Repo name in form ``username/repo`` + + Returns: + unicode: URL to the API endpoint for the repo's releases + + """ + if len(repo.split("/")) != 2: + raise ValueError("invalid GitHub repo: {!r}".format(repo)) + + return RELEASES_BASE.format(repo) + + +def get_downloads(repo): + """Load available ``Download``s for GitHub repo. + + .. versionadded: 1.37 + + Args: + repo (unicode): GitHub repo to load releases for. + + Returns: + list: Sequence of `Download` contained in GitHub releases. + """ + url = build_api_url(repo) + + def _fetch(): + wf().logger.info("retrieving releases for %r ...", repo) + r = request.urlopen(url) + return r.read() + + key = "github-releases-" + repo.replace("/", "-") + js = wf().cached_data(key, _fetch, max_age=60) + + return Download.from_releases(js) + + +def latest_download(dls, alfred_version=None, prereleases=False): + """Return newest `Download`.""" + alfred_version = alfred_version or os.getenv("alfred_version") + version = None + if alfred_version: + version = Version(alfred_version) + + dls.sort(reverse=True) + for dl in dls: + if dl.prerelease and not prereleases: + wf().logger.debug("ignored prerelease: %s", dl.version) + continue + if version and dl.alfred_version > version: + wf().logger.debug( + "ignored incompatible (%s > %s): %s", + dl.alfred_version, + version, + dl.filename, + ) + continue + + wf().logger.debug("latest version: %s (%s)", dl.version, dl.filename) + return dl + + return None + + +def check_update(repo, current_version, prereleases=False, alfred_version=None): + """Check whether a newer release is available on GitHub. + + Args: + repo (unicode): ``username/repo`` for workflow's GitHub repo + current_version (unicode): the currently installed version of the + workflow. :ref:`Semantic versioning ` is required. + prereleases (bool): Whether to include pre-releases. + alfred_version (unicode): version of currently-running Alfred. + if empty, defaults to ``$alfred_version`` environment variable. + + Returns: + bool: ``True`` if an update is available, else ``False`` + + If an update is available, its version number and download URL will + be cached. + + """ + key = "__workflow_latest_version" + # data stored when no update is available + no_update = {"available": False, "download": None, "version": None} + current = Version(current_version) + + dls = get_downloads(repo) + if not len(dls): + wf().logger.warning("no valid downloads for %s", repo) + wf().cache_data(key, no_update) + return False + + wf().logger.info("%d download(s) for %s", len(dls), repo) + + dl = latest_download(dls, alfred_version, prereleases) + + if not dl: + wf().logger.warning("no compatible downloads for %s", repo) + wf().cache_data(key, no_update) + return False + + wf().logger.debug("latest=%r, installed=%r", dl.version, current) + + if dl.version > current: + wf().cache_data( + key, {"version": str(dl.version), "download": dl.dict, "available": True} + ) + return True + + wf().cache_data(key, no_update) + return False + + +def install_update(): + """If a newer release is available, download and install it. + + :returns: ``True`` if an update is installed, else ``False`` + + """ + key = "__workflow_latest_version" + # data stored when no update is available + no_update = {"available": False, "download": None, "version": None} + status = wf().cached_data(key, max_age=0) + + if not status or not status.get("available"): + wf().logger.info("no update available") + return False + + dl = status.get("download") + if not dl: + wf().logger.info("no download information") + return False + + path = retrieve_download(Download.from_dict(dl)) + + wf().logger.info("installing updated workflow ...") + subprocess.call(["open", path]) # nosec + + wf().cache_data(key, no_update) + return True + + +if __name__ == "__main__": # pragma: nocover + import sys + + prereleases = False + + def show_help(status=0): + """Print help message.""" + print("usage: update.py (check|install) " "[--prereleases] ") + sys.exit(status) + + argv = sys.argv[:] + if "-h" in argv or "--help" in argv: + show_help() + + if "--prereleases" in argv: + argv.remove("--prereleases") + prereleases = True + + if len(argv) != 4: + show_help(1) + + action = argv[1] + repo = argv[2] + version = argv[3] + + try: + + if action == "check": + check_update(repo, version, prereleases) + elif action == "install": + install_update() + else: + show_help(1) + + except Exception as err: # ensure traceback is in log file + wf().logger.exception(err) + raise err diff --git a/src/workflow/util.py b/src/workflow/util.py new file mode 100644 index 0000000..998456b --- /dev/null +++ b/src/workflow/util.py @@ -0,0 +1,647 @@ +#!/usr/bin/env python +# encoding: utf-8 +# +# Copyright (c) 2017 Dean Jackson +# +# MIT Licence. See http://opensource.org/licenses/MIT +# +# Created on 2017-12-17 +# + +"""A selection of helper functions useful for building workflows.""" + + +import atexit +import errno +import fcntl +import functools +import json +import os +import signal +import subprocess +import sys +import time +from collections import namedtuple +from contextlib import contextmanager +from threading import Event + +# JXA scripts to call Alfred's API via the Scripting Bridge +# {app} is automatically replaced with "Alfred 3" or +# "com.runningwithcrayons.Alfred" depending on version. +# +# Open Alfred in search (regular) mode +JXA_SEARCH = "Application({app}).search({arg});" +# Open Alfred's File Actions on an argument +JXA_ACTION = "Application({app}).action({arg});" +# Open Alfred's navigation mode at path +JXA_BROWSE = "Application({app}).browse({arg});" +# Set the specified theme +JXA_SET_THEME = "Application({app}).setTheme({arg});" +# Call an External Trigger +JXA_TRIGGER = "Application({app}).runTrigger({arg}, {opts});" +# Save a variable to the workflow configuration sheet/info.plist +JXA_SET_CONFIG = "Application({app}).setConfiguration({arg}, {opts});" +# Delete a variable from the workflow configuration sheet/info.plist +JXA_UNSET_CONFIG = "Application({app}).removeConfiguration({arg}, {opts});" +# Tell Alfred to reload a workflow from disk +JXA_RELOAD_WORKFLOW = "Application({app}).reloadWorkflow({arg});" + + +class AcquisitionError(Exception): + """Raised if a lock cannot be acquired.""" + + +AppInfo = namedtuple("AppInfo", ["name", "path", "bundleid"]) +"""Information about an installed application. + +Returned by :func:`appinfo`. All attributes are Unicode. + +.. py:attribute:: name + + Name of the application, e.g. ``u'Safari'``. + +.. py:attribute:: path + + Path to the application bundle, e.g. ``u'/Applications/Safari.app'``. + +.. py:attribute:: bundleid + + Application's bundle ID, e.g. ``u'com.apple.Safari'``. + +""" + + +def jxa_app_name(): + """Return name of application to call currently running Alfred. + + .. versionadded: 1.37 + + Returns 'Alfred 3' or 'com.runningwithcrayons.Alfred' depending + on which version of Alfred is running. + + This name is suitable for use with ``Application(name)`` in JXA. + + Returns: + unicode: Application name or ID. + + """ + if os.getenv("alfred_version", "").startswith("3"): + # Alfred 3 + return "Alfred 3" + # Alfred 4+ + return "com.runningwithcrayons.Alfred" + + +def unicodify(s, encoding="utf-8", norm=None): + """Ensure string is Unicode. + + .. versionadded:: 1.31 + + Decode encoded strings using ``encoding`` and normalise Unicode + to form ``norm`` if specified. + + Args: + s (str): String to decode. May also be Unicode. + encoding (str, optional): Encoding to use on bytestrings. + norm (None, optional): Normalisation form to apply to Unicode string. + + Returns: + unicode: Decoded, optionally normalised, Unicode string. + + """ + if not isinstance(s, str): + s = str(s, encoding) + + if norm: + from unicodedata import normalize + + s = normalize(norm, s) + + return s + + +def utf8ify(s): + """Ensure string is a bytestring. + + .. versionadded:: 1.31 + + Returns `str` objects unchanced, encodes `unicode` objects to + UTF-8, and calls :func:`str` on anything else. + + Args: + s (object): A Python object + + Returns: + str: UTF-8 string or string representation of s. + + """ + if isinstance(s, str): + return s + + if isinstance(s, str): + return s.encode("utf-8") + + return str(s) + + +def applescriptify(s): + """Escape string for insertion into an AppleScript string. + + .. versionadded:: 1.31 + + Replaces ``"`` with `"& quote &"`. Use this function if you want + to insert a string into an AppleScript script: + + >>> applescriptify('g "python" test') + 'g " & quote & "python" & quote & "test' + + Args: + s (unicode): Unicode string to escape. + + Returns: + unicode: Escaped string. + + """ + return s.replace('"', '" & quote & "') + + +def run_command(cmd, **kwargs): + """Run a command and return the output. + + .. versionadded:: 1.31 + + A thin wrapper around :func:`subprocess.check_output` that ensures + all arguments are encoded to UTF-8 first. + + Args: + cmd (list): Command arguments to pass to :func:`~subprocess.check_output`. + **kwargs: Keyword arguments to pass to :func:`~subprocess.check_output`. + + Returns: + str: Output returned by :func:`~subprocess.check_output`. + + """ + cmd = [str(s) for s in cmd] + return subprocess.check_output(cmd, **kwargs).decode() + + +def run_applescript(script, *args, **kwargs): + """Execute an AppleScript script and return its output. + + .. versionadded:: 1.31 + + Run AppleScript either by filepath or code. If ``script`` is a valid + filepath, that script will be run, otherwise ``script`` is treated + as code. + + Args: + script (str, optional): Filepath of script or code to run. + *args: Optional command-line arguments to pass to the script. + **kwargs: Pass ``lang`` to run a language other than AppleScript. + Any other keyword arguments are passed to :func:`run_command`. + + Returns: + str: Output of run command. + + """ + lang = "AppleScript" + if "lang" in kwargs: + lang = kwargs["lang"] + del kwargs["lang"] + + cmd = ["/usr/bin/osascript", "-l", lang] + + if os.path.exists(script): + cmd += [script] + else: + cmd += ["-e", script] + + cmd.extend(args) + + return run_command(cmd, **kwargs) + + +def run_jxa(script, *args): + """Execute a JXA script and return its output. + + .. versionadded:: 1.31 + + Wrapper around :func:`run_applescript` that passes ``lang=JavaScript``. + + Args: + script (str): Filepath of script or code to run. + *args: Optional command-line arguments to pass to script. + + Returns: + str: Output of script. + + """ + return run_applescript(script, *args, lang="JavaScript") + + +def run_trigger(name, bundleid=None, arg=None): + """Call an Alfred External Trigger. + + .. versionadded:: 1.31 + + If ``bundleid`` is not specified, the bundle ID of the calling + workflow is used. + + Args: + name (str): Name of External Trigger to call. + bundleid (str, optional): Bundle ID of workflow trigger belongs to. + arg (str, optional): Argument to pass to trigger. + + """ + bundleid = bundleid or os.getenv("alfred_workflow_bundleid") + appname = jxa_app_name() + opts = {"inWorkflow": bundleid} + if arg: + opts["withArgument"] = arg + + script = JXA_TRIGGER.format( + app=json.dumps(appname), + arg=json.dumps(name), + opts=json.dumps(opts, sort_keys=True), + ) + + run_applescript(script, lang="JavaScript") + + +def set_theme(theme_name): + """Change Alfred's theme. + + .. versionadded:: 1.39.0 + + Args: + theme_name (unicode): Name of theme Alfred should use. + + """ + appname = jxa_app_name() + script = JXA_SET_THEME.format(app=json.dumps(appname), arg=json.dumps(theme_name)) + run_applescript(script, lang="JavaScript") + + +def set_config(name, value, bundleid=None, exportable=False): + """Set a workflow variable in ``info.plist``. + + .. versionadded:: 1.33 + + If ``bundleid`` is not specified, the bundle ID of the calling + workflow is used. + + Args: + name (str): Name of variable to set. + value (str): Value to set variable to. + bundleid (str, optional): Bundle ID of workflow variable belongs to. + exportable (bool, optional): Whether variable should be marked + as exportable (Don't Export checkbox). + + """ + bundleid = bundleid or os.getenv("alfred_workflow_bundleid") + appname = jxa_app_name() + opts = {"toValue": value, "inWorkflow": bundleid, "exportable": exportable} + + script = JXA_SET_CONFIG.format( + app=json.dumps(appname), + arg=json.dumps(name), + opts=json.dumps(opts, sort_keys=True), + ) + + run_applescript(script, lang="JavaScript") + + +def unset_config(name, bundleid=None): + """Delete a workflow variable from ``info.plist``. + + .. versionadded:: 1.33 + + If ``bundleid`` is not specified, the bundle ID of the calling + workflow is used. + + Args: + name (str): Name of variable to delete. + bundleid (str, optional): Bundle ID of workflow variable belongs to. + + """ + bundleid = bundleid or os.getenv("alfred_workflow_bundleid") + appname = jxa_app_name() + opts = {"inWorkflow": bundleid} + + script = JXA_UNSET_CONFIG.format( + app=json.dumps(appname), + arg=json.dumps(name), + opts=json.dumps(opts, sort_keys=True), + ) + + run_applescript(script, lang="JavaScript") + + +def search_in_alfred(query=None): + """Open Alfred with given search query. + + .. versionadded:: 1.39.0 + + Omit ``query`` to simply open Alfred's main window. + + Args: + query (unicode, optional): Search query. + + """ + query = query or "" + appname = jxa_app_name() + script = JXA_SEARCH.format(app=json.dumps(appname), arg=json.dumps(query)) + run_applescript(script, lang="JavaScript") + + +def browse_in_alfred(path): + """Open Alfred's filesystem navigation mode at ``path``. + + .. versionadded:: 1.39.0 + + Args: + path (unicode): File or directory path. + + """ + appname = jxa_app_name() + script = JXA_BROWSE.format(app=json.dumps(appname), arg=json.dumps(path)) + run_applescript(script, lang="JavaScript") + + +def action_in_alfred(paths): + """Action the give filepaths in Alfred. + + .. versionadded:: 1.39.0 + + Args: + paths (list): Unicode paths to files/directories to action. + + """ + appname = jxa_app_name() + script = JXA_ACTION.format(app=json.dumps(appname), arg=json.dumps(paths)) + run_applescript(script, lang="JavaScript") + + +def reload_workflow(bundleid=None): + """Tell Alfred to reload a workflow from disk. + + .. versionadded:: 1.39.0 + + If ``bundleid`` is not specified, the bundle ID of the calling + workflow is used. + + Args: + bundleid (unicode, optional): Bundle ID of workflow to reload. + + """ + bundleid = bundleid or os.getenv("alfred_workflow_bundleid") + appname = jxa_app_name() + script = JXA_RELOAD_WORKFLOW.format( + app=json.dumps(appname), arg=json.dumps(bundleid) + ) + + run_applescript(script, lang="JavaScript") + + +def appinfo(name): + """Get information about an installed application. + + .. versionadded:: 1.31 + + Args: + name (str): Name of application to look up. + + Returns: + AppInfo: :class:`AppInfo` tuple or ``None`` if app isn't found. + + """ + cmd = [ + "mdfind", + "-onlyin", + "/Applications", + "-onlyin", + "/System/Applications", + "-onlyin", + os.path.expanduser("~/Applications"), + "(kMDItemContentTypeTree == com.apple.application &&" + '(kMDItemDisplayName == "{0}" || kMDItemFSName == "{0}.app"))'.format(name), + ] + + output = run_command(cmd).strip() + if not output: + return None + + path = output.split("\n")[0] + + cmd = ["mdls", "-raw", "-name", "kMDItemCFBundleIdentifier", path] + bid = run_command(cmd).strip() + if not bid: # pragma: no cover + return None + + return AppInfo(name, path, bid) + + +@contextmanager +def atomic_writer(fpath, mode): + """Atomic file writer. + + .. versionadded:: 1.12 + + Context manager that ensures the file is only written if the write + succeeds. The data is first written to a temporary file. + + :param fpath: path of file to write to. + :type fpath: ``unicode`` + :param mode: sames as for :func:`open` + :type mode: string + + """ + suffix = ".{}.tmp".format(os.getpid()) + temppath = fpath + suffix + with open(temppath, mode) as fp: + try: + yield fp + os.rename(temppath, fpath) + finally: + try: + os.remove(temppath) + except OSError: + pass + + +class LockFile(object): + """Context manager to protect filepaths with lockfiles. + + .. versionadded:: 1.13 + + Creates a lockfile alongside ``protected_path``. Other ``LockFile`` + instances will refuse to lock the same path. + + >>> path = '/path/to/file' + >>> with LockFile(path): + >>> with open(path, 'w') as fp: + >>> fp.write(data) + + Args: + protected_path (unicode): File to protect with a lockfile + timeout (float, optional): Raises an :class:`AcquisitionError` + if lock cannot be acquired within this number of seconds. + If ``timeout`` is 0 (the default), wait forever. + delay (float, optional): How often to check (in seconds) if + lock has been released. + + Attributes: + delay (float): How often to check (in seconds) whether the lock + can be acquired. + lockfile (unicode): Path of the lockfile. + timeout (float): How long to wait to acquire the lock. + + """ + + def __init__(self, protected_path, timeout=0.0, delay=0.05): + """Create new :class:`LockFile` object.""" + self.lockfile = protected_path + ".lock" + self._lockfile = None + self.timeout = timeout + self.delay = delay + self._lock = Event() + atexit.register(self.release) + + @property + def locked(self): + """``True`` if file is locked by this instance.""" + return self._lock.is_set() + + def acquire(self, blocking=True): + """Acquire the lock if possible. + + If the lock is in use and ``blocking`` is ``False``, return + ``False``. + + Otherwise, check every :attr:`delay` seconds until it acquires + lock or exceeds attr:`timeout` and raises an :class:`AcquisitionError`. + + """ + if self.locked and not blocking: + return False + + start = time.time() + while True: + # Raise error if we've been waiting too long to acquire the lock + if self.timeout and (time.time() - start) >= self.timeout: + raise AcquisitionError("lock acquisition timed out") + + # If already locked, wait then try again + if self.locked: + time.sleep(self.delay) + continue + + # Create in append mode so we don't lose any contents + if self._lockfile is None: + self._lockfile = open(self.lockfile, "a") + + # Try to acquire the lock + try: + fcntl.lockf(self._lockfile, fcntl.LOCK_EX | fcntl.LOCK_NB) + self._lock.set() + break + except IOError as err: # pragma: no cover + if err.errno not in (errno.EACCES, errno.EAGAIN): + raise + + # Don't try again + if not blocking: # pragma: no cover + return False + + # Wait, then try again + time.sleep(self.delay) + + return True + + def release(self): + """Release the lock by deleting `self.lockfile`.""" + if not self._lock.is_set(): + return False + + try: + fcntl.lockf(self._lockfile, fcntl.LOCK_UN) + except IOError: # pragma: no cover + pass + finally: + self._lock.clear() + self._lockfile = None + try: + os.unlink(self.lockfile) + except OSError: # pragma: no cover + pass + + return True # noqa: B012 + + def __enter__(self): + """Acquire lock.""" + self.acquire() + return self + + def __exit__(self, typ, value, traceback): + """Release lock.""" + self.release() + + def __del__(self): + """Clear up `self.lockfile`.""" + self.release() # pragma: no cover + + +class uninterruptible(object): + """Decorator that postpones SIGTERM until wrapped function returns. + + .. versionadded:: 1.12 + + .. important:: This decorator is NOT thread-safe. + + As of version 2.7, Alfred allows Script Filters to be killed. If + your workflow is killed in the middle of critical code (e.g. + writing data to disk), this may corrupt your workflow's data. + + Use this decorator to wrap critical functions that *must* complete. + If the script is killed while a wrapped function is executing, + the SIGTERM will be caught and handled after your function has + finished executing. + + Alfred-Workflow uses this internally to ensure its settings, data + and cache writes complete. + + """ + + def __init__(self, func, class_name=""): + """Decorate `func`.""" + self.func = func + functools.update_wrapper(self, func) + self._caught_signal = None + + def signal_handler(self, signum, frame): + """Called when process receives SIGTERM.""" + self._caught_signal = (signum, frame) + + def __call__(self, *args, **kwargs): + """Trap ``SIGTERM`` and call wrapped function.""" + self._caught_signal = None + # Register handler for SIGTERM, then call `self.func` + self.old_signal_handler = signal.getsignal(signal.SIGTERM) + signal.signal(signal.SIGTERM, self.signal_handler) + + self.func(*args, **kwargs) + + # Restore old signal handler + signal.signal(signal.SIGTERM, self.old_signal_handler) + + # Handle any signal caught during execution + if self._caught_signal is not None: + signum, frame = self._caught_signal + if callable(self.old_signal_handler): + self.old_signal_handler(signum, frame) + elif self.old_signal_handler == signal.SIG_DFL: + sys.exit(0) + + def __get__(self, obj=None, klass=None): + """Decorator API.""" + return self.__class__(self.func.__get__(obj, klass), klass.__name__) diff --git a/src/workflow/version b/src/workflow/version new file mode 100644 index 0000000..ebc91b4 --- /dev/null +++ b/src/workflow/version @@ -0,0 +1 @@ +1.40.0 \ No newline at end of file diff --git a/workflow/web.py b/src/workflow/web.py similarity index 80% rename from workflow/web.py rename to src/workflow/web.py index d64bb6f..921ab8b 100644 --- a/workflow/web.py +++ b/src/workflow/web.py @@ -4,11 +4,13 @@ # # MIT Licence. See http://opensource.org/licenses/MIT # -# Created on 2014-02-15 +# modified on 2022-02-04 by Kyeongwon Lee # """Lightweight HTTP library with a requests-like interface.""" +from __future__ import absolute_import, print_function + import codecs import json import mimetypes @@ -19,12 +21,14 @@ import string import unicodedata import urllib -import urllib2 -import urlparse +import urllib.parse as urlparse +import urllib.request as request3 import zlib +__version__ = open(os.path.join(os.path.dirname(__file__), 'version')).read() -USER_AGENT = u'Alfred-Workflow/1.19 (+http://www.deanishe.net/alfred-workflow)' +USER_AGENT = (u'Alfred-Workflow/' + __version__ + + ' (+http://www.deanishe.net/alfred-workflow)') # Valid characters for multipart form data boundaries BOUNDARY_CHARS = string.digits + string.ascii_letters @@ -88,18 +92,18 @@ def str_dict(dic): else: dic2 = {} for k, v in dic.items(): - if isinstance(k, unicode): + if isinstance(k, str): k = k.encode('utf-8') - if isinstance(v, unicode): + if isinstance(v, str): v = v.encode('utf-8') dic2[k] = v return dic2 - -class NoRedirectHandler(urllib2.HTTPRedirectHandler): +class NoRedirectHandler(request3.HTTPRedirectHandler): """Prevent redirections.""" def redirect_request(self, *args): + """Ignore redirect.""" return None @@ -119,7 +123,7 @@ class CaseInsensitiveDictionary(dict): def __init__(self, initval=None): """Create new case-insensitive dictionary.""" if isinstance(initval, dict): - for key, value in initval.iteritems(): + for key, value in initval.items(): self.__setitem__(key, value) elif isinstance(initval, list): @@ -136,6 +140,7 @@ def __setitem__(self, key, value): return dict.__setitem__(self, key.lower(), {'key': key, 'val': value}) def get(self, key, default=None): + """Return value for case-insensitive key or default.""" try: v = dict.__getitem__(self, key.lower()) except KeyError: @@ -144,31 +149,50 @@ def get(self, key, default=None): return v['val'] def update(self, other): + """Update values from other ``dict``.""" for k, v in other.items(): self[k] = v def items(self): - return [(v['key'], v['val']) for v in dict.itervalues(self)] + """Return ``(key, value)`` pairs.""" + return [(v['key'], v['val']) for v in iter(dict(self).values())] def keys(self): - return [v['key'] for v in dict.itervalues(self)] + """Return original keys.""" + return [v['key'] for v in iter(dict(self).values())] def values(self): - return [v['val'] for v in dict.itervalues(self)] + """Return all values.""" + return [v['val'] for v in iter(dict(self).values())] def iteritems(self): - for v in dict.itervalues(self): + """Iterate over ``(key, value)`` pairs.""" + for v in iter(dict(self).values()): yield v['key'], v['val'] def iterkeys(self): - for v in dict.itervalues(self): + """Iterate over original keys.""" + for v in iter(dict(self).values()): yield v['key'] def itervalues(self): - for v in dict.itervalues(self): + """Interate over values.""" + for v in iter(dict(self).values()): yield v['val'] +class Request(request3.Request): + """Subclass of :class:`request3.Request` that supports custom methods.""" + + def __init__(self, *args, **kwargs): + """Create a new :class:`Request`.""" + self._method = kwargs.pop('method', None) + request3.Request.__init__(self, *args, **kwargs) + + def get_method(self): + return self._method.upper() + + class Response(object): """ Returned by :func:`request` / :func:`get` / :func:`post` functions. @@ -191,7 +215,7 @@ class Response(object): def __init__(self, request, stream=False): """Call `request` with :mod:`urllib2` and process results. - :param request: :class:`urllib2.Request` instance + :param request: :class:`Request` instance :param stream: Whether to stream response or retrieve it all at once :type stream: bool @@ -211,8 +235,8 @@ def __init__(self, request, stream=False): # Execute query try: - self.raw = urllib2.urlopen(request) - except urllib2.HTTPError as err: + self.raw = request3.urlopen(request) + except request3.HTTPError as err: self.error = err try: self.url = err.geturl() @@ -231,8 +255,8 @@ def __init__(self, request, stream=False): # Parse additional info if request succeeded if not self.error: headers = self.raw.info() - self.transfer_encoding = headers.getencoding() - self.mimetype = headers.gettype() + self.transfer_encoding = headers.get_content_charset() + self.mimetype = headers.get("content-type") for key in headers.keys(): self.headers[key.lower()] = headers.get(key) @@ -240,8 +264,8 @@ def __init__(self, request, stream=False): # Transfer-Encoding appears to not be used in the wild # (contrary to the HTTP standard), but no harm in testing # for it - if ('gzip' in headers.get('content-encoding', '') or - 'gzip' in headers.get('transfer-encoding', '')): + if 'gzip' in headers.get('content-encoding', '') or \ + 'gzip' in headers.get('transfer-encoding', ''): self._gzipped = True @property @@ -250,6 +274,7 @@ def stream(self): Returns: bool: `True` if response is streamed. + """ return self._stream @@ -268,7 +293,7 @@ def json(self): :rtype: list, dict or unicode """ - return json.loads(self.content, self.encoding or 'utf-8') + return json.loads(self.content) @property def encoding(self): @@ -317,8 +342,7 @@ def text(self): """ if self.encoding: - return unicodedata.normalize('NFC', unicode(self.content, - self.encoding)) + return unicodedata.normalize('NFC', str(self.content)) return self.content def iter_content(self, chunk_size=4096, decode_unicode=False): @@ -343,20 +367,18 @@ def iter_content(self, chunk_size=4096, decode_unicode=False): "`content` has already been read from this Response.") def decode_stream(iterator, r): - - decoder = codecs.getincrementaldecoder(r.encoding)(errors='replace') + dec = codecs.getincrementaldecoder(r.encoding)(errors='replace') for chunk in iterator: - data = decoder.decode(chunk) + data = dec.decode(chunk) if data: yield data - data = decoder.decode(b'', final=True) + data = dec.decode(b'', final=True) if data: # pragma: no cover yield data def generate(): - if self._gzipped: decoder = zlib.decompressobj(16 + zlib.MAX_WBITS) @@ -399,7 +421,7 @@ def save_to_path(self, filepath): def raise_for_status(self): """Raise stored error if one occurred. - error will be instance of :class:`urllib2.HTTPError` + error will be instance of :class:`request3.HTTPError` """ if self.error is not None: raise self.error @@ -415,27 +437,21 @@ def _get_encoding(self): headers = self.raw.info() encoding = None - if headers.getparam('charset'): - encoding = headers.getparam('charset') - - # HTTP Content-Type header - for param in headers.getplist(): - if param.startswith('charset='): - encoding = param[8:] - break + if headers.get_param('charset'): + encoding = headers.get_param('charset') if not self.stream: # Try sniffing response content # Encoding declared in document should override HTTP headers if self.mimetype == 'text/html': # sniff HTML headers - m = re.search("""""", + m = re.search(r"""""", self.content) if m: encoding = m.group(1) - elif ((self.mimetype.startswith('application/') or - self.mimetype.startswith('text/')) and - 'xml' in self.mimetype): - m = re.search("""]*\?>""", + elif ((self.mimetype.startswith('application/') + or self.mimetype.startswith('text/')) + and 'xml' in self.mimetype): + m = re.search(r"""]*\?>""", self.content) if m: encoding = m.group(1) @@ -504,21 +520,21 @@ def request(method, url, params=None, data=None, headers=None, cookies=None, socket.setdefaulttimeout(timeout) # Default handlers - openers = [] + openers = [request3.ProxyHandler(request3.getproxies())] if not allow_redirects: openers.append(NoRedirectHandler()) if auth is not None: # Add authorisation handler username, password = auth - password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm() + password_manager = request3.HTTPPasswordMgrWithDefaultRealm() password_manager.add_password(None, url, username, password) - auth_manager = urllib2.HTTPBasicAuthHandler(password_manager) + auth_manager = request3.HTTPBasicAuthHandler(password_manager) openers.append(auth_manager) # Install our custom chain of openers - opener = urllib2.build_opener(*openers) - urllib2.install_opener(opener) + opener = request3.build_opener(*openers) + request3.install_opener(opener) if not headers: headers = CaseInsensitiveDictionary() @@ -536,23 +552,19 @@ def request(method, url, params=None, data=None, headers=None, cookies=None, headers['accept-encoding'] = ', '.join(encodings) - # Force POST by providing an empty data string - if method == 'POST' and not data: - data = '' - if files: if not data: data = {} new_headers, data = encode_multipart_formdata(data, files) headers.update(new_headers) elif data and isinstance(data, dict): - data = urllib.urlencode(str_dict(data)) + data = urlparse.urlencode(str_dict(data)) # Make sure everything is encoded text headers = str_dict(headers) - if isinstance(url, unicode): - url = url.encode('utf-8') + # if isinstance(url, str): + # url = url.encode('utf-8') if params: # GET args (POST args are handled in encode_multipart_formdata) @@ -564,10 +576,10 @@ def request(method, url, params=None, data=None, headers=None, cookies=None, url_params.update(params) params = url_params - query = urllib.urlencode(str_dict(params), doseq=True) + query = urlparse.urlencode(str_dict(params), doseq=True) url = urlparse.urlunsplit((scheme, netloc, path, query, fragment)) - req = urllib2.Request(url, data, headers) + req = Request(url, data, headers, method=method) return Response(req, stream) @@ -583,6 +595,18 @@ def get(url, params=None, headers=None, cookies=None, auth=None, stream=stream) +def delete(url, params=None, data=None, headers=None, cookies=None, auth=None, + timeout=60, allow_redirects=True, stream=False): + """Initiate a DELETE request. Arguments as for :func:`request`. + + :returns: :class:`Response` instance + + """ + return request('DELETE', url, params, data, headers=headers, + cookies=cookies, auth=auth, timeout=timeout, + allow_redirects=allow_redirects, stream=stream) + + def post(url, params=None, data=None, headers=None, cookies=None, files=None, auth=None, timeout=60, allow_redirects=False, stream=False): """Initiate a POST request. Arguments as for :func:`request`. @@ -594,6 +618,17 @@ def post(url, params=None, data=None, headers=None, cookies=None, files=None, timeout, allow_redirects, stream) +def put(url, params=None, data=None, headers=None, cookies=None, files=None, + auth=None, timeout=60, allow_redirects=False, stream=False): + """Initiate a PUT request. Arguments as for :func:`request`. + + :returns: :class:`Response` instance + + """ + return request('PUT', url, params, data, headers, cookies, files, auth, + timeout, allow_redirects, stream) + + def encode_multipart_formdata(fields, files): """Encode form data (``fields``) and ``files`` for POST request. @@ -628,7 +663,6 @@ def get_content_type(filename): :rtype: str """ - return mimetypes.guess_type(filename)[0] or 'application/octet-stream' boundary = '-----' + ''.join(random.choice(BOUNDARY_CHARS) @@ -638,9 +672,9 @@ def get_content_type(filename): # Normal form fields for (name, value) in fields.items(): - if isinstance(name, unicode): + if isinstance(name, str): name = name.encode('utf-8') - if isinstance(value, unicode): + if isinstance(value, str): value = value.encode('utf-8') output.append('--' + boundary) output.append('Content-Disposition: form-data; name="%s"' % name) @@ -655,11 +689,11 @@ def get_content_type(filename): mimetype = d[u'mimetype'] else: mimetype = get_content_type(filename) - if isinstance(name, unicode): + if isinstance(name, str): name = name.encode('utf-8') - if isinstance(filename, unicode): + if isinstance(filename, str): filename = filename.encode('utf-8') - if isinstance(mimetype, unicode): + if isinstance(mimetype, str): mimetype = mimetype.encode('utf-8') output.append('--' + boundary) output.append('Content-Disposition: form-data; ' diff --git a/workflow/workflow.py b/src/workflow/workflow.py similarity index 68% rename from workflow/workflow.py rename to src/workflow/workflow.py index 488ae3c..c33bdf8 100644 --- a/workflow/workflow.py +++ b/src/workflow/workflow.py @@ -19,14 +19,8 @@ """ -from __future__ import print_function, unicode_literals -import atexit import binascii -from contextlib import contextmanager -import cPickle -from copy import deepcopy -import errno import json import logging import logging.handlers @@ -35,18 +29,25 @@ import plistlib import re import shutil -import signal import string import subprocess import sys import time import unicodedata +from contextlib import contextmanager +from copy import deepcopy +from typing import Optional try: import xml.etree.cElementTree as ET except ImportError: # pragma: no cover import xml.etree.ElementTree as ET +# imported to maintain API +from workflow.util import AcquisitionError # noqa: F401 +from workflow.util import LockFile, atomic_writer, uninterruptible + +assert sys.version_info[0] == 3 #: Sentinel for properties that haven't been set yet (that might #: correctly have the value ``None``) @@ -65,32 +66,32 @@ # The system icons are all in this directory. There are many more than # are listed here -ICON_ROOT = '/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources' +ICON_ROOT = "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources" -ICON_ACCOUNT = os.path.join(ICON_ROOT, 'Accounts.icns') -ICON_BURN = os.path.join(ICON_ROOT, 'BurningIcon.icns') -ICON_CLOCK = os.path.join(ICON_ROOT, 'Clock.icns') -ICON_COLOR = os.path.join(ICON_ROOT, 'ProfileBackgroundColor.icns') +ICON_ACCOUNT = os.path.join(ICON_ROOT, "Accounts.icns") +ICON_BURN = os.path.join(ICON_ROOT, "BurningIcon.icns") +ICON_CLOCK = os.path.join(ICON_ROOT, "Clock.icns") +ICON_COLOR = os.path.join(ICON_ROOT, "ProfileBackgroundColor.icns") ICON_COLOUR = ICON_COLOR # Queen's English, if you please -ICON_EJECT = os.path.join(ICON_ROOT, 'EjectMediaIcon.icns') +ICON_EJECT = os.path.join(ICON_ROOT, "EjectMediaIcon.icns") # Shown when a workflow throws an error -ICON_ERROR = os.path.join(ICON_ROOT, 'AlertStopIcon.icns') -ICON_FAVORITE = os.path.join(ICON_ROOT, 'ToolbarFavoritesIcon.icns') +ICON_ERROR = os.path.join(ICON_ROOT, "AlertStopIcon.icns") +ICON_FAVORITE = os.path.join(ICON_ROOT, "ToolbarFavoritesIcon.icns") ICON_FAVOURITE = ICON_FAVORITE -ICON_GROUP = os.path.join(ICON_ROOT, 'GroupIcon.icns') -ICON_HELP = os.path.join(ICON_ROOT, 'HelpIcon.icns') -ICON_HOME = os.path.join(ICON_ROOT, 'HomeFolderIcon.icns') -ICON_INFO = os.path.join(ICON_ROOT, 'ToolbarInfo.icns') -ICON_NETWORK = os.path.join(ICON_ROOT, 'GenericNetworkIcon.icns') -ICON_NOTE = os.path.join(ICON_ROOT, 'AlertNoteIcon.icns') -ICON_SETTINGS = os.path.join(ICON_ROOT, 'ToolbarAdvanced.icns') -ICON_SWIRL = os.path.join(ICON_ROOT, 'ErasingIcon.icns') -ICON_SWITCH = os.path.join(ICON_ROOT, 'General.icns') -ICON_SYNC = os.path.join(ICON_ROOT, 'Sync.icns') -ICON_TRASH = os.path.join(ICON_ROOT, 'TrashIcon.icns') -ICON_USER = os.path.join(ICON_ROOT, 'UserIcon.icns') -ICON_WARNING = os.path.join(ICON_ROOT, 'AlertCautionIcon.icns') -ICON_WEB = os.path.join(ICON_ROOT, 'BookmarkIcon.icns') +ICON_GROUP = os.path.join(ICON_ROOT, "GroupIcon.icns") +ICON_HELP = os.path.join(ICON_ROOT, "HelpIcon.icns") +ICON_HOME = os.path.join(ICON_ROOT, "HomeFolderIcon.icns") +ICON_INFO = os.path.join(ICON_ROOT, "ToolbarInfo.icns") +ICON_NETWORK = os.path.join(ICON_ROOT, "GenericNetworkIcon.icns") +ICON_NOTE = os.path.join(ICON_ROOT, "AlertNoteIcon.icns") +ICON_SETTINGS = os.path.join(ICON_ROOT, "ToolbarAdvanced.icns") +ICON_SWIRL = os.path.join(ICON_ROOT, "ErasingIcon.icns") +ICON_SWITCH = os.path.join(ICON_ROOT, "General.icns") +ICON_SYNC = os.path.join(ICON_ROOT, "Sync.icns") +ICON_TRASH = os.path.join(ICON_ROOT, "TrashIcon.icns") +ICON_USER = os.path.join(ICON_ROOT, "UserIcon.icns") +ICON_WARNING = os.path.join(ICON_ROOT, "AlertCautionIcon.icns") +ICON_WEB = os.path.join(ICON_ROOT, "BookmarkIcon.icns") #################################################################### # non-ASCII to ASCII diacritic folding. @@ -98,241 +99,241 @@ #################################################################### ASCII_REPLACEMENTS = { - 'À': 'A', - 'Á': 'A', - 'Â': 'A', - 'Ã': 'A', - 'Ä': 'A', - 'Å': 'A', - 'Æ': 'AE', - 'Ç': 'C', - 'È': 'E', - 'É': 'E', - 'Ê': 'E', - 'Ë': 'E', - 'Ì': 'I', - 'Í': 'I', - 'Î': 'I', - 'Ï': 'I', - 'Ð': 'D', - 'Ñ': 'N', - 'Ò': 'O', - 'Ó': 'O', - 'Ô': 'O', - 'Õ': 'O', - 'Ö': 'O', - 'Ø': 'O', - 'Ù': 'U', - 'Ú': 'U', - 'Û': 'U', - 'Ü': 'U', - 'Ý': 'Y', - 'Þ': 'Th', - 'ß': 'ss', - 'à': 'a', - 'á': 'a', - 'â': 'a', - 'ã': 'a', - 'ä': 'a', - 'å': 'a', - 'æ': 'ae', - 'ç': 'c', - 'è': 'e', - 'é': 'e', - 'ê': 'e', - 'ë': 'e', - 'ì': 'i', - 'í': 'i', - 'î': 'i', - 'ï': 'i', - 'ð': 'd', - 'ñ': 'n', - 'ò': 'o', - 'ó': 'o', - 'ô': 'o', - 'õ': 'o', - 'ö': 'o', - 'ø': 'o', - 'ù': 'u', - 'ú': 'u', - 'û': 'u', - 'ü': 'u', - 'ý': 'y', - 'þ': 'th', - 'ÿ': 'y', - 'Ł': 'L', - 'ł': 'l', - 'Ń': 'N', - 'ń': 'n', - 'Ņ': 'N', - 'ņ': 'n', - 'Ň': 'N', - 'ň': 'n', - 'Ŋ': 'ng', - 'ŋ': 'NG', - 'Ō': 'O', - 'ō': 'o', - 'Ŏ': 'O', - 'ŏ': 'o', - 'Ő': 'O', - 'ő': 'o', - 'Œ': 'OE', - 'œ': 'oe', - 'Ŕ': 'R', - 'ŕ': 'r', - 'Ŗ': 'R', - 'ŗ': 'r', - 'Ř': 'R', - 'ř': 'r', - 'Ś': 'S', - 'ś': 's', - 'Ŝ': 'S', - 'ŝ': 's', - 'Ş': 'S', - 'ş': 's', - 'Š': 'S', - 'š': 's', - 'Ţ': 'T', - 'ţ': 't', - 'Ť': 'T', - 'ť': 't', - 'Ŧ': 'T', - 'ŧ': 't', - 'Ũ': 'U', - 'ũ': 'u', - 'Ū': 'U', - 'ū': 'u', - 'Ŭ': 'U', - 'ŭ': 'u', - 'Ů': 'U', - 'ů': 'u', - 'Ű': 'U', - 'ű': 'u', - 'Ŵ': 'W', - 'ŵ': 'w', - 'Ŷ': 'Y', - 'ŷ': 'y', - 'Ÿ': 'Y', - 'Ź': 'Z', - 'ź': 'z', - 'Ż': 'Z', - 'ż': 'z', - 'Ž': 'Z', - 'ž': 'z', - 'ſ': 's', - 'Α': 'A', - 'Β': 'B', - 'Γ': 'G', - 'Δ': 'D', - 'Ε': 'E', - 'Ζ': 'Z', - 'Η': 'E', - 'Θ': 'Th', - 'Ι': 'I', - 'Κ': 'K', - 'Λ': 'L', - 'Μ': 'M', - 'Ν': 'N', - 'Ξ': 'Ks', - 'Ο': 'O', - 'Π': 'P', - 'Ρ': 'R', - 'Σ': 'S', - 'Τ': 'T', - 'Υ': 'U', - 'Φ': 'Ph', - 'Χ': 'Kh', - 'Ψ': 'Ps', - 'Ω': 'O', - 'α': 'a', - 'β': 'b', - 'γ': 'g', - 'δ': 'd', - 'ε': 'e', - 'ζ': 'z', - 'η': 'e', - 'θ': 'th', - 'ι': 'i', - 'κ': 'k', - 'λ': 'l', - 'μ': 'm', - 'ν': 'n', - 'ξ': 'x', - 'ο': 'o', - 'π': 'p', - 'ρ': 'r', - 'ς': 's', - 'σ': 's', - 'τ': 't', - 'υ': 'u', - 'φ': 'ph', - 'χ': 'kh', - 'ψ': 'ps', - 'ω': 'o', - 'А': 'A', - 'Б': 'B', - 'В': 'V', - 'Г': 'G', - 'Д': 'D', - 'Е': 'E', - 'Ж': 'Zh', - 'З': 'Z', - 'И': 'I', - 'Й': 'I', - 'К': 'K', - 'Л': 'L', - 'М': 'M', - 'Н': 'N', - 'О': 'O', - 'П': 'P', - 'Р': 'R', - 'С': 'S', - 'Т': 'T', - 'У': 'U', - 'Ф': 'F', - 'Х': 'Kh', - 'Ц': 'Ts', - 'Ч': 'Ch', - 'Ш': 'Sh', - 'Щ': 'Shch', - 'Ъ': "'", - 'Ы': 'Y', - 'Ь': "'", - 'Э': 'E', - 'Ю': 'Iu', - 'Я': 'Ia', - 'а': 'a', - 'б': 'b', - 'в': 'v', - 'г': 'g', - 'д': 'd', - 'е': 'e', - 'ж': 'zh', - 'з': 'z', - 'и': 'i', - 'й': 'i', - 'к': 'k', - 'л': 'l', - 'м': 'm', - 'н': 'n', - 'о': 'o', - 'п': 'p', - 'р': 'r', - 'с': 's', - 'т': 't', - 'у': 'u', - 'ф': 'f', - 'х': 'kh', - 'ц': 'ts', - 'ч': 'ch', - 'ш': 'sh', - 'щ': 'shch', - 'ъ': "'", - 'ы': 'y', - 'ь': "'", - 'э': 'e', - 'ю': 'iu', - 'я': 'ia', + "À": "A", + "Á": "A", + "Â": "A", + "Ã": "A", + "Ä": "A", + "Å": "A", + "Æ": "AE", + "Ç": "C", + "È": "E", + "É": "E", + "Ê": "E", + "Ë": "E", + "Ì": "I", + "Í": "I", + "Î": "I", + "Ï": "I", + "Ð": "D", + "Ñ": "N", + "Ò": "O", + "Ó": "O", + "Ô": "O", + "Õ": "O", + "Ö": "O", + "Ø": "O", + "Ù": "U", + "Ú": "U", + "Û": "U", + "Ü": "U", + "Ý": "Y", + "Þ": "Th", + "ß": "ss", + "à": "a", + "á": "a", + "â": "a", + "ã": "a", + "ä": "a", + "å": "a", + "æ": "ae", + "ç": "c", + "è": "e", + "é": "e", + "ê": "e", + "ë": "e", + "ì": "i", + "í": "i", + "î": "i", + "ï": "i", + "ð": "d", + "ñ": "n", + "ò": "o", + "ó": "o", + "ô": "o", + "õ": "o", + "ö": "o", + "ø": "o", + "ù": "u", + "ú": "u", + "û": "u", + "ü": "u", + "ý": "y", + "þ": "th", + "ÿ": "y", + "Ł": "L", + "ł": "l", + "Ń": "N", + "ń": "n", + "Ņ": "N", + "ņ": "n", + "Ň": "N", + "ň": "n", + "Ŋ": "ng", + "ŋ": "NG", + "Ō": "O", + "ō": "o", + "Ŏ": "O", + "ŏ": "o", + "Ő": "O", + "ő": "o", + "Œ": "OE", + "œ": "oe", + "Ŕ": "R", + "ŕ": "r", + "Ŗ": "R", + "ŗ": "r", + "Ř": "R", + "ř": "r", + "Ś": "S", + "ś": "s", + "Ŝ": "S", + "ŝ": "s", + "Ş": "S", + "ş": "s", + "Š": "S", + "š": "s", + "Ţ": "T", + "ţ": "t", + "Ť": "T", + "ť": "t", + "Ŧ": "T", + "ŧ": "t", + "Ũ": "U", + "ũ": "u", + "Ū": "U", + "ū": "u", + "Ŭ": "U", + "ŭ": "u", + "Ů": "U", + "ů": "u", + "Ű": "U", + "ű": "u", + "Ŵ": "W", + "ŵ": "w", + "Ŷ": "Y", + "ŷ": "y", + "Ÿ": "Y", + "Ź": "Z", + "ź": "z", + "Ż": "Z", + "ż": "z", + "Ž": "Z", + "ž": "z", + "ſ": "s", + "Α": "A", + "Β": "B", + "Γ": "G", + "Δ": "D", + "Ε": "E", + "Ζ": "Z", + "Η": "E", + "Θ": "Th", + "Ι": "I", + "Κ": "K", + "Λ": "L", + "Μ": "M", + "Ν": "N", + "Ξ": "Ks", + "Ο": "O", + "Π": "P", + "Ρ": "R", + "Σ": "S", + "Τ": "T", + "Υ": "U", + "Φ": "Ph", + "Χ": "Kh", + "Ψ": "Ps", + "Ω": "O", + "α": "a", + "β": "b", + "γ": "g", + "δ": "d", + "ε": "e", + "ζ": "z", + "η": "e", + "θ": "th", + "ι": "i", + "κ": "k", + "λ": "l", + "μ": "m", + "ν": "n", + "ξ": "x", + "ο": "o", + "π": "p", + "ρ": "r", + "ς": "s", + "σ": "s", + "τ": "t", + "υ": "u", + "φ": "ph", + "χ": "kh", + "ψ": "ps", + "ω": "o", + "А": "A", + "Б": "B", + "В": "V", + "Г": "G", + "Д": "D", + "Е": "E", + "Ж": "Zh", + "З": "Z", + "И": "I", + "Й": "I", + "К": "K", + "Л": "L", + "М": "M", + "Н": "N", + "О": "O", + "П": "P", + "Р": "R", + "С": "S", + "Т": "T", + "У": "U", + "Ф": "F", + "Х": "Kh", + "Ц": "Ts", + "Ч": "Ch", + "Ш": "Sh", + "Щ": "Shch", + "Ъ": "'", + "Ы": "Y", + "Ь": "'", + "Э": "E", + "Ю": "Iu", + "Я": "Ia", + "а": "a", + "б": "b", + "в": "v", + "г": "g", + "д": "d", + "е": "e", + "ж": "zh", + "з": "z", + "и": "i", + "й": "i", + "к": "k", + "л": "l", + "м": "m", + "н": "n", + "о": "o", + "п": "p", + "р": "r", + "с": "s", + "т": "t", + "у": "u", + "ф": "f", + "х": "kh", + "ц": "ts", + "ч": "ch", + "ш": "sh", + "щ": "shch", + "ъ": "'", + "ы": "y", + "ь": "'", + "э": "e", + "ю": "iu", + "я": "ia", # 'ᴀ': '', # 'ᴁ': '', # 'ᴂ': '', @@ -371,18 +372,18 @@ # 'ᴣ': '', # 'ᴤ': '', # 'ᴥ': '', - 'ᴦ': 'G', - 'ᴧ': 'L', - 'ᴨ': 'P', - 'ᴩ': 'R', - 'ᴪ': 'PS', - 'ẞ': 'Ss', - 'Ỳ': 'Y', - 'ỳ': 'y', - 'Ỵ': 'Y', - 'ỵ': 'y', - 'Ỹ': 'Y', - 'ỹ': 'y', + "ᴦ": "G", + "ᴧ": "L", + "ᴨ": "P", + "ᴩ": "R", + "ᴪ": "PS", + "ẞ": "Ss", + "Ỳ": "Y", + "ỳ": "y", + "Ỵ": "Y", + "ỵ": "y", + "Ỹ": "Y", + "ỹ": "y", } #################################################################### @@ -390,14 +391,14 @@ #################################################################### DUMB_PUNCTUATION = { - '‘': "'", - '’': "'", - '‚': "'", - '“': '"', - '”': '"', - '„': '"', - '–': '-', - '—': '-' + "‘": "'", + "’": "'", + "‚": "'", + "“": '"', + "”": '"', + "„": '"', + "–": "-", + "—": "-", } @@ -410,7 +411,7 @@ INITIALS = string.ascii_uppercase + string.digits #: Split on non-letters, numbers -split_on_delimiters = re.compile('[^a-zA-Z0-9]').split +split_on_delimiters = re.compile("[^a-zA-Z0-9]").split # Match filter flags #: Match items that start with ``query`` @@ -443,12 +444,9 @@ #################################################################### -# Lockfile and Keychain access errors +# Keychain access errors #################################################################### -class AcquisitionError(Exception): - """Raised if a lock cannot be acquired.""" - class KeychainError(Exception): """Raised for unknown Keychain errors. @@ -483,6 +481,7 @@ class PasswordExists(KeychainError): # Helper functions #################################################################### + def isascii(text): """Test if ``text`` contains only ASCII characters. @@ -493,7 +492,7 @@ def isascii(text): """ try: - text.encode('ascii') + text.encode("ascii") except UnicodeEncodeError: return False return True @@ -503,6 +502,7 @@ def isascii(text): # Implementation classes #################################################################### + class SerializerManager(object): """Contains registered serializers. @@ -540,8 +540,8 @@ def register(self, name, serializer): """ # Basic validation - getattr(serializer, 'load') - getattr(serializer, 'dump') + serializer.load + serializer.dump self._serializers[name] = serializer @@ -568,8 +568,7 @@ def unregister(self, name): """ if name not in self._serializers: - raise ValueError('No such serializer registered : {0}'.format( - name)) + raise ValueError("No such serializer registered : {0}".format(name)) serializer = self._serializers[name] del self._serializers[name] @@ -582,86 +581,72 @@ def serializers(self): return sorted(self._serializers.keys()) -class JSONSerializer(object): - """Wrapper around :mod:`json`. Sets ``indent`` and ``encoding``. - - .. versionadded:: 1.8 - - Use this serializer if you need readable data files. JSON doesn't - support Python objects as well as ``cPickle``/``pickle``, so be - careful which data you try to serialize as JSON. - - """ +class BaseSerializer: + is_binary: Optional[bool] = None @classmethod - def load(cls, file_obj): - """Load serialized object from open JSON file. - - .. versionadded:: 1.8 - - :param file_obj: file handle - :type file_obj: ``file`` object - :returns: object loaded from JSON file - :rtype: object - - """ - return json.load(file_obj) + def binary_mode(cls): + return "b" if cls.is_binary else "" @classmethod - def dump(cls, obj, file_obj): - """Serialize object ``obj`` to open JSON file. + def _opener(cls, opener, path, mode="r"): + with opener(path, mode + cls.binary_mode()) as fp: + yield fp - .. versionadded:: 1.8 - - :param obj: Python object to serialize - :type obj: JSON-serializable data structure - :param file_obj: file handle - :type file_obj: ``file`` object + @classmethod + @contextmanager + def atomic_writer(cls, path, mode): + yield from cls._opener(atomic_writer, path, mode) - """ - return json.dump(obj, file_obj, indent=2, encoding='utf-8') + @classmethod + @contextmanager + def open(cls, path, mode): + yield from cls._opener(open, path, mode) -class CPickleSerializer(object): - """Wrapper around :mod:`cPickle`. Sets ``protocol``. +class JSONSerializer(BaseSerializer): + """Wrapper around :mod:`json`. Sets ``indent`` and ``encoding``. .. versionadded:: 1.8 - This is the default serializer and the best combination of speed and - flexibility. + Use this serializer if you need readable data files. JSON doesn't + support Python objects as well as ``pickle``, so be + careful which data you try to serialize as JSON. """ + is_binary = False + @classmethod def load(cls, file_obj): - """Load serialized object from open pickle file. + """Load serialized object from open JSON file. .. versionadded:: 1.8 :param file_obj: file handle :type file_obj: ``file`` object - :returns: object loaded from pickle file + :returns: object loaded from JSON file :rtype: object """ - return cPickle.load(file_obj) + return json.load(file_obj) @classmethod def dump(cls, obj, file_obj): - """Serialize object ``obj`` to open pickle file. + """Serialize object ``obj`` to open JSON file. .. versionadded:: 1.8 :param obj: Python object to serialize - :type obj: Python object + :type obj: JSON-serializable data structure :param file_obj: file handle :type file_obj: ``file`` object """ - return cPickle.dump(obj, file_obj, protocol=-1) + return json.dump(obj, file_obj, indent=2) -class PickleSerializer(object): +class PickleSerializer(BaseSerializer): """Wrapper around :mod:`pickle`. Sets ``protocol``. .. versionadded:: 1.8 @@ -670,6 +655,8 @@ class PickleSerializer(object): """ + is_binary = True + @classmethod def load(cls, file_obj): """Load serialized object from open pickle file. @@ -701,9 +688,8 @@ def dump(cls, obj, file_obj): # Set up default manager and register built-in serializers manager = SerializerManager() -manager.register('cpickle', CPickleSerializer) -manager.register('pickle', PickleSerializer) -manager.register('json', JSONSerializer) +manager.register("pickle", PickleSerializer) +manager.register("json", JSONSerializer) class Item(object): @@ -717,10 +703,22 @@ class Item(object): """ - def __init__(self, title, subtitle='', modifier_subtitles=None, - arg=None, autocomplete=None, valid=False, uid=None, - icon=None, icontype=None, type=None, largetext=None, - copytext=None, quicklookurl=None): + def __init__( + self, + title, + subtitle="", + modifier_subtitles=None, + arg=None, + autocomplete=None, + valid=False, + uid=None, + icon=None, + icontype=None, + type=None, + largetext=None, + copytext=None, + quicklookurl=None, + ): """Same arguments as :meth:`Workflow.add_item`.""" self.title = title self.subtitle = subtitle @@ -747,35 +745,36 @@ def elem(self): # Attributes on element attr = {} if self.valid: - attr['valid'] = 'yes' + attr["valid"] = "yes" else: - attr['valid'] = 'no' + attr["valid"] = "no" # Allow empty string for autocomplete. This is a useful value, # as TABing the result will revert the query back to just the # keyword if self.autocomplete is not None: - attr['autocomplete'] = self.autocomplete + attr["autocomplete"] = self.autocomplete # Optional attributes - for name in ('uid', 'type'): + for name in ("uid", "type"): value = getattr(self, name, None) if value: attr[name] = value - root = ET.Element('item', attr) - ET.SubElement(root, 'title').text = self.title - ET.SubElement(root, 'subtitle').text = self.subtitle + root = ET.Element("item", attr) + ET.SubElement(root, "title").text = self.title + ET.SubElement(root, "subtitle").text = self.subtitle # Add modifier subtitles - for mod in ('cmd', 'ctrl', 'alt', 'shift', 'fn'): + for mod in ("cmd", "ctrl", "alt", "shift", "fn"): if mod in self.modifier_subtitles: - ET.SubElement(root, 'subtitle', - {'mod': mod}).text = self.modifier_subtitles[mod] + ET.SubElement( + root, "subtitle", {"mod": mod} + ).text = self.modifier_subtitles[mod] # Add arg as element instead of attribute on , as it's more # flexible (newlines aren't allowed in attributes) if self.arg: - ET.SubElement(root, 'arg').text = self.arg + ET.SubElement(root, "arg").text = self.arg # Add icon if there is one if self.icon: @@ -783,221 +782,20 @@ def elem(self): attr = dict(type=self.icontype) else: attr = {} - ET.SubElement(root, 'icon', attr).text = self.icon + ET.SubElement(root, "icon", attr).text = self.icon if self.largetext: - ET.SubElement(root, 'text', - {'type': 'largetype'}).text = self.largetext + ET.SubElement(root, "text", {"type": "largetype"}).text = self.largetext if self.copytext: - ET.SubElement(root, 'text', - {'type': 'copy'}).text = self.copytext + ET.SubElement(root, "text", {"type": "copy"}).text = self.copytext if self.quicklookurl: - ET.SubElement(root, 'quicklookurl').text = self.quicklookurl + ET.SubElement(root, "quicklookurl").text = self.quicklookurl return root -class LockFile(object): - """Context manager to protect filepaths with lockfiles. - - .. versionadded:: 1.13 - - Creates a lockfile alongside ``protected_path``. Other ``LockFile`` - instances will refuse to lock the same path. - - >>> path = '/path/to/file' - >>> with LockFile(path): - >>> with open(path, 'wb') as fp: - >>> fp.write(data) - - Args: - protected_path (unicode): File to protect with a lockfile - timeout (int, optional): Raises an :class:`AcquisitionError` - if lock cannot be acquired within this number of seconds. - If ``timeout`` is 0 (the default), wait forever. - delay (float, optional): How often to check (in seconds) if - lock has been released. - - """ - - def __init__(self, protected_path, timeout=0, delay=0.05): - """Create new :class:`LockFile` object.""" - self.lockfile = protected_path + '.lock' - self.timeout = timeout - self.delay = delay - self._locked = False - atexit.register(self.release) - - @property - def locked(self): - """`True` if file is locked by this instance.""" - return self._locked - - def acquire(self, blocking=True): - """Acquire the lock if possible. - - If the lock is in use and ``blocking`` is ``False``, return - ``False``. - - Otherwise, check every `self.delay` seconds until it acquires - lock or exceeds `self.timeout` and raises an `~AcquisitionError`. - - """ - start = time.time() - while True: - - self._validate_lockfile() - - try: - fd = os.open(self.lockfile, os.O_CREAT | os.O_EXCL | os.O_RDWR) - with os.fdopen(fd, 'w') as fd: - fd.write(str(os.getpid())) - break - except OSError as err: - if err.errno != errno.EEXIST: # pragma: no cover - raise - - if self.timeout and (time.time() - start) >= self.timeout: - raise AcquisitionError('lock acquisition timed out') - if not blocking: - return False - time.sleep(self.delay) - - self._locked = True - return True - - def _validate_lockfile(self): - """Check existence and validity of lockfile. - - If the lockfile exists, but contains an invalid PID - or the PID of a non-existant process, it is removed. - - """ - try: - with open(self.lockfile) as fp: - s = fp.read() - except Exception: - return - - try: - pid = int(s) - except ValueError: - return self.release() - - from background import _process_exists - if not _process_exists(pid): - self.release() - - def release(self): - """Release the lock by deleting `self.lockfile`.""" - self._locked = False - try: - os.unlink(self.lockfile) - except (OSError, IOError) as err: # pragma: no cover - if err.errno != 2: - raise err - - def __enter__(self): - """Acquire lock.""" - self.acquire() - return self - - def __exit__(self, typ, value, traceback): - """Release lock.""" - self.release() - - def __del__(self): - """Clear up `self.lockfile`.""" - if self._locked: # pragma: no cover - self.release() - - -@contextmanager -def atomic_writer(file_path, mode): - """Atomic file writer. - - .. versionadded:: 1.12 - - Context manager that ensures the file is only written if the write - succeeds. The data is first written to a temporary file. - - :param file_path: path of file to write to. - :type file_path: ``unicode`` - :param mode: sames as for :func:`open` - :type mode: string - - """ - temp_suffix = '.aw.temp' - temp_file_path = file_path + temp_suffix - with open(temp_file_path, mode) as file_obj: - try: - yield file_obj - os.rename(temp_file_path, file_path) - finally: - try: - os.remove(temp_file_path) - except (OSError, IOError): - pass - - -class uninterruptible(object): - """Decorator that postpones SIGTERM until wrapped function returns. - - .. versionadded:: 1.12 - - .. important:: This decorator is NOT thread-safe. - - As of version 2.7, Alfred allows Script Filters to be killed. If - your workflow is killed in the middle of critical code (e.g. - writing data to disk), this may corrupt your workflow's data. - - Use this decorator to wrap critical functions that *must* complete. - If the script is killed while a wrapped function is executing, - the SIGTERM will be caught and handled after your function has - finished executing. - - Alfred-Workflow uses this internally to ensure its settings, data - and cache writes complete. - - """ - - def __init__(self, func, class_name=''): - """Decorate `func`.""" - self.func = func - self._caught_signal = None - - def signal_handler(self, signum, frame): - """Called when process receives SIGTERM.""" - self._caught_signal = (signum, frame) - - def __call__(self, *args, **kwargs): - """Trap ``SIGTERM`` and call wrapped function.""" - self._caught_signal = None - # Register handler for SIGTERM, then call `self.func` - self.old_signal_handler = signal.getsignal(signal.SIGTERM) - signal.signal(signal.SIGTERM, self.signal_handler) - - self.func(*args, **kwargs) - - # Restore old signal handler - signal.signal(signal.SIGTERM, self.old_signal_handler) - - # Handle any signal caught during execution - if self._caught_signal is not None: - signum, frame = self._caught_signal - if callable(self.old_signal_handler): - self.old_signal_handler(signum, frame) - elif self.old_signal_handler == signal.SIG_DFL: - sys.exit(0) - - def __get__(self, obj=None, klass=None): - """Decorator API.""" - return self.__class__(self.func.__get__(obj, klass), - klass.__name__) - - class Settings(dict): """A dictionary that saves itself when changed. @@ -1025,19 +823,21 @@ def __init__(self, filepath, defaults=None): if os.path.exists(self._filepath): self._load() elif defaults: - for key, val in defaults.items(): + for key, val in list(defaults.items()): self[key] = val self.save() # save default settings def _load(self): """Load cached settings from JSON file `self._filepath`.""" + data = {} + with LockFile(self._filepath, 0.5): + with open(self._filepath, "r") as fp: + data.update(json.load(fp)) + + self._original = deepcopy(data) + self._nosave = True - d = {} - with open(self._filepath, 'rb') as file_obj: - for key, value in json.load(file_obj, encoding='utf-8').items(): - d[key] = value - self.update(d) - self._original = deepcopy(d) + self.update(data) self._nosave = False @uninterruptible @@ -1050,14 +850,13 @@ def save(self): """ if self._nosave: return + data = {} data.update(self) - # for key, value in self.items(): - # data[key] = value - with LockFile(self._filepath): - with atomic_writer(self._filepath, 'wb') as file_obj: - json.dump(data, file_obj, sort_keys=True, indent=2, - encoding='utf-8') + + with LockFile(self._filepath, 0.5): + with atomic_writer(self._filepath, "w") as fp: + json.dump(data, fp, sort_keys=True, indent=2) # dict methods def __setitem__(self, key, value): @@ -1090,9 +889,9 @@ class Workflow(object): storing & caching data, using Keychain, and generating Script Filter feedback. - ``Workflow`` is compatible with both Alfred 2 and 3. The - :class:`~workflow.Workflow3` subclass provides additional, - Alfred 3-only features, such as workflow variables. + ``Workflow`` is compatible with Alfred 2+. Subclass + :class:`~workflow.Workflow3` provides additional features, + only available in Alfred 3+, such as workflow variables. :param default_settings: default workflow settings. If no settings file exists, :class:`Workflow.settings` will be pre-populated with @@ -1133,11 +932,20 @@ class Workflow(object): # won't want to change this item_class = Item - def __init__(self, default_settings=None, update_settings=None, - input_encoding='utf-8', normalization='NFC', - capture_args=True, libraries=None, - help_url=None): + def __init__( + self, + default_settings=None, + update_settings=None, + input_encoding="utf-8", + normalization="NFC", + capture_args=True, + libraries=None, + help_url=None, + ): """Create new :class:`Workflow` object.""" + + seralizer = "pickle" + self._default_settings = default_settings or {} self._update_settings = update_settings or {} self._input_encoding = input_encoding @@ -1150,8 +958,8 @@ def __init__(self, default_settings=None, update_settings=None, self._bundleid = None self._debugging = None self._name = None - self._cache_serializer = 'cpickle' - self._data_serializer = 'cpickle' + self._cache_serializer = seralizer + self._data_serializer = seralizer self._info = None self._info_loaded = False self._logger = None @@ -1163,9 +971,10 @@ def __init__(self, default_settings=None, update_settings=None, self._last_version_run = UNSET # Cache for regex patterns created for filter keys self._search_pattern_cache = {} - # Magic arguments - #: The prefix for all magic arguments. Default is ``workflow:`` - self.magic_prefix = 'workflow:' + #: Prefix for all magic arguments. + #: The default value is ``workflow:`` so keyword + #: ``config`` would match user query ``workflow:config``. + self.magic_prefix = "workflow:" #: Mapping of available magic arguments. The built-in magic #: arguments are registered by default. To add your own magic arguments #: (or override built-ins), add a key:value pair where the key is @@ -1192,8 +1001,9 @@ def __init__(self, default_settings=None, update_settings=None, @property def alfred_version(self): """Alfred version as :class:`~workflow.update.Version` object.""" - from update import Version - return Version(self.alfred_env.get('version')) + from .update import Version + + return Version(self.alfred_env.get("version")) @property def alfred_env(self): @@ -1248,31 +1058,34 @@ def alfred_env(self): data = {} for key in ( - 'alfred_debug', - 'alfred_preferences', - 'alfred_preferences_localhash', - 'alfred_theme', - 'alfred_theme_background', - 'alfred_theme_subtext', - 'alfred_version', - 'alfred_version_build', - 'alfred_workflow_bundleid', - 'alfred_workflow_cache', - 'alfred_workflow_data', - 'alfred_workflow_name', - 'alfred_workflow_uid', - 'alfred_workflow_version'): - - value = os.getenv(key) - - if isinstance(value, str): - if key in ('alfred_debug', 'alfred_version_build', - 'alfred_theme_subtext'): - value = int(value) + "debug", + "preferences", + "preferences_localhash", + "theme", + "theme_background", + "theme_subtext", + "version", + "version_build", + "workflow_bundleid", + "workflow_cache", + "workflow_data", + "workflow_name", + "workflow_uid", + "workflow_version", + ): + + value = os.getenv("alfred_" + key, "") + + if value: + if key in ("debug", "version_build", "theme_subtext"): + if value.isdigit(): + value = int(value) + else: + value = False else: value = self.decode(value) - data[key[7:]] = value + data[key] = value self._alfred_env = data @@ -1294,10 +1107,10 @@ def bundleid(self): """ if not self._bundleid: - if self.alfred_env.get('workflow_bundleid'): - self._bundleid = self.alfred_env.get('workflow_bundleid') + if self.alfred_env.get("workflow_bundleid"): + self._bundleid = self.alfred_env.get("workflow_bundleid") else: - self._bundleid = unicode(self.info['bundleid'], 'utf-8') + self._bundleid = self.info["bundleid"] return self._bundleid @@ -1309,12 +1122,9 @@ def debugging(self): :rtype: ``bool`` """ - if self._debugging is None: - if self.alfred_env.get('debug') == 1: - self._debugging = True - else: - self._debugging = False - return self._debugging + return bool( + self.alfred_env.get("debug") == 1 or os.environ.get("PYTEST_RUNNING") + ) @property def name(self): @@ -1325,10 +1135,10 @@ def name(self): """ if not self._name: - if self.alfred_env.get('workflow_name'): - self._name = self.decode(self.alfred_env.get('workflow_name')) + if self.alfred_env.get("workflow_name"): + self._name = self.decode(self.alfred_env.get("workflow_name")) else: - self._name = self.decode(self.info['name']) + self._name = self.decode(self.info["name"]) return self._name @@ -1353,27 +1163,28 @@ def version(self): version = None # environment variable has priority - if self.alfred_env.get('workflow_version'): - version = self.alfred_env['workflow_version'] + if self.alfred_env.get("workflow_version"): + version = self.alfred_env["workflow_version"] # Try `update_settings` elif self._update_settings: - version = self._update_settings.get('version') + version = self._update_settings.get("version") # `version` file if not version: - filepath = self.workflowfile('version') + filepath = self.workflowfile("version") if os.path.exists(filepath): - with open(filepath, 'rb') as fileobj: + with open(filepath, "r") as fileobj: version = fileobj.read() # info.plist if not version: - version = self.info.get('version') + version = self.info.get("version") if version: - from update import Version + from .update import Version + version = Version(version) self._version = version @@ -1406,7 +1217,7 @@ def args(self): # Handle magic args if len(args) and self._capture_args: for name in self.magic_arguments: - key = '{0}{1}'.format(self.magic_prefix, name) + key = "{0}{1}".format(self.magic_prefix, name) if key in args: msg = self.magic_arguments[name]() @@ -1423,18 +1234,22 @@ def cachedir(self): """Path to workflow's cache directory. The cache directory is a subdirectory of Alfred's own cache directory - in ``~/Library/Caches``. The full path is: + in ``~/Library/Caches``. The full path is in Alfred 4+ is: + + ``~/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/`` + + For earlier versions: ``~/Library/Caches/com.runningwithcrayons.Alfred-X/Workflow Data/`` - ``Alfred-X`` may be ``Alfred-2`` or ``Alfred-3``. + where ``Alfred-X`` may be ``Alfred-2`` or ``Alfred-3``. - :returns: full path to workflow's cache directory - :rtype: ``unicode`` + Returns: + unicode: full path to workflow's cache directory """ - if self.alfred_env.get('workflow_cache'): - dirpath = self.alfred_env.get('workflow_cache') + if self.alfred_env.get("workflow_cache"): + dirpath = self.alfred_env.get("workflow_cache") else: dirpath = self._default_cachedir @@ -1446,25 +1261,32 @@ def _default_cachedir(self): """Alfred 2's default cache directory.""" return os.path.join( os.path.expanduser( - '~/Library/Caches/com.runningwithcrayons.Alfred-2/' - 'Workflow Data/'), - self.bundleid) + "~/Library/Caches/com.runningwithcrayons.Alfred-2/" "Workflow Data/" + ), + self.bundleid, + ) @property def datadir(self): """Path to workflow's data directory. The data directory is a subdirectory of Alfred's own data directory in - ``~/Library/Application Support``. The full path is: + ``~/Library/Application Support``. The full path for Alfred 4+ is: - ``~/Library/Application Support/Alfred 2/Workflow Data/`` + ``~/Library/Application Support/Alfred/Workflow Data/`` - :returns: full path to workflow data directory - :rtype: ``unicode`` + For earlier versions, the path is: + + ``~/Library/Application Support/Alfred X/Workflow Data/`` + + where ``Alfred X` is ``Alfred 2`` or ``Alfred 3``. + + Returns: + unicode: full path to workflow data directory """ - if self.alfred_env.get('workflow_data'): - dirpath = self.alfred_env.get('workflow_data') + if self.alfred_env.get("workflow_data"): + dirpath = self.alfred_env.get("workflow_data") else: dirpath = self._default_datadir @@ -1474,16 +1296,17 @@ def datadir(self): @property def _default_datadir(self): """Alfred 2's default data directory.""" - return os.path.join(os.path.expanduser( - '~/Library/Application Support/Alfred 2/Workflow Data/'), - self.bundleid) + return os.path.join( + os.path.expanduser("~/Library/Application Support/Alfred 2/Workflow Data/"), + self.bundleid, + ) @property def workflowdir(self): """Path to workflow's root directory (where ``info.plist`` is). - :returns: full path to workflow root directory - :rtype: ``unicode`` + Returns: + unicode: full path to workflow root directory """ if not self._workflowdir: @@ -1491,8 +1314,9 @@ def workflowdir(self): # the library is in. CWD will be the workflow root if # a workflow is being run in Alfred candidates = [ - os.path.abspath(os.getcwdu()), - os.path.dirname(os.path.abspath(os.path.dirname(__file__)))] + os.path.abspath(os.getcwd()), + os.path.dirname(os.path.abspath(os.path.dirname(__file__))), + ] # climb the directory tree until we find `info.plist` for dirpath in candidates: @@ -1501,11 +1325,11 @@ def workflowdir(self): dirpath = self.decode(dirpath) while True: - if os.path.exists(os.path.join(dirpath, 'info.plist')): + if os.path.exists(os.path.join(dirpath, "info.plist")): self._workflowdir = dirpath break - elif dirpath == '/': + elif dirpath == "/": # no `info.plist` found break @@ -1568,7 +1392,7 @@ def logfile(self): :rtype: ``unicode`` """ - return self.cachefile('%s.log' % self.bundleid) + return self.cachefile("%s.log" % self.bundleid) @property def logger(self): @@ -1586,19 +1410,21 @@ def logger(self): return self._logger # Initialise new logger and optionally handlers - logger = logging.getLogger('workflow') + logger = logging.getLogger("") - if not len(logger.handlers): # Only add one set of handlers + # Only add one set of handlers + # Exclude from coverage, as pytest will have configured the + # root logger already + if not len(logger.handlers): # pragma: no cover fmt = logging.Formatter( - '%(asctime)s %(filename)s:%(lineno)s' - ' %(levelname)-8s %(message)s', - datefmt='%H:%M:%S') + "%(asctime)s %(filename)s:%(lineno)s" " %(levelname)-8s %(message)s", + datefmt="%H:%M:%S", + ) logfile = logging.handlers.RotatingFileHandler( - self.logfile, - maxBytes=1024 * 1024, - backupCount=1) + self.logfile, maxBytes=1024 * 1024, backupCount=1 + ) logfile.setFormatter(fmt) logger.addHandler(logfile) @@ -1634,7 +1460,7 @@ def settings_path(self): """ if not self._settings_path: - self._settings_path = self.datafile('settings.json') + self._settings_path = self.datafile("settings.json") return self._settings_path @property @@ -1654,9 +1480,8 @@ def settings(self): """ if not self._settings: - self.logger.debug('reading settings from %s', self.settings_path) - self._settings = Settings(self.settings_path, - self._default_settings) + self.logger.debug("reading settings from %s", self.settings_path) + self._settings = Settings(self.settings_path, self._default_settings) return self._settings @property @@ -1695,10 +1520,11 @@ def cache_serializer(self, serializer_name): """ if manager.serializer(serializer_name) is None: raise ValueError( - 'Unknown serializer : `{0}`. Register your serializer ' - 'with `manager` first.'.format(serializer_name)) + "Unknown serializer : `{0}`. Register your serializer " + "with `manager` first.".format(serializer_name) + ) - self.logger.debug('default cache serializer: %s', serializer_name) + self.logger.debug("default cache serializer: %s", serializer_name) self._cache_serializer = serializer_name @@ -1737,10 +1563,11 @@ def data_serializer(self, serializer_name): """ if manager.serializer(serializer_name) is None: raise ValueError( - 'Unknown serializer : `{0}`. Register your serializer ' - 'with `manager` first.'.format(serializer_name)) + "Unknown serializer : `{0}`. Register your serializer " + "with `manager` first.".format(serializer_name) + ) - self.logger.debug('default data serializer: %s', serializer_name) + self.logger.debug("default data serializer: %s", serializer_name) self._data_serializer = serializer_name @@ -1754,39 +1581,40 @@ def stored_data(self, name): :param name: name of datastore """ - metadata_path = self.datafile('.{0}.alfred-workflow'.format(name)) + metadata_path = self.datafile(".{0}.alfred-workflow".format(name)) if not os.path.exists(metadata_path): - self.logger.debug('no data stored for `%s`', name) + self.logger.debug("no data stored for `%s`", name) return None - with open(metadata_path, 'rb') as file_obj: + with open(metadata_path, "r") as file_obj: serializer_name = file_obj.read().strip() serializer = manager.serializer(serializer_name) if serializer is None: raise ValueError( - 'Unknown serializer `{0}`. Register a corresponding ' - 'serializer with `manager.register()` ' - 'to load this data.'.format(serializer_name)) + "Unknown serializer `{0}`. Register a corresponding " + "serializer with `manager.register()` " + "to load this data.".format(serializer_name) + ) - self.logger.debug('data `%s` stored as `%s`', name, serializer_name) + self.logger.debug("data `%s` stored as `%s`", name, serializer_name) - filename = '{0}.{1}'.format(name, serializer_name) + filename = "{0}.{1}".format(name, serializer_name) data_path = self.datafile(filename) if not os.path.exists(data_path): - self.logger.debug('no data stored: %s', name) + self.logger.debug("no data stored: %s", name) if os.path.exists(metadata_path): os.unlink(metadata_path) return None - with open(data_path, 'rb') as file_obj: + with open(data_path, "rb") as file_obj: data = serializer.load(file_obj) - self.logger.debug('stored data loaded: %s', data_path) + self.logger.debug("stored data loaded: %s", data_path) return data @@ -1815,47 +1643,52 @@ def delete_paths(paths): for path in paths: if os.path.exists(path): os.unlink(path) - self.logger.debug('deleted data file: %s', path) + self.logger.debug("deleted data file: %s", path) serializer_name = serializer or self.data_serializer # In order for `stored_data()` to be able to load data stored with # an arbitrary serializer, yet still have meaningful file extensions, # the format (i.e. extension) is saved to an accompanying file - metadata_path = self.datafile('.{0}.alfred-workflow'.format(name)) - filename = '{0}.{1}'.format(name, serializer_name) + metadata_path = self.datafile(".{0}.alfred-workflow".format(name)) + filename = "{0}.{1}".format(name, serializer_name) data_path = self.datafile(filename) if data_path == self.settings_path: raise ValueError( - 'Cannot save data to' + - '`{0}` with format `{1}`. '.format(name, serializer_name) + - "This would overwrite Alfred-Workflow's settings file.") + "Cannot save data to" + + "`{0}` with format `{1}`. ".format(name, serializer_name) + + "This would overwrite Alfred-Workflow's settings file." + ) serializer = manager.serializer(serializer_name) if serializer is None: raise ValueError( - 'Invalid serializer `{0}`. Register your serializer with ' - '`manager.register()` first.'.format(serializer_name)) + "Invalid serializer `{0}`. Register your serializer with " + "`manager.register()` first.".format(serializer_name) + ) if data is None: # Delete cached data delete_paths((metadata_path, data_path)) return + if isinstance(data, str): + data = bytearray(data) + # Ensure write is not interrupted by SIGTERM @uninterruptible def _store(): # Save file extension - with atomic_writer(metadata_path, 'wb') as file_obj: + with atomic_writer(metadata_path, "w") as file_obj: file_obj.write(serializer_name) - with atomic_writer(data_path, 'wb') as file_obj: + with serializer.atomic_writer(data_path, "w") as file_obj: serializer.dump(data, file_obj) _store() - self.logger.debug('saved data: %s', data_path) + self.logger.debug("saved data: %s", data_path) def cached_data(self, name, data_func=None, max_age=60): """Return cached data if younger than ``max_age`` seconds. @@ -1875,13 +1708,13 @@ def cached_data(self, name, data_func=None, max_age=60): """ serializer = manager.serializer(self.cache_serializer) - cache_path = self.cachefile('%s.%s' % (name, self.cache_serializer)) + cache_path = self.cachefile("%s.%s" % (name, self.cache_serializer)) age = self.cached_data_age(name) if (age < max_age or max_age == 0) and os.path.exists(cache_path): - with open(cache_path, 'rb') as file_obj: - self.logger.debug('loading cached data: %s', cache_path) + with open(cache_path, "rb") as file_obj: + self.logger.debug("loading cached data: %s", cache_path) return serializer.load(file_obj) if not data_func: @@ -1905,18 +1738,18 @@ def cache_data(self, name, data): """ serializer = manager.serializer(self.cache_serializer) - cache_path = self.cachefile('%s.%s' % (name, self.cache_serializer)) + cache_path = self.cachefile("%s.%s" % (name, self.cache_serializer)) if data is None: if os.path.exists(cache_path): os.unlink(cache_path) - self.logger.debug('deleted cache file: %s', cache_path) + self.logger.debug("deleted cache file: %s", cache_path) return - with atomic_writer(cache_path, 'wb') as file_obj: + with serializer.atomic_writer(cache_path, "w") as file_obj: serializer.dump(data, file_obj) - self.logger.debug('cached data: %s', cache_path) + self.logger.debug("cached data: %s", cache_path) def cached_data_fresh(self, name, max_age): """Whether cache `name` is less than `max_age` seconds old. @@ -1944,16 +1777,25 @@ def cached_data_age(self, name): :rtype: ``int`` """ - cache_path = self.cachefile('%s.%s' % (name, self.cache_serializer)) + cache_path = self.cachefile("%s.%s" % (name, self.cache_serializer)) if not os.path.exists(cache_path): return 0 return time.time() - os.stat(cache_path).st_mtime - def filter(self, query, items, key=lambda x: x, ascending=False, - include_score=False, min_score=0, max_results=0, - match_on=MATCH_ALL, fold_diacritics=True): + def filter( + self, + query, + items, + key=lambda x: x, + ascending=False, + include_score=False, + min_score=0, + max_results=0, + match_on=MATCH_ALL, + fold_diacritics=True, + ): """Fuzzy search filter. Returns list of ``items`` that match ``query``. ``query`` is case-insensitive. Any item that does not contain the @@ -2062,23 +1904,23 @@ def filter(self, query, items, key=lambda x: x, ascending=False, return items # Use user override if there is one - fold_diacritics = self.settings.get('__workflow_diacritic_folding', - fold_diacritics) + fold_diacritics = self.settings.get( + "__workflow_diacritic_folding", fold_diacritics + ) results = [] for item in items: skip = False score = 0 - words = [s.strip() for s in query.split(' ')] + words = [s.strip() for s in query.split(" ")] value = key(item).strip() - if value == '': + if value == "": continue for word in words: - if word == '': + if word == "": continue - s, rule = self._filter_item(value, word, match_on, - fold_diacritics) + s, rule = self._filter_item(value, word, match_on, fold_diacritics) if not s: # Skip items that don't match part of the query skip = True @@ -2091,8 +1933,9 @@ def filter(self, query, items, key=lambda x: x, ascending=False, # use "reversed" `score` (i.e. highest becomes lowest) and # `value` as sort key. This means items with the same score # will be sorted in alphabetical not reverse alphabetical order - results.append(((100.0 / score, value.lower(), score), - (item, score, rule))) + results.append( + ((100.0 / score, value.lower(), score), (item, score, rule)) + ) # sort on keys, then discard the keys results.sort(reverse=ascending) @@ -2139,7 +1982,7 @@ def _filter_item(self, value, query, match_on, fold_diacritics): # query matches capitalised letters in item, # e.g. of = OmniFocus if match_on & MATCH_CAPITALS: - initials = ''.join([c for c in value if c in INITIALS]) + initials = "".join([c for c in value if c in INITIALS]) if initials.lower().startswith(query): score = 100.0 - (len(initials) / len(query)) @@ -2147,13 +1990,15 @@ def _filter_item(self, value, query, match_on, fold_diacritics): # split the item into "atoms", i.e. words separated by # spaces or other non-word characters - if (match_on & MATCH_ATOM or - match_on & MATCH_INITIALS_CONTAIN or - match_on & MATCH_INITIALS_STARTSWITH): + if ( + match_on & MATCH_ATOM + or match_on & MATCH_INITIALS_CONTAIN + or match_on & MATCH_INITIALS_STARTSWITH + ): atoms = [s.lower() for s in split_on_delimiters(value)] # print('atoms : %s --> %s' % (value, atoms)) # initials of the atoms - initials = ''.join([s[0] for s in atoms if s]) + initials = "".join([s[0] for s in atoms if s]) if match_on & MATCH_ATOM: # is `query` one of the atoms in item? @@ -2168,16 +2013,14 @@ def _filter_item(self, value, query, match_on, fold_diacritics): # atoms, e.g. ``himym`` matches "How I Met Your Mother" # *and* "how i met your mother" (the ``capitals`` rule only # matches the former) - if (match_on & MATCH_INITIALS_STARTSWITH and - initials.startswith(query)): + if match_on & MATCH_INITIALS_STARTSWITH and initials.startswith(query): score = 100.0 - (len(initials) / len(query)) return (score, MATCH_INITIALS_STARTSWITH) # `query` is a substring of initials, e.g. ``doh`` matches # "The Dukes of Hazzard" - elif (match_on & MATCH_INITIALS_CONTAIN and - query in initials): + elif match_on & MATCH_INITIALS_CONTAIN and query in initials: score = 95.0 - (len(initials) / len(query)) return (score, MATCH_INITIALS_CONTAIN) @@ -2194,8 +2037,9 @@ def _filter_item(self, value, query, match_on, fold_diacritics): search = self._search_for_query(query) match = search(value) if match: - score = 100.0 / ((1 + match.start()) * - (match.end() - match.start() + 1)) + score = 100.0 / ( + (1 + match.start()) * (match.end() - match.start() + 1) + ) return (score, MATCH_ALLCHARS) @@ -2210,8 +2054,8 @@ def _search_for_query(self, query): pattern = [] for c in query: # pattern.append('[^{0}]*{0}'.format(re.escape(c))) - pattern.append('.*?{0}'.format(re.escape(c))) - pattern = ''.join(pattern) + pattern.append(".*?{0}".format(re.escape(c))) + pattern = "".join(pattern) search = re.compile(pattern, re.IGNORECASE).search self._search_pattern_cache[query] = search @@ -2239,21 +2083,25 @@ def run(self, func, text_errors=False): """ start = time.time() + # Write to debugger to ensure "real" output starts on a new line + print(".", file=sys.stderr) + # Call workflow's entry function/method within a try-except block # to catch any errors and display an error message in Alfred try: if self.version: - self.logger.debug('---------- %s (%s) ----------', - self.name, self.version) + self.logger.debug( + "---------- %s (%s) ----------", self.name, self.version + ) else: - self.logger.debug('---------- %s ----------', self.name) + self.logger.debug("---------- %s ----------", self.name) # Run update check if configured for self-updates. # This call has to go in the `run` try-except block, as it will # initialise `self.settings`, which will raise an exception # if `settings.json` isn't valid. - if self._update_settings: - self.check_update() + #if self._update_settings: + # self.check_update() # Run workflow's entry function/method func(self) @@ -2265,11 +2113,11 @@ def run(self, func, text_errors=False): except Exception as err: self.logger.exception(err) if self.help_url: - self.logger.info('for assistance, see: %s', self.help_url) + self.logger.info("for assistance, see: %s", self.help_url) if not sys.stdout.isatty(): # Show error in Alfred if text_errors: - print(unicode(err).encode('utf-8'), end='') + print(str(err).encode("utf-8"), end="") else: self._items = [] if self._name: @@ -2278,24 +2126,37 @@ def run(self, func, text_errors=False): name = self._bundleid else: # pragma: no cover name = os.path.dirname(__file__) - self.add_item("Error in workflow '%s'" % name, - unicode(err), - icon=ICON_ERROR) + self.add_item( + "Error in workflow '%s'" % name, str(err), icon=ICON_ERROR + ) self.send_feedback() return 1 finally: - self.logger.debug('---------- finished in %0.3fs ----------', - time.time() - start) + self.logger.debug( + "---------- finished in %0.3fs ----------", time.time() - start + ) return 0 # Alfred feedback methods ------------------------------------------ - def add_item(self, title, subtitle='', modifier_subtitles=None, arg=None, - autocomplete=None, valid=False, uid=None, icon=None, - icontype=None, type=None, largetext=None, copytext=None, - quicklookurl=None): + def add_item( + self, + title, + subtitle="", + modifier_subtitles=None, + arg=None, + autocomplete=None, + valid=False, + uid=None, + icon=None, + icontype=None, + type=None, + largetext=None, + copytext=None, + quicklookurl=None, + ): """Add an item to be output to Alfred. :param title: Title shown in Alfred @@ -2353,19 +2214,31 @@ def add_item(self, title, subtitle='', modifier_subtitles=None, arg=None, edit it or do something with it other than send it to Alfred. """ - item = self.item_class(title, subtitle, modifier_subtitles, arg, - autocomplete, valid, uid, icon, icontype, type, - largetext, copytext, quicklookurl) + item = self.item_class( + title, + subtitle, + modifier_subtitles, + arg, + autocomplete, + valid, + uid, + icon, + icontype, + type, + largetext, + copytext, + quicklookurl, + ) self._items.append(item) return item def send_feedback(self): """Print stored items to console/Alfred as XML.""" - root = ET.Element('items') + root = ET.Element("items") for item in self._items: root.append(item.elem) sys.stdout.write('\n') - sys.stdout.write(ET.tostring(root).encode('utf-8')) + sys.stdout.write(ET.tostring(root, encoding="unicode")) sys.stdout.flush() #################################################################### @@ -2382,7 +2255,7 @@ def first_run(self): """ if not self.version: - raise ValueError('No workflow version set') + raise ValueError("No workflow version set") if not self.last_version_run: return True @@ -2401,14 +2274,15 @@ def last_version_run(self): """ if self._last_version_run is UNSET: - version = self.settings.get('__workflow_last_version') + version = self.settings.get("__workflow_last_version") if version: - from update import Version + from .update import Version + version = Version(version) self._last_version_run = version - self.logger.debug('last run version: %s', self._last_version_run) + self.logger.debug("last run version: %s", self._last_version_run) return self._last_version_run @@ -2425,19 +2299,19 @@ def set_last_version(self, version=None): """ if not version: if not self.version: - self.logger.warning( - "Can't save last version: workflow has no version") + self.logger.warning("Can't save last version: workflow has no version") return False version = self.version - if isinstance(version, basestring): - from update import Version + if isinstance(version, str): + from .update import Version + version = Version(version) - self.settings['__workflow_last_version'] = str(version) + self.settings["__workflow_last_version"] = str(version) - self.logger.debug('set last run version: %s', version) + self.logger.debug("set last run version: %s", version) return True @@ -2453,17 +2327,16 @@ def update_available(self): :returns: ``True`` if an update is available, else ``False`` """ + key = "__workflow_latest_version" # Create a new workflow object to ensure standard serialiser # is used (update.py is called without the user's settings) - update_data = Workflow().cached_data('__workflow_update_status', - max_age=0) - - self.logger.debug('update_data: %r', update_data) + status = Workflow().cached_data(key, max_age=0) - if not update_data or not update_data.get('available'): + # self.logger.debug('update status: %r', status) + if not status or not status.get("available"): return False - return update_data['available'] + return status["available"] @property def prereleases(self): @@ -2476,10 +2349,10 @@ def prereleases(self): ``False``. """ - if self._update_settings.get('prereleases'): + if self._update_settings.get("prereleases"): return True - return self.settings.get('__workflow_prereleases') or False + return self.settings.get("__workflow_prereleases") or False def check_update(self, force=False): """Call update script if it's time to check for a new release. @@ -2496,39 +2369,34 @@ def check_update(self, force=False): :type force: ``Boolean`` """ - frequency = self._update_settings.get('frequency', - DEFAULT_UPDATE_FREQUENCY) + key = "__workflow_latest_version" + frequency = self._update_settings.get("frequency", DEFAULT_UPDATE_FREQUENCY) - if not force and not self.settings.get('__workflow_autoupdate', True): - self.logger.debug('Auto update turned off by user') + if not force and not self.settings.get("__workflow_autoupdate", True): + self.logger.debug("Auto update turned off by user") return # Check for new version if it's time - if (force or not self.cached_data_fresh( - '__workflow_update_status', frequency * 86400)): - - github_slug = self._update_settings['github_slug'] + if force or not self.cached_data_fresh(key, frequency * 86400): + repo = self._update_settings["github_slug"] # version = self._update_settings['version'] version = str(self.version) - from background import run_in_background + from .background import run_in_background # update.py is adjacent to this file - update_script = os.path.join(os.path.dirname(__file__), - b'update.py') - - cmd = ['/usr/bin/python', update_script, 'check', github_slug, - version] + update_script = os.path.join(os.path.dirname(__file__), "update.py") + cmd = [sys.executable, update_script, "check", repo, version] if self.prereleases: - cmd.append('--prereleases') + cmd.append("--prereleases") - self.logger.info('checking for update ...') + self.logger.info("checking for update ...") - run_in_background('__workflow_update_check', cmd) + run_in_background("__workflow_update_check", cmd) else: - self.logger.debug('update check not due') + self.logger.debug("update check not due") def start_update(self): """Check for update and download and install new workflow file. @@ -2542,29 +2410,27 @@ def start_update(self): installed, else ``False`` """ - import update + from . import update - github_slug = self._update_settings['github_slug'] + repo = self._update_settings["github_slug"] # version = self._update_settings['version'] version = str(self.version) - if not update.check_update(github_slug, version, self.prereleases): + if not update.check_update(repo, version, self.prereleases): return False - from background import run_in_background + from .background import run_in_background # update.py is adjacent to this file - update_script = os.path.join(os.path.dirname(__file__), - b'update.py') + update_script = os.path.join(os.path.dirname(__file__), "update.py") - cmd = ['/usr/bin/python', update_script, 'install', github_slug, - version] + cmd = [sys.executable, update_script, "install", repo, version] if self.prereleases: - cmd.append('--prereleases') + cmd.append("--prereleases") - self.logger.debug('downloading update ...') - run_in_background('__workflow_update_install', cmd) + self.logger.debug("downloading update ...") + run_in_background("__workflow_update_install", cmd) return True @@ -2595,22 +2461,24 @@ def save_password(self, account, password, service=None): service = self.bundleid try: - self._call_security('add-generic-password', service, account, - '-w', password) - self.logger.debug('saved password : %s:%s', service, account) + self._call_security( + "add-generic-password", service, account, "-w", password + ) + self.logger.debug("saved password : %s:%s", service, account) except PasswordExists: - self.logger.debug('password exists : %s:%s', service, account) + self.logger.debug("password exists : %s:%s", service, account) current_password = self.get_password(account, service) if current_password == password: - self.logger.debug('password unchanged') + self.logger.debug("password unchanged") else: self.delete_password(account, service) - self._call_security('add-generic-password', service, - account, '-w', password) - self.logger.debug('save_password : %s:%s', service, account) + self._call_security( + "add-generic-password", service, account, "-w", password + ) + self.logger.debug("save_password : %s:%s", service, account) def get_password(self, account, service=None): """Retrieve the password saved at ``service/account``. @@ -2630,24 +2498,23 @@ def get_password(self, account, service=None): if not service: service = self.bundleid - output = self._call_security('find-generic-password', service, - account, '-g') + output = self._call_security("find-generic-password", service, account, "-g") # Parsing of `security` output is adapted from python-keyring # by Jason R. Coombs # https://pypi.python.org/pypi/keyring m = re.search( - r'password:\s*(?:0x(?P[0-9A-F]+)\s*)?(?:"(?P.*)")?', - output) + r'password:\s*(?:0x(?P[0-9A-F]+)\s*)?(?:"(?P.*)")?', output + ) if m: groups = m.groupdict() - h = groups.get('hex') - password = groups.get('pw') + h = groups.get("hex") + password = groups.get("pw") if h: - password = unicode(binascii.unhexlify(h), 'utf-8') + password = str(binascii.unhexlify(h), "utf-8") - self.logger.debug('got password : %s:%s', service, account) + self.logger.debug("got password : %s:%s", service, account) return password @@ -2667,15 +2534,15 @@ def delete_password(self, account, service=None): if not service: service = self.bundleid - self._call_security('delete-generic-password', service, account) + self._call_security("delete-generic-password", service, account) - self.logger.debug('deleted password : %s:%s', service, account) + self.logger.debug("deleted password : %s:%s", service, account) #################################################################### # Methods for workflow:* magic args #################################################################### - def _register_default_magic(self): + def _register_default_magic(self): # noqa: C901 """Register the built-in magic arguments.""" # TODO: refactor & simplify # Wrap callback and message with callable @@ -2686,91 +2553,98 @@ def wrapper(): return wrapper - self.magic_arguments['delcache'] = callback(self.clear_cache, - 'Deleted workflow cache') - self.magic_arguments['deldata'] = callback(self.clear_data, - 'Deleted workflow data') - self.magic_arguments['delsettings'] = callback( - self.clear_settings, 'Deleted workflow settings') - self.magic_arguments['reset'] = callback(self.reset, - 'Reset workflow') - self.magic_arguments['openlog'] = callback(self.open_log, - 'Opening workflow log file') - self.magic_arguments['opencache'] = callback( - self.open_cachedir, 'Opening workflow cache directory') - self.magic_arguments['opendata'] = callback( - self.open_datadir, 'Opening workflow data directory') - self.magic_arguments['openworkflow'] = callback( - self.open_workflowdir, 'Opening workflow directory') - self.magic_arguments['openterm'] = callback( - self.open_terminal, 'Opening workflow root directory in Terminal') + self.magic_arguments["delcache"] = callback( + self.clear_cache, "Deleted workflow cache" + ) + self.magic_arguments["deldata"] = callback( + self.clear_data, "Deleted workflow data" + ) + self.magic_arguments["delsettings"] = callback( + self.clear_settings, "Deleted workflow settings" + ) + self.magic_arguments["reset"] = callback(self.reset, "Reset workflow") + self.magic_arguments["openlog"] = callback( + self.open_log, "Opening workflow log file" + ) + self.magic_arguments["opencache"] = callback( + self.open_cachedir, "Opening workflow cache directory" + ) + self.magic_arguments["opendata"] = callback( + self.open_datadir, "Opening workflow data directory" + ) + self.magic_arguments["openworkflow"] = callback( + self.open_workflowdir, "Opening workflow directory" + ) + self.magic_arguments["openterm"] = callback( + self.open_terminal, "Opening workflow root directory in Terminal" + ) # Diacritic folding def fold_on(): - self.settings['__workflow_diacritic_folding'] = True - return 'Diacritics will always be folded' + self.settings["__workflow_diacritic_folding"] = True + return "Diacritics will always be folded" def fold_off(): - self.settings['__workflow_diacritic_folding'] = False - return 'Diacritics will never be folded' + self.settings["__workflow_diacritic_folding"] = False + return "Diacritics will never be folded" def fold_default(): - if '__workflow_diacritic_folding' in self.settings: - del self.settings['__workflow_diacritic_folding'] - return 'Diacritics folding reset' + if "__workflow_diacritic_folding" in self.settings: + del self.settings["__workflow_diacritic_folding"] + return "Diacritics folding reset" - self.magic_arguments['foldingon'] = fold_on - self.magic_arguments['foldingoff'] = fold_off - self.magic_arguments['foldingdefault'] = fold_default + self.magic_arguments["foldingon"] = fold_on + self.magic_arguments["foldingoff"] = fold_off + self.magic_arguments["foldingdefault"] = fold_default # Updates def update_on(): - self.settings['__workflow_autoupdate'] = True - return 'Auto update turned on' + self.settings["__workflow_autoupdate"] = True + return "Auto update turned on" def update_off(): - self.settings['__workflow_autoupdate'] = False - return 'Auto update turned off' + self.settings["__workflow_autoupdate"] = False + return "Auto update turned off" def prereleases_on(): - self.settings['__workflow_prereleases'] = True - return 'Prerelease updates turned on' + self.settings["__workflow_prereleases"] = True + return "Prerelease updates turned on" def prereleases_off(): - self.settings['__workflow_prereleases'] = False - return 'Prerelease updates turned off' + self.settings["__workflow_prereleases"] = False + return "Prerelease updates turned off" def do_update(): if self.start_update(): - return 'Downloading and installing update ...' + return "Downloading and installing update ..." else: - return 'No update available' + return "No update available" - self.magic_arguments['autoupdate'] = update_on - self.magic_arguments['noautoupdate'] = update_off - self.magic_arguments['prereleases'] = prereleases_on - self.magic_arguments['noprereleases'] = prereleases_off - self.magic_arguments['update'] = do_update + self.magic_arguments["autoupdate"] = update_on + self.magic_arguments["noautoupdate"] = update_off + self.magic_arguments["prereleases"] = prereleases_on + self.magic_arguments["noprereleases"] = prereleases_off + self.magic_arguments["update"] = do_update # Help def do_help(): if self.help_url: self.open_help() - return 'Opening workflow help URL in browser' + return "Opening workflow help URL in browser" else: - return 'Workflow has no help URL' + return "Workflow has no help URL" def show_version(): if self.version: - return 'Version: {0}'.format(self.version) + return "Version: {0}".format(self.version) else: - return 'This workflow has no version number' + return "This workflow has no version number" def list_magic(): """Display all available magic args in Alfred.""" isatty = sys.stderr.isatty() for name in sorted(self.magic_arguments.keys()): - if name == 'magic': + if name == "magic": continue arg = self.magic_prefix + name self.logger.debug(arg) @@ -2781,9 +2655,9 @@ def list_magic(): if not isatty: self.send_feedback() - self.magic_arguments['help'] = do_help - self.magic_arguments['magic'] = list_magic - self.magic_arguments['version'] = show_version + self.magic_arguments["help"] = do_help + self.magic_arguments["magic"] = list_magic + self.magic_arguments["version"] = show_version def clear_cache(self, filter_func=lambda f: True): """Delete all files in workflow's :attr:`cachedir`. @@ -2813,7 +2687,7 @@ def clear_settings(self): """Delete workflow's :attr:`settings_path`.""" if os.path.exists(self.settings_path): os.unlink(self.settings_path) - self.logger.debug('deleted : %r', self.settings_path) + self.logger.debug("deleted : %r", self.settings_path) def reset(self): """Delete workflow settings, cache and data. @@ -2828,30 +2702,29 @@ def reset(self): def open_log(self): """Open :attr:`logfile` in default app (usually Console.app).""" - subprocess.call(['open', self.logfile]) + subprocess.call(["open", self.logfile]) # nosec def open_cachedir(self): """Open the workflow's :attr:`cachedir` in Finder.""" - subprocess.call(['open', self.cachedir]) + subprocess.call(["open", self.cachedir]) # nosec def open_datadir(self): """Open the workflow's :attr:`datadir` in Finder.""" - subprocess.call(['open', self.datadir]) + subprocess.call(["open", self.datadir]) # nosec def open_workflowdir(self): """Open the workflow's :attr:`workflowdir` in Finder.""" - subprocess.call(['open', self.workflowdir]) + subprocess.call(["open", self.workflowdir]) # nosec def open_terminal(self): """Open a Terminal window at workflow's :attr:`workflowdir`.""" - subprocess.call(['open', '-a', 'Terminal', - self.workflowdir]) + subprocess.call(["open", "-a", "Terminal", self.workflowdir]) # nosec def open_help(self): """Open :attr:`help_url` in default browser.""" - subprocess.call(['open', self.help_url]) + subprocess.call(["open", self.help_url]) # nosec - return 'Opening workflow help URL in browser' + return "Opening workflow help URL in browser" #################################################################### # Helper methods @@ -2887,8 +2760,8 @@ def decode(self, text, encoding=None, normalization=None): """ encoding = encoding or self._input_encoding normalization = normalization or self._normalizsation - if not isinstance(text, unicode): - text = unicode(text, encoding) + if not isinstance(text, str): + text = str(text, encoding) return unicodedata.normalize(normalization, text) def fold_to_ascii(self, text): @@ -2906,9 +2779,8 @@ def fold_to_ascii(self, text): """ if isascii(text): return text - text = ''.join([ASCII_REPLACEMENTS.get(c, c) for c in text]) - return unicode(unicodedata.normalize('NFKD', - text).encode('ascii', 'ignore')) + text = "".join([ASCII_REPLACEMENTS.get(c, c) for c in text]) + return unicodedata.normalize("NFKD", text) def dumbify_punctuation(self, text): """Convert non-ASCII punctuation to closest ASCII equivalent. @@ -2928,7 +2800,7 @@ def dumbify_punctuation(self, text): if isascii(text): return text - text = ''.join([DUMB_PUNCTUATION.get(c, c) for c in text]) + text = "".join([DUMB_PUNCTUATION.get(c, c) for c in text]) return text def _delete_directory_contents(self, dirpath, filter_func): @@ -2950,12 +2822,13 @@ def _delete_directory_contents(self, dirpath, filter_func): shutil.rmtree(path) else: os.unlink(path) - self.logger.debug('deleted : %r', path) + self.logger.debug("deleted : %r", path) def _load_info_plist(self): """Load workflow info from ``info.plist``.""" # info.plist should be in the directory above this one - self._info = plistlib.readPlist(self.workflowfile('info.plist')) + with open(self.workflowfile("info.plist"), "rb") as file_obj: + self._info = plistlib.load(file_obj) self._info_loaded = True def _create(self, dirpath): @@ -2995,16 +2868,15 @@ def _call_security(self, action, service, account, *args): :rtype: `tuple` (`int`, ``unicode``) """ - cmd = ['security', action, '-s', service, '-a', account] + list(args) - p = subprocess.Popen(cmd, stdout=subprocess.PIPE, - stderr=subprocess.STDOUT) + cmd = ["security", action, "-s", service, "-a", account] + list(args) + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) stdout, _ = p.communicate() if p.returncode == 44: # password does not exist raise PasswordNotFound() elif p.returncode == 45: # password already exists raise PasswordExists() elif p.returncode > 0: - err = KeychainError('Unknown Keychain error : %s' % stdout) + err = KeychainError("Unknown Keychain error : %s" % stdout) err.retcode = p.returncode raise err - return stdout.strip().decode('utf-8') + return stdout.strip().decode("utf-8") diff --git a/workflow/workflow3.py b/src/workflow/workflow3.py similarity index 72% rename from workflow/workflow3.py rename to src/workflow/workflow3.py index e800b60..3a06e33 100644 --- a/workflow/workflow3.py +++ b/src/workflow/workflow3.py @@ -7,11 +7,11 @@ # Created on 2016-06-25 # -"""An Alfred 3-only version of :class:`~workflow.Workflow`. +"""An Alfred 3+ version of :class:`~workflow.Workflow`. -:class:`~workflow.Workflow3` supports Alfred 3's new features, such as +:class:`~workflow.Workflow3` supports new features, such as setting :ref:`workflow-variables` and -:class:`the more advanced modifiers ` supported by Alfred 3. +:class:`the more advanced modifiers ` supported by Alfred 3+. In order for the feedback mechanism to work correctly, it's important to create :class:`Item3` and :class:`Modifier` objects via the @@ -23,13 +23,12 @@ """ -from __future__ import print_function, unicode_literals, absolute_import import json import os import sys -from .workflow import Workflow +from .workflow import ICON_WARNING, Workflow class Variables(dict): @@ -50,12 +49,16 @@ class Variables(dict): information. Args: - arg (unicode, optional): Main output/``{query}``. + arg (unicode or list, optional): Main output/``{query}``. **variables: Workflow variables to set. + In Alfred 4.1+ and Alfred-Workflow 1.40+, ``arg`` may also be a + :class:`list` or :class:`tuple`. Attributes: - arg (unicode): Output value (``{query}``). + arg (unicode or list): Output value (``{query}``). + In Alfred 4.1+ and Alfred-Workflow 1.40+, ``arg`` may also be a + :class:`list` or :class:`tuple`. config (dict): Configuration for downstream workflow element. """ @@ -68,23 +71,23 @@ def __init__(self, arg=None, **variables): @property def obj(self): - """Return ``alfredworkflow`` `dict`.""" + """``alfredworkflow`` :class:`dict`.""" o = {} if self: d2 = {} - for k, v in self.items(): + for k, v in list(self.items()): d2[k] = v - o['variables'] = d2 + o["variables"] = d2 if self.config: - o['config'] = self.config + o["config"] = self.config if self.arg is not None: - o['arg'] = self.arg + o["arg"] = self.arg - return {'alfredworkflow': o} + return {"alfredworkflow": o} - def __unicode__(self): + def __str__(self): """Convert to ``alfredworkflow`` JSON object. Returns: @@ -92,22 +95,13 @@ def __unicode__(self): """ if not self and not self.config: - if self.arg: + if not self.arg: + return "" + if isinstance(self.arg, str): return self.arg - else: - return u'' return json.dumps(self.obj) - def __str__(self): - """Convert to ``alfredworkflow`` JSON object. - - Returns: - str: UTF-8 encoded ``alfredworkflow`` JSON object - - """ - return unicode(self).encode('utf-8') - class Modifier(object): """Modify :class:`Item3` arg/icon/variables when modifier key is pressed. @@ -149,8 +143,9 @@ class Modifier(object): """ - def __init__(self, key, subtitle=None, arg=None, valid=None, icon=None, - icontype=None): + def __init__( + self, key, subtitle=None, arg=None, valid=None, icon=None, icontype=None + ): """Create a new :class:`Modifier`. Don't use this class directly (as it won't be associated with any @@ -212,23 +207,23 @@ def obj(self): o = {} if self.subtitle is not None: - o['subtitle'] = self.subtitle + o["subtitle"] = self.subtitle if self.arg is not None: - o['arg'] = self.arg + o["arg"] = self.arg if self.valid is not None: - o['valid'] = self.valid + o["valid"] = self.valid if self.variables: - o['variables'] = self.variables + o["variables"] = self.variables if self.config: - o['config'] = self.config + o["config"] = self.config icon = self._icon() if icon: - o['icon'] = icon + o["icon"] = icon return o @@ -241,16 +236,16 @@ def _icon(self): """ icon = {} if self.icon is not None: - icon['path'] = self.icon + icon["path"] = self.icon if self.icontype is not None: - icon['type'] = self.icontype + icon["type"] = self.icontype return icon class Item3(object): - """Represents a feedback item for Alfred 3. + """Represents a feedback item for Alfred 3+. Generates Alfred-compliant JSON for a single item. @@ -261,9 +256,22 @@ class Item3(object): """ - def __init__(self, title, subtitle='', arg=None, autocomplete=None, - match=None, valid=False, uid=None, icon=None, icontype=None, - type=None, largetext=None, copytext=None, quicklookurl=None): + def __init__( + self, + title, + subtitle="", + arg=None, + autocomplete=None, + match=None, + valid=False, + uid=None, + icon=None, + icontype=None, + type=None, + largetext=None, + copytext=None, + quicklookurl=None, + ): """Create a new :class:`Item3` object. Use same arguments as for @@ -314,8 +322,9 @@ def getvar(self, name, default=None): """ return self.variables.get(name, default) - def add_modifier(self, key, subtitle=None, arg=None, valid=None, icon=None, - icontype=None): + def add_modifier( + self, key, subtitle=None, arg=None, valid=None, icon=None, icontype=None + ): """Add alternative values for a modifier key. Args: @@ -328,14 +337,17 @@ def add_modifier(self, key, subtitle=None, arg=None, valid=None, icon=None, :meth:`Workflow.add_item() ` for valid values. + In Alfred 4.1+ and Alfred-Workflow 1.40+, ``arg`` may also be a + :class:`list` or :class:`tuple`. + Returns: Modifier: Configured :class:`Modifier`. """ mod = Modifier(key, subtitle, arg, valid, icon, icontype) - for k in self.variables: - mod.setvar(k, self.variables[k]) + # Add Item variables to Modifier + mod.variables.update(self.variables) self.modifiers[key] = mod @@ -350,50 +362,46 @@ def obj(self): """ # Required values - o = { - 'title': self.title, - 'subtitle': self.subtitle, - 'valid': self.valid, - } + o = {"title": self.title, "subtitle": self.subtitle, "valid": self.valid} # Optional values if self.arg is not None: - o['arg'] = self.arg + o["arg"] = self.arg if self.autocomplete is not None: - o['autocomplete'] = self.autocomplete + o["autocomplete"] = self.autocomplete if self.match is not None: - o['match'] = self.match + o["match"] = self.match if self.uid is not None: - o['uid'] = self.uid + o["uid"] = self.uid if self.type is not None: - o['type'] = self.type + o["type"] = self.type if self.quicklookurl is not None: - o['quicklookurl'] = self.quicklookurl + o["quicklookurl"] = self.quicklookurl if self.variables: - o['variables'] = self.variables + o["variables"] = self.variables if self.config: - o['config'] = self.config + o["config"] = self.config # Largetype and copytext text = self._text() if text: - o['text'] = text + o["text"] = text icon = self._icon() if icon: - o['icon'] = icon + o["icon"] = icon # Modifiers mods = self._modifiers() if mods: - o['mods'] = mods + o["mods"] = mods return o @@ -406,10 +414,10 @@ def _icon(self): """ icon = {} if self.icon is not None: - icon['path'] = self.icon + icon["path"] = self.icon if self.icontype is not None: - icon['type'] = self.icontype + icon["type"] = self.icontype return icon @@ -422,10 +430,10 @@ def _text(self): """ text = {} if self.largetext is not None: - text['largetype'] = self.largetext + text["largetype"] = self.largetext if self.copytext is not None: - text['copy'] = self.copytext + text["copy"] = self.copytext return text @@ -438,7 +446,7 @@ def _modifiers(self): """ if self.modifiers: mods = {} - for k, mod in self.modifiers.items(): + for k, mod in list(self.modifiers.items()): mods[k] = mod.obj return mods @@ -447,10 +455,10 @@ def _modifiers(self): class Workflow3(Workflow): - """Workflow class that generates Alfred 3 feedback. + """Workflow class that generates Alfred 3+ feedback. - ``Workflow3`` is a subclass of :class:`~workflow.Workflow` and - most of its methods are documented there. + It is a subclass of :class:`~workflow.Workflow` and most of its + methods are documented there. Attributes: item_class (class): Class used to generate feedback items. @@ -470,25 +478,27 @@ def __init__(self, **kwargs): self.variables = {} self._rerun = 0 # Get session ID from environment if present - self._session_id = os.getenv('_WF_SESSION_ID') or None + self._session_id = os.getenv("_WF_SESSION_ID") or None if self._session_id: - self.setvar('_WF_SESSION_ID', self._session_id) + self.setvar("_WF_SESSION_ID", self._session_id) @property def _default_cachedir(self): - """Alfred 3's default cache directory.""" + """Alfred 4's default cache directory.""" return os.path.join( os.path.expanduser( - '~/Library/Caches/com.runningwithcrayons.Alfred-3/' - 'Workflow Data/'), - self.bundleid) + "~/Library/Caches/com.runningwithcrayons.Alfred/" "Workflow Data/" + ), + self.bundleid, + ) @property def _default_datadir(self): - """Alfred 3's default data directory.""" - return os.path.join(os.path.expanduser( - '~/Library/Application Support/Alfred 3/Workflow Data/'), - self.bundleid) + """Alfred 4's default data directory.""" + return os.path.join( + os.path.expanduser("~/Library/Application Support/Alfred/Workflow Data/"), + self.bundleid, + ) @property def rerun(self): @@ -517,14 +527,17 @@ def session_id(self): """ if not self._session_id: from uuid import uuid4 + self._session_id = uuid4().hex - self.setvar('_WF_SESSION_ID', self._session_id) + self.setvar("_WF_SESSION_ID", self._session_id) return self._session_id - def setvar(self, name, value): + def setvar(self, name, value, persist=False): """Set a "global" workflow variable. + .. versionchanged:: 1.33 + These variables are always passed to downstream workflow objects. If you have set :attr:`rerun`, these variables are also passed @@ -533,9 +546,17 @@ def setvar(self, name, value): Args: name (unicode): Name of variable. value (unicode): Value of variable. + persist (bool, optional): Also save variable to ``info.plist``? """ self.variables[name] = value + if persist: + from .util import set_config + + set_config(name, value, self.bundleid) + self.logger.debug( + "saved variable %r with value %r to info.plist", name, value + ) def getvar(self, name, default=None): """Return value of workflow variable for ``name`` or ``default``. @@ -550,9 +571,22 @@ def getvar(self, name, default=None): """ return self.variables.get(name, default) - def add_item(self, title, subtitle='', arg=None, autocomplete=None, - valid=False, uid=None, icon=None, icontype=None, type=None, - largetext=None, copytext=None, quicklookurl=None, match=None): + def add_item( + self, + title, + subtitle="", + arg=None, + autocomplete=None, + valid=False, + uid=None, + icon=None, + icontype=None, + type=None, + largetext=None, + copytext=None, + quicklookurl=None, + match=None, + ): """Add an item to be output to Alfred. Args: @@ -560,6 +594,9 @@ def add_item(self, title, subtitle='', arg=None, autocomplete=None, turned on for your Script Filter, Alfred (version 3.5 and above) will filter against this field, not ``title``. + In Alfred 4.1+ and Alfred-Workflow 1.40+, ``arg`` may also be a + :class:`list` or :class:`tuple`. + See :meth:`Workflow.add_item() ` for the main documentation and other parameters. @@ -571,9 +608,24 @@ def add_item(self, title, subtitle='', arg=None, autocomplete=None, Item3: Alfred feedback item. """ - item = self.item_class(title, subtitle, arg, autocomplete, - match, valid, uid, icon, icontype, type, - largetext, copytext, quicklookurl) + item = self.item_class( + title, + subtitle, + arg, + autocomplete, + match, + valid, + uid, + icon, + icontype, + type, + largetext, + copytext, + quicklookurl, + ) + + # Add variables to child item + item.variables.update(self.variables) self._items.append(item) return item @@ -581,7 +633,7 @@ def add_item(self, title, subtitle='', arg=None, autocomplete=None, @property def _session_prefix(self): """Filename prefix for current session.""" - return '_wfsess-{0}-'.format(self.session_id) + return "_wfsess-{0}-".format(self.session_id) def _mk_session_name(self, name): """New cache name/key based on session ID.""" @@ -651,11 +703,13 @@ def clear_session_cache(self, current=False): current session. """ + def _is_session_file(filename): if current: - return filename.startswith('_wfsess-') - return filename.startswith('_wfsess-') \ - and not filename.startswith(self._session_prefix) + return filename.startswith("_wfsess-") + return filename.startswith("_wfsess-") and not filename.startswith( + self._session_prefix + ) self.clear_cache(_is_session_file) @@ -671,14 +725,43 @@ def obj(self): for item in self._items: items.append(item.obj) - o = {'items': items} + o = {"items": items} if self.variables: - o['variables'] = self.variables + o["variables"] = self.variables if self.rerun: - o['rerun'] = self.rerun + o["rerun"] = self.rerun return o + def warn_empty(self, title, subtitle="", icon=None): + """Add a warning to feedback if there are no items. + + .. versionadded:: 1.31 + + Add a "warning" item to Alfred feedback if no other items + have been added. This is a handy shortcut to prevent Alfred + from showing its fallback searches, which is does if no + items are returned. + + Args: + title (unicode): Title of feedback item. + subtitle (unicode, optional): Subtitle of feedback item. + icon (str, optional): Icon for feedback item. If not + specified, ``ICON_WARNING`` is used. + + Returns: + Item3: Newly-created item. + + """ + if len(self._items): + return + + icon = icon or ICON_WARNING + return self.add_item(title, subtitle, icon=icon) + def send_feedback(self): """Print stored items to console/Alfred as JSON.""" - json.dump(self.obj, sys.stdout) + if self.debugging: + json.dump(self.obj, sys.stdout, indent=2, separators=(",", ": ")) + else: + json.dump(self.obj, sys.stdout) sys.stdout.flush() diff --git a/utils.pyc b/utils.pyc deleted file mode 100644 index 51460d96368b651f3447791071499b0cc341796a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4820 zcmdT|TXP#p6+SbPB}?%|vEyvKkVRa!R#5n|PVj~lwS{cUTU%MQ)Yyp=Q6R>eQ9SZo zl$q8#uClABHBVIW!V~-xiod}lTfhVV0N&yI&PcX)_YVZcYIUFPK7G2+cfLNI!oTOM zfB)0w)1Hh!HhzDKZ}wLd9{wx|MIw<7N=rJHSd`il+S0LgL_xxWL`CTo^S+{lGZK}g zQMu!nTcRcD zEaiP=36~{Wmd-NTv+`Tmc1OI5R#wETYUQqYx3uz>cyn60N2?DS^VnDLUwj(es+r|B zUE`Y|@=bBvXg4hO-9~ZL?(RQr?;d{qX}jyRK59L0lqOw!&BNAB=g*oyH;d?c>6flkHT;wTN%&Qal_Ofrb*AwvLrQcqi3)A;-LHKe)p)=deUv~>^QAw zA2(^#LB5R{j7if`=o^~%qSbUhd692|dph#{)4avq58X8LCwuO3ryNtkcNgExMPbzO z7a{|Tr^X6=T@X_cugK<=6fZ5ofemI*mrIPXWKfa|44V;CmMhD;#CQytm5aPmkwKM% zujmGv*)~;_$LCQJn-kAH$F%FF`l6ruuT$kK4@{A7Z^{%~>l}j}b%1 z(G9!!X1_-PtkC^ARxCJP(zOX@KIRD2 zS1*eKG!M!OAV(PV{I4)*00(*RPUm$U{@GtXMs7SqlG78zT#>76f<+7^H@gV@OclGwSrU%GeuVl>_qn~|;vP?r#pz!|Q>ZFqIuu+dP~V^2Z0^BBMw5ahQ>eFYgP%mL#Iw|)#D_Cg<|v|c~* z-}{W99RbL09btU}DhY#QK;6YCAlamDoP~gPj$wi{U|3_LD0nXhs7PCvbBHR3)ao$o z9de!GX4eh<*aIWeC`IAkq2l|Q8;<-|nkK0#K#WcSQKwDDf&w3 z8qgi+t<1aJRvHFgp=ME$E^=Ct^mAV1K<%}h@GVLV;>Gk?*2lfIsab!Xnx*m_^zn+y zF%jn7=J;Gb*040C;Xf0#DnyvXHN6usR}%KL4$18&M)~SR(xy2jQoHHtc^3@(?H03PDUCK+UTc2p!onpB*XR0fY6?76bB3p zW#4lj@jxCuL$=k8N6|6vc!t)y&m4kV$s03}k2DAbhf6y&4bDLJ=I1$#YkDUR1=@Ux zn`-EgaCJeXC{B|N-U^`OKKWgPkc&dILjzQRJQUey>TqO(5OTKI#Sm5lF_>}Ze3M-* z7F6u)uuyYp-kI*KKSIid)|;Kdtir&Xkk5$PSs$lJ_sW|;8+wQw;a1(nm1q<>`dx@$GJ<^cS6ErSS5u*zu2ua!K6 zzo5ql8WyZ9$N&MZAwORG{38Lkj<<(sFH0&GN=B9@T(N>?a9fu`Kw?w4*079*7wX)> zQT!Jvnq@hyO8O5ApL3i5)|;MX>#WMepu93=&{$!9BuB6QX-yRVO%?8aO(BjGjG+6u ztd7-k(K~7+nBv;VLT==%FQ^G-;+{qQIo5a{Tk_l^N6_PK<%W#N|BeRbS?v4(jRqfQ zU%d=}Oj(@;!Ikp?;_Z8s6j*$h#X1WHkAtr`Oha^NsVe_Pkxd?>EM^cPz>ZRzrP9H93v%p{7Z*<|sF5&5&=4oX!_8B<}^C@{O0}FyYlQ zm17YPO4?>JftmlhKJN9&s}Ed#uTh(JYC4oU@6rg)4>CL*{8POQG-=Z}LXJg+EfMSd x0>zCNwf3gIPG@22Pol)be{g)r=+sR9E__w9*FoEJ#hO(sRLYh6mA5PR{|9HCIX(aY diff --git a/workflow/__init__.py b/workflow/__init__.py deleted file mode 100644 index 2c4f8c0..0000000 --- a/workflow/__init__.py +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/env python -# encoding: utf-8 -# -# Copyright (c) 2014 Dean Jackson -# -# MIT Licence. See http://opensource.org/licenses/MIT -# -# Created on 2014-02-15 -# - -"""A helper library for `Alfred `_ workflows.""" - -import os - -# Workflow objects -from .workflow import Workflow, manager -from .workflow3 import Variables, Workflow3 - -# Exceptions -from .workflow import PasswordNotFound, KeychainError - -# Icons -from .workflow import ( - ICON_ACCOUNT, - ICON_BURN, - ICON_CLOCK, - ICON_COLOR, - ICON_COLOUR, - ICON_EJECT, - ICON_ERROR, - ICON_FAVORITE, - ICON_FAVOURITE, - ICON_GROUP, - ICON_HELP, - ICON_HOME, - ICON_INFO, - ICON_NETWORK, - ICON_NOTE, - ICON_SETTINGS, - ICON_SWIRL, - ICON_SWITCH, - ICON_SYNC, - ICON_TRASH, - ICON_USER, - ICON_WARNING, - ICON_WEB, -) - -# Filter matching rules -from .workflow import ( - MATCH_ALL, - MATCH_ALLCHARS, - MATCH_ATOM, - MATCH_CAPITALS, - MATCH_INITIALS, - MATCH_INITIALS_CONTAIN, - MATCH_INITIALS_STARTSWITH, - MATCH_STARTSWITH, - MATCH_SUBSTRING, -) - - -__title__ = 'Alfred-Workflow' -__version__ = open(os.path.join(os.path.dirname(__file__), 'version')).read() -__author__ = 'Dean Jackson' -__licence__ = 'MIT' -__copyright__ = 'Copyright 2014-2017 Dean Jackson' - -__all__ = [ - 'Variables', - 'Workflow', - 'Workflow3', - 'manager', - 'PasswordNotFound', - 'KeychainError', - 'ICON_ACCOUNT', - 'ICON_BURN', - 'ICON_CLOCK', - 'ICON_COLOR', - 'ICON_COLOUR', - 'ICON_EJECT', - 'ICON_ERROR', - 'ICON_FAVORITE', - 'ICON_FAVOURITE', - 'ICON_GROUP', - 'ICON_HELP', - 'ICON_HOME', - 'ICON_INFO', - 'ICON_NETWORK', - 'ICON_NOTE', - 'ICON_SETTINGS', - 'ICON_SWIRL', - 'ICON_SWITCH', - 'ICON_SYNC', - 'ICON_TRASH', - 'ICON_USER', - 'ICON_WARNING', - 'ICON_WEB', - 'MATCH_ALL', - 'MATCH_ALLCHARS', - 'MATCH_ATOM', - 'MATCH_CAPITALS', - 'MATCH_INITIALS', - 'MATCH_INITIALS_CONTAIN', - 'MATCH_INITIALS_STARTSWITH', - 'MATCH_STARTSWITH', - 'MATCH_SUBSTRING', -] diff --git a/workflow/__init__.pyc b/workflow/__init__.pyc deleted file mode 100644 index 90c01a22f8e9e5e13983ff32d9915277fc0d35ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4893 zcmb_g>yF#T6&`zS$6?|mzU1yC6aSG`SW&j)w8kPER93WJA!}(%X}dOqfTF~aG+o}p z8CsT$0!1IB57vk1pT0o9GbAP14gv(I0L?CE=G@Qu&Y^bxd(GPUcW*Rh<>w;){s~|8 zA1nc5F4haoy}*KtEZAY;MHcNacZWrnn0tvumzjH+U7)i|=Ijb{udwJX=Dx+EtIWO1 zqPLm*Hj6CgS}b~px$m&(UFN>aqHD~(#-jI_`yPwlXYTtf`hd9~u;@B-ue0a|b8oQd zCUbAH=oWKtvFJnQe#oManEMfnK4$L6Ec%4GpRmYCG#Xqs8hpy!Pg(RCb3bFz=gj?_ zMYoxIn?+wR_X`$%$=okl^c8czVi9L9XVKTp{TdcrVZ-`cWcS1O7_-{^WTh8L%oid| zMaDxp$^2}^XGzA#?QoWffZyleEwoPeTdn1CY5Qi=Pg8rEM6K_~9zRR6^I4cIEk6gV zOxc!IQdTF5>s2bJei*K}_Rj^+6=cac&GjCi2|Zo#z}G&XWl6;KLhv&&;YntRP>JP2 zWCFKjs6m6ni2HHC1F6!`U-3++Jk$`77(!xf^G2gkpjj!Ish^K-_0_FsYe6ep?O@88M3ItqDGnr~!pXZT?H5fGcNW9QI5Yr^U zjaHmwksnIsYnjA!Jk&`>q{d28UkR-X;Z5H0r=-Zn1$$iBb9;|3;RV?9Tuz1JOQ{#! z=SoItD0us%XJVA6U`fQ{MJf?2iyJmZrkLiLfX7uSylw=q;wkR$^3+#qnPjjpH&zXX z{3-uYtfmWJ8l4}DSY!qBr%#S~l52#^2rZmTGJ5ee%*kZPM|fgCEHg+#N|4Q}#fh**Wlk8p(y`*SX*=e+yEr|4M++aJq1LiW`Z zUnEQNkD|Zu7)bf}M8=cE&jMS1B>=KY9YxqM?RTH10U;9l!s?!DED};Gw6F~-AAUd3I?SD{D9Xe z?#;@xO+S^*bFr!w*8(x)5z3;zoIz8POrJapiIA|7q5=}TqDQz|&+oNNU|K~iYiqjH z&-_S%G>}tWC(!hCaxUV7Qky;aA&>RJ{kzC{LK1yY`>RUg+U}Y~25O*#Jr}wTHTF== z#B=L{o%vD;5A>eWzRp#Bb4cJ$s!>8@HnFbn{!}x{)_&gDM>Z~JHmcZ@T10ia@KY@i z1^xlqYCl7;*<2u-=n0s3@XF3wV`8@b$z@R8^wolBp93+2gHe{F)Fp8Epo-TvS^?rh9i&fv5v8@9YbXe3@pjo{i@9@mL* zml&I>h*1`URK)z$IYtiqQ-X9VQ-c!~y8@lZP-TtWS;1UG;R)q+-k5;%Ydg73fo}j>{(Qc9@ zOX`P~)r*k?VQBi%E9hfcXVh0xnOe>AV_DBi4P-$D4c=&{$Xx<;bQe?UM%=pcs8#Kw zqAA|sj4MVuZ#Fd&MCgMSp?^y!t!UL+Q@thw0cbS(i588btWe{ zfag`&8d&ZRf}7$90>V0u$%FY zAZ!kc@`)Mj0^!F}Ekx@z)F^T)5AGlYYT3)b85EM3{Hn#XCv;hGdMlj@H^@r zpKOHpyQ8y#^P{n9gSeea6>+F+QXyGVj}<^Zhl+@buAe~}8Ff0TUA6&Hck~5AQx|-t9hUHy=E>-)TO2^v8S6`*;6vxBKwn!ygX6Ib0LB fwjj!Q_PZzv@=$#L52&liYgaB_*|~k;pO^m!dZWYw diff --git a/workflow/update.py b/workflow/update.py deleted file mode 100644 index 37569bb..0000000 --- a/workflow/update.py +++ /dev/null @@ -1,426 +0,0 @@ -#!/usr/bin/env python -# encoding: utf-8 -# -# Copyright (c) 2014 Fabio Niephaus , -# Dean Jackson -# -# MIT Licence. See http://opensource.org/licenses/MIT -# -# Created on 2014-08-16 -# - -"""Self-updating from GitHub. - -.. versionadded:: 1.9 - -.. note:: - - This module is not intended to be used directly. Automatic updates - are controlled by the ``update_settings`` :class:`dict` passed to - :class:`~workflow.workflow.Workflow` objects. - -""" - -from __future__ import print_function, unicode_literals - -import os -import tempfile -import re -import subprocess - -import workflow -import web - -# __all__ = [] - - -RELEASES_BASE = 'https://api.github.com/repos/{0}/releases' - - -_wf = None - - -def wf(): - """Lazy `Workflow` object.""" - global _wf - if _wf is None: - _wf = workflow.Workflow() - return _wf - - -class Version(object): - """Mostly semantic versioning. - - The main difference to proper :ref:`semantic versioning ` - is that this implementation doesn't require a minor or patch version. - - Version strings may also be prefixed with "v", e.g.: - - >>> v = Version('v1.1.1') - >>> v.tuple - (1, 1, 1, '') - - >>> v = Version('2.0') - >>> v.tuple - (2, 0, 0, '') - - >>> Version('3.1-beta').tuple - (3, 1, 0, 'beta') - - >>> Version('1.0.1') > Version('0.0.1') - True - """ - - #: Match version and pre-release/build information in version strings - match_version = re.compile(r'([0-9\.]+)(.+)?').match - - def __init__(self, vstr): - """Create new `Version` object. - - Args: - vstr (basestring): Semantic version string. - """ - self.vstr = vstr - self.major = 0 - self.minor = 0 - self.patch = 0 - self.suffix = '' - self.build = '' - self._parse(vstr) - - def _parse(self, vstr): - if vstr.startswith('v'): - m = self.match_version(vstr[1:]) - else: - m = self.match_version(vstr) - if not m: - raise ValueError('invalid version number: {0}'.format(vstr)) - - version, suffix = m.groups() - parts = self._parse_dotted_string(version) - self.major = parts.pop(0) - if len(parts): - self.minor = parts.pop(0) - if len(parts): - self.patch = parts.pop(0) - if not len(parts) == 0: - raise ValueError('invalid version (too long) : {0}'.format(vstr)) - - if suffix: - # Build info - idx = suffix.find('+') - if idx > -1: - self.build = suffix[idx+1:] - suffix = suffix[:idx] - if suffix: - if not suffix.startswith('-'): - raise ValueError( - 'suffix must start with - : {0}'.format(suffix)) - self.suffix = suffix[1:] - - # wf().logger.debug('version str `{}` -> {}'.format(vstr, repr(self))) - - def _parse_dotted_string(self, s): - """Parse string ``s`` into list of ints and strings.""" - parsed = [] - parts = s.split('.') - for p in parts: - if p.isdigit(): - p = int(p) - parsed.append(p) - return parsed - - @property - def tuple(self): - """Version number as a tuple of major, minor, patch, pre-release.""" - return (self.major, self.minor, self.patch, self.suffix) - - def __lt__(self, other): - """Implement comparison.""" - if not isinstance(other, Version): - raise ValueError('not a Version instance: {0!r}'.format(other)) - t = self.tuple[:3] - o = other.tuple[:3] - if t < o: - return True - if t == o: # We need to compare suffixes - if self.suffix and not other.suffix: - return True - if other.suffix and not self.suffix: - return False - return (self._parse_dotted_string(self.suffix) < - self._parse_dotted_string(other.suffix)) - # t > o - return False - - def __eq__(self, other): - """Implement comparison.""" - if not isinstance(other, Version): - raise ValueError('not a Version instance: {0!r}'.format(other)) - return self.tuple == other.tuple - - def __ne__(self, other): - """Implement comparison.""" - return not self.__eq__(other) - - def __gt__(self, other): - """Implement comparison.""" - if not isinstance(other, Version): - raise ValueError('not a Version instance: {0!r}'.format(other)) - return other.__lt__(self) - - def __le__(self, other): - """Implement comparison.""" - if not isinstance(other, Version): - raise ValueError('not a Version instance: {0!r}'.format(other)) - return not other.__lt__(self) - - def __ge__(self, other): - """Implement comparison.""" - return not self.__lt__(other) - - def __str__(self): - """Return semantic version string.""" - vstr = '{0}.{1}.{2}'.format(self.major, self.minor, self.patch) - if self.suffix: - vstr = '{0}-{1}'.format(vstr, self.suffix) - if self.build: - vstr = '{0}+{1}'.format(vstr, self.build) - return vstr - - def __repr__(self): - """Return 'code' representation of `Version`.""" - return "Version('{0}')".format(str(self)) - - -def download_workflow(url): - """Download workflow at ``url`` to a local temporary file. - - :param url: URL to .alfredworkflow file in GitHub repo - :returns: path to downloaded file - - """ - filename = url.split('/')[-1] - - if (not filename.endswith('.alfredworkflow') and - not filename.endswith('.alfred3workflow')): - raise ValueError('attachment not a workflow: {0}'.format(filename)) - - local_path = os.path.join(tempfile.gettempdir(), filename) - - wf().logger.debug( - 'downloading updated workflow from `%s` to `%s` ...', url, local_path) - - response = web.get(url) - - with open(local_path, 'wb') as output: - output.write(response.content) - - return local_path - - -def build_api_url(slug): - """Generate releases URL from GitHub slug. - - :param slug: Repo name in form ``username/repo`` - :returns: URL to the API endpoint for the repo's releases - - """ - if len(slug.split('/')) != 2: - raise ValueError('invalid GitHub slug: {0}'.format(slug)) - - return RELEASES_BASE.format(slug) - - -def _validate_release(release): - """Return release for running version of Alfred.""" - alf3 = wf().alfred_version.major == 3 - - downloads = {'.alfredworkflow': [], '.alfred3workflow': []} - dl_count = 0 - version = release['tag_name'] - - for asset in release.get('assets', []): - url = asset.get('browser_download_url') - if not url: # pragma: nocover - continue - - ext = os.path.splitext(url)[1].lower() - if ext not in downloads: - continue - - # Ignore Alfred 3-only files if Alfred 2 is running - if ext == '.alfred3workflow' and not alf3: - continue - - downloads[ext].append(url) - dl_count += 1 - - # download_urls.append(url) - - if dl_count == 0: - wf().logger.warning( - 'invalid release (no workflow file): %s', version) - return None - - for k in downloads: - if len(downloads[k]) > 1: - wf().logger.warning( - 'invalid release (multiple %s files): %s', k, version) - return None - - # Prefer .alfred3workflow file if there is one and Alfred 3 is - # running. - if alf3 and len(downloads['.alfred3workflow']): - download_url = downloads['.alfred3workflow'][0] - - else: - download_url = downloads['.alfredworkflow'][0] - - wf().logger.debug('release %s: %s', version, download_url) - - return { - 'version': version, - 'download_url': download_url, - 'prerelease': release['prerelease'] - } - - -def get_valid_releases(github_slug, prereleases=False): - """Return list of all valid releases. - - :param github_slug: ``username/repo`` for workflow's GitHub repo - :param prereleases: Whether to include pre-releases. - :returns: list of dicts. Each :class:`dict` has the form - ``{'version': '1.1', 'download_url': 'http://github.com/...', - 'prerelease': False }`` - - - A valid release is one that contains one ``.alfredworkflow`` file. - - If the GitHub version (i.e. tag) is of the form ``v1.1``, the leading - ``v`` will be stripped. - - """ - api_url = build_api_url(github_slug) - releases = [] - - wf().logger.debug('retrieving releases list: %s', api_url) - - def retrieve_releases(): - wf().logger.info( - 'retrieving releases: %s', github_slug) - return web.get(api_url).json() - - slug = github_slug.replace('/', '-') - for release in wf().cached_data('gh-releases-' + slug, retrieve_releases): - - release = _validate_release(release) - if release is None: - wf().logger.debug('invalid release: %r', release) - continue - - elif release['prerelease'] and not prereleases: - wf().logger.debug('ignoring prerelease: %s', release['version']) - continue - - wf().logger.debug('release: %r', release) - - releases.append(release) - - return releases - - -def check_update(github_slug, current_version, prereleases=False): - """Check whether a newer release is available on GitHub. - - :param github_slug: ``username/repo`` for workflow's GitHub repo - :param current_version: the currently installed version of the - workflow. :ref:`Semantic versioning ` is required. - :param prereleases: Whether to include pre-releases. - :type current_version: ``unicode`` - :returns: ``True`` if an update is available, else ``False`` - - If an update is available, its version number and download URL will - be cached. - - """ - releases = get_valid_releases(github_slug, prereleases) - - if not len(releases): - raise ValueError('no valid releases for %s', github_slug) - - wf().logger.info('%d releases for %s', len(releases), github_slug) - - # GitHub returns releases newest-first - latest_release = releases[0] - - # (latest_version, download_url) = get_latest_release(releases) - vr = Version(latest_release['version']) - vl = Version(current_version) - wf().logger.debug('latest=%r, installed=%r', vr, vl) - if vr > vl: - - wf().cache_data('__workflow_update_status', { - 'version': latest_release['version'], - 'download_url': latest_release['download_url'], - 'available': True - }) - - return True - - wf().cache_data('__workflow_update_status', {'available': False}) - return False - - -def install_update(): - """If a newer release is available, download and install it. - - :returns: ``True`` if an update is installed, else ``False`` - - """ - update_data = wf().cached_data('__workflow_update_status', max_age=0) - - if not update_data or not update_data.get('available'): - wf().logger.info('no update available') - return False - - local_file = download_workflow(update_data['download_url']) - - wf().logger.info('installing updated workflow ...') - subprocess.call(['open', local_file]) - - update_data['available'] = False - wf().cache_data('__workflow_update_status', update_data) - return True - - -if __name__ == '__main__': # pragma: nocover - import sys - - def show_help(status=0): - """Print help message.""" - print('Usage : update.py (check|install) ' - '[--prereleases] ') - sys.exit(status) - - argv = sys.argv[:] - if '-h' in argv or '--help' in argv: - show_help() - - prereleases = '--prereleases' in argv - - if prereleases: - argv.remove('--prereleases') - - if len(argv) != 4: - show_help(1) - - action, github_slug, version = argv[1:] - - if action == 'check': - check_update(github_slug, version, prereleases) - elif action == 'install': - install_update() - else: - show_help(1) diff --git a/workflow/version b/workflow/version deleted file mode 100644 index 476d2ce..0000000 --- a/workflow/version +++ /dev/null @@ -1 +0,0 @@ -1.29 \ No newline at end of file diff --git a/workflow/workflow.pyc b/workflow/workflow.pyc deleted file mode 100644 index 2427cf5c0d5e5186e696d37d7772e05ff2844737..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74847 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

rM^(@ikp;pflb)pm(L-3R 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 Ljt!4(c;tTo;|ePq From 1a88d04d879f92e61f532fade87abfa64eab08e1 Mon Sep 17 00:00:00 2001 From: Giovanni <5774411+giovannicoppola@users.noreply.github.com> Date: Fri, 24 Jun 2022 06:57:13 -0400 Subject: [PATCH 02/15] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d9b05e9..33c3fa1 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Right, so this is a date calculator – kind of. It won’t tell you when you wi ![](http://www.packal.org/sites/default/files/public/workflow-files/muppetgatenetdatecalculator/screenshots/screenshot2014-06-21at084104.png) -(Download from [Packal.org](http://www.packal.org/workflow/date-calculator)) + For example, if you enter From 65589e6b91a3dc4da1d8adfd11a0ec064b52f54f Mon Sep 17 00:00:00 2001 From: Giovanni <5774411+giovannicoppola@users.noreply.github.com> Date: Fri, 24 Jun 2022 06:59:46 -0400 Subject: [PATCH 03/15] v4.0 --- releases/DateCalculator_4-0.alfredworkflow | Bin 0 -> 973002 bytes src/info.plist | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 releases/DateCalculator_4-0.alfredworkflow diff --git a/releases/DateCalculator_4-0.alfredworkflow b/releases/DateCalculator_4-0.alfredworkflow new file mode 100644 index 0000000000000000000000000000000000000000..44d28805e380377243e906e66c849982e0dc9674 GIT binary patch literal 973002 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
|5>}4#*i@zJp|!TdJ||j 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𝔛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

  • v8pDxmCK_A{sxdMS6{a4y!fGs;Nf5I5 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%0DIY?Yx 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

    CE=`xP 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 diff --git a/src/info.plist b/src/info.plist index 2469caf..631ebcd 100644 --- a/src/info.plist +++ b/src/info.plist @@ -110,6 +110,16 @@ vitoclose + + destinationuid + AFFA66D0-2238-482F-85D4-97FCFDDDEA93 + modifiers + 0 + modifiersubtext + + vitoclose + + destinationuid AC56E0A1-82E8-4C9C-B6CF-2B53EBD02ABF @@ -517,6 +527,103 @@ python3 date_calculator.py "{query}" version 3 + + config + + concurrently + + escaping + 0 + script + # THESE VARIABLES MUST BE SET. SEE THE ONEUPDATER README FOR AN EXPLANATION OF EACH. +readonly remote_info_plist='https://raw.githubusercontent.com/giovannicoppola/alfred-DateCalculator/master/src/info.plist' +readonly workflow_url='https://github.com/giovannicoppola/alfred-DateCalculator' +readonly download_type='github_release' +readonly frequency_check='7' + +# FROM HERE ON, CODE SHOULD BE LEFT UNTOUCHED! +function abort { + echo "${1}" >&2 + exit 1 +} + +function url_exists { + curl --silent --location --output /dev/null --fail --range 0-0 "${1}" +} + +function notification { + local -r notificator="$(find . -type f -name 'notificator')" + + if [[ -f "${notificator}" && "$(/usr/bin/file --brief --mime-type "${notificator}")" == 'text/x-shellscript' ]]; then + "${notificator}" --message "${1}" --title "${alfred_workflow_name}" --subtitle 'A new version is available' + return + fi + + osascript -e "display notification \"${1}\" with title \"${alfred_workflow_name}\" subtitle \"A new version is available\"" +} + +# Local sanity checks +readonly local_info_plist='info.plist' +readonly local_version="$(/usr/libexec/PlistBuddy -c 'print version' "${local_info_plist}")" + +[[ -n "${local_version}" ]] || abort 'You need to set a workflow version in the configuration sheet.' +[[ "${download_type}" =~ ^(direct|page|github_release)$ ]] || abort "'download_type' (${download_type}) needs to be one of 'direct', 'page', or 'github_release'." +[[ "${frequency_check}" =~ ^[0-9]+$ ]] || abort "'frequency_check' (${frequency_check}) needs to be a number." + +# Check for updates +if [[ $(find "${local_info_plist}" -mtime +"${frequency_check}"d) ]]; then + # Remote sanity check + if ! url_exists "${remote_info_plist}"; then + abort "'remote_info_plist' (${remote_info_plist}) appears to not be reachable." + fi + + readonly tmp_file="$(mktemp)" + curl --silent --location --output "${tmp_file}" "${remote_info_plist}" + readonly remote_version="$(/usr/libexec/PlistBuddy -c 'print version' "${tmp_file}")" + rm "${tmp_file}" + + if [[ "${local_version}" == "${remote_version}" ]]; then + touch "${local_info_plist}" # Reset timer by touching local file + exit 0 + fi + + if [[ "${download_type}" == 'page' ]]; then + notification 'Opening download page…' + open "${workflow_url}" + exit 0 + fi + + readonly download_url="$( + if [[ "${download_type}" == 'github_release' ]]; then + osascript -l JavaScript -e 'function run(argv) { return JSON.parse(argv[0])["assets"].find(asset => asset["browser_download_url"].endsWith(".alfredworkflow"))["browser_download_url"] }' "$(curl --silent "https://api.github.com/repos/${workflow_url}/releases/latest")" + else + echo "${workflow_url}" + fi + )" + + if url_exists "${download_url}"; then + notification 'Downloading and installing…' + readonly download_name="$(basename "${download_url}")" + curl --silent --location --output "${HOME}/Downloads/${download_name}" "${download_url}" + open "${HOME}/Downloads/${download_name}" + else + abort "'workflow_url' (${download_url}) appears to not be reachable." + fi +fi + scriptargtype + 1 + scriptfile + + type + 0 + + type + alfred.workflow.action.script + uid + AFFA66D0-2238-482F-85D4-97FCFDDDEA93 + version + 2 + config @@ -1528,6 +1635,17 @@ THE SOFTWARE. ypos 410 + AFFA66D0-2238-482F-85D4-97FCFDDDEA93 + + colorindex + 12 + note + OneUpdater + xpos + 950 + ypos + 320 + B222BD5C-5A0E-4EC1-9D9E-E308621BC7C8 xpos From 8a5fd4f6cf9c9a49b13b6c94dce8fff44fc934db Mon Sep 17 00:00:00 2001 From: Giovanni <5774411+giovannicoppola@users.noreply.github.com> Date: Fri, 24 Jun 2022 10:42:11 -0400 Subject: [PATCH 05/15] Update date_format_mappings.py --- src/date_format_mappings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/date_format_mappings.py b/src/date_format_mappings.py index e9e741f..6b01bb8 100644 --- a/src/date_format_mappings.py +++ b/src/date_format_mappings.py @@ -16,6 +16,7 @@ def fill_minutes(date_time_str): DATE_MAPPINGS = { 'dd-mm-yy': {'name': 'short UK date (-)', 'date-format': '%d-%m-%y', 'regex': '\d{2}-\d{2}-\d{2}'}, + 'd.m.yyyy': {'name': '🇮🇹 format (.)', 'date-format': '%-d.%-m.%Y', 'regex': '\d{2}\d{2}\d{4}'}, 'dd-mm-yyyy': {'name': 'long UK date (-)', 'date-format': '%d-%m-%Y', 'regex': '\d{2}-\d{2}-\d{4}'}, 'dd/mm/yy': {'name': 'short UK date (/)', 'date-format': '%d/%m/%y', 'regex': '\d{2}/\d{2}/\d{2}'}, 'dd/mm/yyyy': {'name': 'long UK date (/)', 'date-format': '%d/%m/%Y', 'regex': '\d{2}/\d{2}/\d{4}'}, From 74336ff551b5ebbf2c1df82acab3ca1c26d04b3d Mon Sep 17 00:00:00 2001 From: Giovanni <5774411+giovannicoppola@users.noreply.github.com> Date: Fri, 24 Jun 2022 10:46:40 -0400 Subject: [PATCH 06/15] Create DateCalculator_4-0-1.alfredworkflow --- releases/DateCalculator_4-0-1.alfredworkflow | Bin 0 -> 974408 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 releases/DateCalculator_4-0-1.alfredworkflow diff --git a/releases/DateCalculator_4-0-1.alfredworkflow b/releases/DateCalculator_4-0-1.alfredworkflow new file mode 100644 index 0000000000000000000000000000000000000000..ba58400dddd536323fdee912897b0fbfac51dffb GIT binary patch literal 974408 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

    9R1+^WlI5pu2MBh;)r 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

    baJS_x}>BozEh`YqRuVQu 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

    #|1$`ZOR-&zdN&bO{h_s-` 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

    }e?sWxW6iD}MZYcVq{lY59iFqsj5%ARX1< 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%0DQk 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

    ;s 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

    %72nx%_qF#!@i^ZRTd}PwhwPVjyaw26 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 yq5aWG<`ZB4r3f9X}Q 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�Ev|-gH9Qb7m^lOz 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

    R_*}N7Y}cH5vKbmynY}=!xOH*7AI@ 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

    ^^2y~!QHeH;9uEt^XyDkuua_q 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

    tC0YmW7ps)oQw)pVZwE>cx&ZR8GYgqI9E=l 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

    (SO|PHr?&jzTBRLQ>~uEH%w66|O0pGc|DM4ox|D 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 literal 0 HcmV?d00001 diff --git a/src/info.plist b/src/info.plist index fff1b00..2469caf 100644 --- a/src/info.plist +++ b/src/info.plist @@ -1601,6 +1601,8 @@ THE SOFTWARE. userconfigurationconfig + variablesdontexport + version 4 webaddress From a1137782147336b7dc3f48361f932c42ca96c275 Mon Sep 17 00:00:00 2001 From: Giovanni <5774411+giovannicoppola@users.noreply.github.com> Date: Fri, 24 Jun 2022 07:10:47 -0400 Subject: [PATCH 04/15] v4.0 --- releases/DateCalculator_4-0.alfredworkflow | Bin 973002 -> 974354 bytes src/info.plist | 118 +++++++++++++++++++++ 2 files changed, 118 insertions(+) diff --git a/releases/DateCalculator_4-0.alfredworkflow b/releases/DateCalculator_4-0.alfredworkflow index 44d28805e380377243e906e66c849982e0dc9674..9b2f5cf68048cbeeae5e2d1466bf3e82e2427fbc 100644 GIT binary patch delta 12562 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 a%TY*y?GzMLgco4Y6d;Dm8vsDX@&5t&4!&Uk delta 11228 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