Index: third_party/APScheduler/build/lib.linux-x86_64-2.6/apscheduler/util.py |
diff --git a/third_party/APScheduler/build/lib.linux-x86_64-2.6/apscheduler/util.py b/third_party/APScheduler/build/lib.linux-x86_64-2.6/apscheduler/util.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7dfc7676d7386f7ae0640c95e2c461f279a08639 |
--- /dev/null |
+++ b/third_party/APScheduler/build/lib.linux-x86_64-2.6/apscheduler/util.py |
@@ -0,0 +1,91 @@ |
+""" |
+This module contains several handy functions primarily meant for internal use. |
+""" |
+ |
+from datetime import date, datetime, timedelta |
+from time import mktime |
+ |
+__all__ = ('asint', 'asbool', 'convert_to_datetime', 'timedelta_seconds', |
+ 'time_difference', 'datetime_ceil') |
+ |
+ |
+def asint(text): |
+ """ |
+ Safely converts a string to an integer, returning None if the string |
+ is None. |
+ |
+ :type text: str |
+ :rtype: int |
+ """ |
+ if text is not None: |
+ return int(text) |
+ |
+ |
+def asbool(obj): |
+ """ |
+ Interprets an object as a boolean value. |
+ |
+ :rtype: bool |
+ """ |
+ if isinstance(obj, str): |
+ obj = obj.strip().lower() |
+ if obj in ('true', 'yes', 'on', 'y', 't', '1'): |
+ return True |
+ if obj in ('false', 'no', 'off', 'n', 'f', '0'): |
+ return False |
+ raise ValueError('Unable to interpret value "%s" as boolean' % obj) |
+ return bool(obj) |
+ |
+ |
+def convert_to_datetime(dateval): |
+ """ |
+ Converts a date object to a datetime object. |
+ If an actual datetime object is passed, it is returned unmodified. |
+ |
+ :type dateval: date |
+ :rtype: datetime |
+ """ |
+ if isinstance(dateval, datetime): |
+ return dateval |
+ elif isinstance(dateval, date): |
+ return datetime.fromordinal(dateval.toordinal()) |
+ raise TypeError('Expected date, got %s instead' % type(dateval)) |
+ |
+ |
+def timedelta_seconds(delta): |
+ """ |
+ Converts the given timedelta to seconds. |
+ |
+ :type delta: timedelta |
+ :rtype: float |
+ """ |
+ return delta.days * 24 * 60 * 60 + delta.seconds + \ |
+ delta.microseconds / 1000000.0 |
+ |
+ |
+def time_difference(date1, date2): |
+ """ |
+ Returns the time difference in seconds between the given two |
+ datetime objects. The difference is calculated as: date1 - date2. |
+ |
+ :param date1: the later datetime |
+ :type date1: datetime |
+ :param date2: the earlier datetime |
+ :type date2: datetime |
+ :rtype: float |
+ """ |
+ later = mktime(date1.timetuple()) |
+ earlier = mktime(date2.timetuple()) |
+ return int(later - earlier) |
+ |
+ |
+def datetime_ceil(dateval): |
+ """ |
+ Rounds the given datetime object upwards. |
+ |
+ :type dateval: datetime |
+ """ |
+ if dateval.microsecond > 0: |
+ return dateval + timedelta(seconds=1, |
+ microseconds=-dateval.microsecond) |
+ return dateval |