mirror of https://github.com/sgoudham/Enso-Bot.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
327 lines
8.0 KiB
Plaintext
327 lines
8.0 KiB
Plaintext
4 years ago
|
Metadata-Version: 2.1
|
||
|
Name: tzlocal
|
||
|
Version: 2.1
|
||
|
Summary: tzinfo object for the local timezone
|
||
|
Home-page: https://github.com/regebro/tzlocal
|
||
|
Author: Lennart Regebro
|
||
|
Author-email: regebro@gmail.com
|
||
|
License: MIT
|
||
|
Keywords: timezone pytz
|
||
|
Platform: UNKNOWN
|
||
|
Classifier: Development Status :: 5 - Production/Stable
|
||
|
Classifier: License :: OSI Approved :: MIT License
|
||
|
Classifier: Operating System :: Microsoft :: Windows
|
||
|
Classifier: Operating System :: Unix
|
||
|
Classifier: Operating System :: MacOS :: MacOS X
|
||
|
Classifier: Programming Language :: Python :: 2.7
|
||
|
Classifier: Programming Language :: Python :: 3
|
||
|
Classifier: Programming Language :: Python :: 3.6
|
||
|
Classifier: Programming Language :: Python :: 3.7
|
||
|
Classifier: Programming Language :: Python :: 3.8
|
||
|
Requires-Dist: pytz
|
||
|
|
||
|
tzlocal
|
||
|
=======
|
||
|
|
||
|
This Python module returns a ``tzinfo`` object with the local timezone information under Unix and Win-32.
|
||
|
It requires ``pytz``, and returns ``pytz`` ``tzinfo`` objects.
|
||
|
|
||
|
This module attempts to fix a glaring hole in ``pytz``, that there is no way to
|
||
|
get the local timezone information, unless you know the zoneinfo name, and
|
||
|
under several Linux distros that's hard or impossible to figure out.
|
||
|
|
||
|
Also, with Windows different timezone system using pytz isn't of much use
|
||
|
unless you separately configure the zoneinfo timezone name.
|
||
|
|
||
|
With ``tzlocal`` you only need to call ``get_localzone()`` and you will get a
|
||
|
``tzinfo`` object with the local time zone info. On some Unices you will still
|
||
|
not get to know what the timezone name is, but you don't need that when you
|
||
|
have the tzinfo file. However, if the timezone name is readily available it
|
||
|
will be used.
|
||
|
|
||
|
|
||
|
Supported systems
|
||
|
-----------------
|
||
|
|
||
|
These are the systems that are in theory supported:
|
||
|
|
||
|
* Windows 2000 and later
|
||
|
|
||
|
* Any unix-like system with a ``/etc/localtime`` or ``/usr/local/etc/localtime``
|
||
|
|
||
|
If you have one of the above systems and it does not work, it's a bug.
|
||
|
Please report it.
|
||
|
|
||
|
Please note that if you getting a time zone called ``local``, this is not a bug, it's
|
||
|
actually the main feature of ``tzlocal``, that even if your system does NOT have a configuration file
|
||
|
with the zoneinfo name of your time zone, it will still work.
|
||
|
|
||
|
You can also use ``tzlocal`` to get the name of your local timezone, but only if your system is
|
||
|
configured to make that possible. ``tzlocal`` looks for the timezone name in ``/etc/timezone``, ``/var/db/zoneinfo``,
|
||
|
``/etc/sysconfig/clock`` and ``/etc/conf.d/clock``. If your ``/etc/localtime`` is a symlink it can also extract the
|
||
|
name from that symlink.
|
||
|
|
||
|
If you need the name of your local time zone, then please make sure your system is properly configured to allow that.
|
||
|
If it isn't configured, tzlocal will default to UTC.
|
||
|
|
||
|
Usage
|
||
|
-----
|
||
|
|
||
|
Load the local timezone:
|
||
|
|
||
|
>>> from tzlocal import get_localzone
|
||
|
>>> tz = get_localzone()
|
||
|
>>> tz
|
||
|
<DstTzInfo 'Europe/Warsaw' WMT+1:24:00 STD>
|
||
|
|
||
|
Create a local datetime:
|
||
|
|
||
|
>>> from datetime import datetime
|
||
|
>>> dt = tz.localize(datetime(2015, 4, 10, 7, 22))
|
||
|
>>> dt
|
||
|
datetime.datetime(2015, 4, 10, 7, 22, tzinfo=<DstTzInfo 'Europe/Warsaw' CEST+2:00:00 DST>)
|
||
|
|
||
|
Lookup another timezone with `pytz`:
|
||
|
|
||
|
>>> import pytz
|
||
|
>>> eastern = pytz.timezone('US/Eastern')
|
||
|
|
||
|
Convert the datetime:
|
||
|
|
||
|
>>> dt.astimezone(eastern)
|
||
|
datetime.datetime(2015, 4, 10, 1, 22, tzinfo=<DstTzInfo 'US/Eastern' EDT-1 day, 20:00:00 DST>)
|
||
|
|
||
|
|
||
|
Maintainer
|
||
|
----------
|
||
|
|
||
|
* Lennart Regebro, regebro@gmail.com
|
||
|
|
||
|
Contributors
|
||
|
------------
|
||
|
|
||
|
* Marc Van Olmen
|
||
|
* Benjamen Meyer
|
||
|
* Manuel Ebert
|
||
|
* Xiaokun Zhu
|
||
|
* Cameris
|
||
|
* Edward Betts
|
||
|
* McK KIM
|
||
|
* Cris Ewing
|
||
|
* Ayala Shachar
|
||
|
* Lev Maximov
|
||
|
* Jakub Wilk
|
||
|
* John Quarles
|
||
|
* Preston Landers
|
||
|
* Victor Torres
|
||
|
* Jean Jordaan
|
||
|
* Zackary Welch
|
||
|
* Mickaël Schoentgen
|
||
|
* Gabriel Corona
|
||
|
|
||
|
(Sorry if I forgot someone)
|
||
|
|
||
|
License
|
||
|
-------
|
||
|
|
||
|
* MIT https://opensource.org/licenses/MIT
|
||
|
|
||
|
|
||
|
Changes
|
||
|
=======
|
||
|
|
||
|
2.1 (2020-05-08)
|
||
|
----------------
|
||
|
|
||
|
- No changes.
|
||
|
|
||
|
|
||
|
2.1b1 (2020-02-08)
|
||
|
------------------
|
||
|
|
||
|
- The is_dst flag is wrong for Europe/Dublin on some Unix releases.
|
||
|
I changed to another way of determining if DST is in effect or not.
|
||
|
|
||
|
- Added support for Python 3.7 and 3.8. Dropped 3.5 although it still works.
|
||
|
|
||
|
|
||
|
2.0.0 (2019-07-23)
|
||
|
------------------
|
||
|
|
||
|
- No differences since 2.0.0b3
|
||
|
|
||
|
Major differences since 1.5.1
|
||
|
.............................
|
||
|
|
||
|
- When no time zone configuration can be find, tzlocal now return UTC.
|
||
|
This is a major difference from 1.x, where an exception would be raised.
|
||
|
This change is because Docker images often have no configuration at all,
|
||
|
and the unix utilities will then default to UTC, so we follow that.
|
||
|
|
||
|
- If tzlocal on Unix finds a timezone name in a /etc config file, then
|
||
|
tzlocal now verifies that the timezone it fouds has the same offset as
|
||
|
the local computer is configured with. If it doesn't, something is
|
||
|
configured incorrectly. (Victor Torres, regebro)
|
||
|
|
||
|
- Get timezone via Termux `getprop` wrapper on Android. It's not officially
|
||
|
supported because we can't test it, but at least we make an effort.
|
||
|
(Jean Jordaan)
|
||
|
|
||
|
Minor differences and bug fixes
|
||
|
...............................
|
||
|
|
||
|
- Skip comment lines when parsing /etc/timezone. (Edward Betts)
|
||
|
|
||
|
- Don't load timezone from current directory. (Gabriel Corona)
|
||
|
|
||
|
- Now verifies that the config files actually contain something before
|
||
|
reading them. (Zackary Welch, regebro)
|
||
|
|
||
|
- Got rid of a BytesWarning (Mickaël Schoentgen)
|
||
|
|
||
|
- Now handles if config file paths exists, but are directories.
|
||
|
|
||
|
- Moved tests out from distributions
|
||
|
|
||
|
- Support wheels
|
||
|
|
||
|
|
||
|
1.5.1 (2017-12-01)
|
||
|
------------------
|
||
|
|
||
|
- 1.5 had a bug that slipped through testing, fixed that,
|
||
|
increased test coverage.
|
||
|
|
||
|
|
||
|
1.5 (2017-11-30)
|
||
|
----------------
|
||
|
|
||
|
- No longer treats macOS as special, but as a unix.
|
||
|
|
||
|
- get_windows_info.py is renamed to update_windows_mappings.py
|
||
|
|
||
|
- Windows mappings now also contain mappings from deprecated zoneinfo names.
|
||
|
(Preston-Landers, regebro)
|
||
|
|
||
|
|
||
|
1.4 (2017-04-18)
|
||
|
----------------
|
||
|
|
||
|
- I use MIT on my other projects, so relicensing.
|
||
|
|
||
|
|
||
|
1.4b1 (2017-04-14)
|
||
|
------------------
|
||
|
|
||
|
- Dropping support for Python versions nobody uses (2.5, 3.1, 3.2), adding 3.6
|
||
|
Python 3.1 and 3.2 still works, 2.5 has been broken for some time.
|
||
|
|
||
|
- Ayalash's OS X fix didn't work on Python 2.7, fixed that.
|
||
|
|
||
|
|
||
|
1.3.2 (2017-04-12)
|
||
|
------------------
|
||
|
|
||
|
- Ensure closing of subprocess on OS X (ayalash)
|
||
|
|
||
|
- Removed unused imports (jwilk)
|
||
|
|
||
|
- Closes stdout and stderr to get rid of ResourceWarnings (johnwquarles)
|
||
|
|
||
|
- Updated Windows timezones (axil)
|
||
|
|
||
|
|
||
|
1.3 (2016-10-15)
|
||
|
----------------
|
||
|
|
||
|
- #34: Added support for /var/db/zoneinfo
|
||
|
|
||
|
|
||
|
1.2.2 (2016-03-02)
|
||
|
------------------
|
||
|
|
||
|
- #30: Fixed a bug on OS X.
|
||
|
|
||
|
|
||
|
1.2.1 (2016-02-28)
|
||
|
------------------
|
||
|
|
||
|
- Tests failed if TZ was set in the environment. (EdwardBetts)
|
||
|
|
||
|
- Replaces os.popen() with subprocess.Popen() for OS X to
|
||
|
handle when systemsetup doesn't exist. (mckabi, cewing)
|
||
|
|
||
|
|
||
|
1.2 (2015-06-14)
|
||
|
----------------
|
||
|
|
||
|
- Systemd stores no time zone name, forcing us to look at the name of the file
|
||
|
that localtime symlinks to. (cameris)
|
||
|
|
||
|
|
||
|
1.1.2 (2014-10-18)
|
||
|
------------------
|
||
|
|
||
|
- Timezones that has 3 items did not work on Mac OS X.
|
||
|
(Marc Van Olmen)
|
||
|
|
||
|
- Now doesn't fail if the TZ environment variable isn't an Olsen time zone.
|
||
|
|
||
|
- Some timezones on Windows can apparently be empty (perhaps the are deleted).
|
||
|
Now these are ignored.
|
||
|
(Xiaokun Zhu)
|
||
|
|
||
|
|
||
|
1.1.1 (2014-01-29)
|
||
|
------------------
|
||
|
|
||
|
- I forgot to add Etc/UTC as an alias for Etc/GMT.
|
||
|
|
||
|
|
||
|
1.1 (2014-01-28)
|
||
|
----------------
|
||
|
|
||
|
- Adding better support for OS X.
|
||
|
|
||
|
- Added support to map from tzdata/Olsen names to Windows names.
|
||
|
(Thanks to Benjamen Meyer).
|
||
|
|
||
|
|
||
|
1.0 (2013-05-29)
|
||
|
----------------
|
||
|
|
||
|
- Fixed some more cases where spaces needs replacing with underscores.
|
||
|
|
||
|
- Better handling of misconfigured /etc/timezone.
|
||
|
|
||
|
- Better error message on Windows if we can't find a timezone at all.
|
||
|
|
||
|
|
||
|
0.3 (2012-09-13)
|
||
|
----------------
|
||
|
|
||
|
- Windows 7 support.
|
||
|
|
||
|
- Python 2.5 supported; because it only needed a __future__ import.
|
||
|
|
||
|
- Python 3.3 tested, it worked.
|
||
|
|
||
|
- Got rid of relative imports, because I don't actually like them,
|
||
|
so I don't know why I used them in the first place.
|
||
|
|
||
|
- For each Windows zone, use the default zoneinfo zone, not the last one.
|
||
|
|
||
|
|
||
|
0.2 (2012-09-12)
|
||
|
----------------
|
||
|
|
||
|
- Python 3 support.
|
||
|
|
||
|
|
||
|
0.1 (2012-09-11)
|
||
|
----------------
|
||
|
|
||
|
- Initial release.
|
||
|
|
||
|
|