diff --git a/.gitignore b/.gitignore index 28797a3e..dc5dc8c7 100644 --- a/.gitignore +++ b/.gitignore @@ -232,3 +232,4 @@ bootstrap-custom.min.css launchSettings.json /VpnDetectionPrivate.js /Plugins/ScriptPlugins/VpnDetectionPrivate.js +**/Master/env_master \ No newline at end of file diff --git a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/INSTALLER b/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/METADATA b/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/METADATA deleted file mode 100644 index 0eb14ec3..00000000 --- a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/METADATA +++ /dev/null @@ -1,140 +0,0 @@ -Metadata-Version: 2.1 -Name: APScheduler -Version: 3.5.3 -Summary: In-process task scheduler with Cron-like capabilities -Home-page: https://github.com/agronholm/apscheduler -Author: Alex Grönholm -Author-email: apscheduler@nextday.fi -License: MIT -Keywords: scheduling cron -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Provides-Extra: testing -Provides-Extra: rethinkdb -Provides-Extra: redis -Provides-Extra: tornado -Provides-Extra: sqlalchemy -Provides-Extra: mongodb -Provides-Extra: zookeeper -Provides-Extra: gevent -Provides-Extra: asyncio -Provides-Extra: twisted -Requires-Dist: setuptools (>=0.7) -Requires-Dist: six (>=1.4.0) -Requires-Dist: pytz -Requires-Dist: tzlocal (>=1.2) -Requires-Dist: futures; python_version == "2.7" -Requires-Dist: funcsigs; python_version == "2.7" -Provides-Extra: asyncio -Requires-Dist: trollius; (python_version == "2.7") and extra == 'asyncio' -Provides-Extra: gevent -Requires-Dist: gevent; extra == 'gevent' -Provides-Extra: mongodb -Requires-Dist: pymongo (>=2.8); extra == 'mongodb' -Provides-Extra: redis -Requires-Dist: redis; extra == 'redis' -Provides-Extra: rethinkdb -Requires-Dist: rethinkdb; extra == 'rethinkdb' -Provides-Extra: sqlalchemy -Requires-Dist: sqlalchemy (>=0.8); extra == 'sqlalchemy' -Provides-Extra: testing -Requires-Dist: pytest (<3.7); extra == 'testing' -Requires-Dist: pytest-cov; extra == 'testing' -Requires-Dist: pytest-tornado5; extra == 'testing' -Provides-Extra: testing -Requires-Dist: pytest-asyncio (<0.6.0); (python_version != "2.7") and extra == 'testing' -Provides-Extra: testing -Requires-Dist: mock; (python_version == "2.7") and extra == 'testing' -Provides-Extra: tornado -Requires-Dist: tornado (>=4.3); extra == 'tornado' -Provides-Extra: twisted -Requires-Dist: twisted; extra == 'twisted' -Provides-Extra: zookeeper -Requires-Dist: kazoo; extra == 'zookeeper' - -.. image:: https://travis-ci.org/agronholm/apscheduler.svg?branch=master - :target: https://travis-ci.org/agronholm/apscheduler - :alt: Build Status -.. image:: https://coveralls.io/repos/github/agronholm/apscheduler/badge.svg?branch=master - :target: https://coveralls.io/github/agronholm/apscheduler?branch=master - :alt: Code Coverage - -Advanced Python Scheduler (APScheduler) is a Python library that lets you schedule your Python code -to be executed later, either just once or periodically. You can add new jobs or remove old ones on -the fly as you please. If you store your jobs in a database, they will also survive scheduler -restarts and maintain their state. When the scheduler is restarted, it will then run all the jobs -it should have run while it was offline [#f1]_. - -Among other things, APScheduler can be used as a cross-platform, application specific replacement -to platform specific schedulers, such as the cron daemon or the Windows task scheduler. Please -note, however, that APScheduler is **not** a daemon or service itself, nor does it come with any -command line tools. It is primarily meant to be run inside existing applications. That said, -APScheduler does provide some building blocks for you to build a scheduler service or to run a -dedicated scheduler process. - -APScheduler has three built-in scheduling systems you can use: - -* Cron-style scheduling (with optional start/end times) -* Interval-based execution (runs jobs on even intervals, with optional start/end times) -* One-off delayed execution (runs jobs once, on a set date/time) - -You can mix and match scheduling systems and the backends where the jobs are stored any way you -like. Supported backends for storing jobs include: - -* Memory -* `SQLAlchemy `_ (any RDBMS supported by SQLAlchemy works) -* `MongoDB `_ -* `Redis `_ -* `RethinkDB `_ -* `ZooKeeper `_ - -APScheduler also integrates with several common Python frameworks, like: - -* `asyncio `_ (:pep:`3156`) -* `gevent `_ -* `Tornado `_ -* `Twisted `_ -* `Qt `_ (using either - `PyQt `_ or - `PySide `_) - -.. [#f1] The cutoff period for this is also configurable. - - -Documentation -------------- - -Documentation can be found `here `_. - - -Source ------- - -The source can be browsed at `Github `_. - - -Reporting bugs --------------- - -A `bug tracker `_ is provided by Github. - - -Getting help ------------- - -If you have problems or other questions, you can either: - -* Ask in the `apscheduler `_ room on Gitter -* Ask on the `APScheduler Google group `_, or -* Ask on `StackOverflow `_ and tag your - question with the ``apscheduler`` tag - - diff --git a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/RECORD b/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/RECORD deleted file mode 100644 index 0a41308a..00000000 --- a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/RECORD +++ /dev/null @@ -1,82 +0,0 @@ -APScheduler-3.5.3.dist-info/METADATA,sha256=oh5F2iHBxfcQx9t9JCzOCz8lwQHtyflRhrh3wMpsi9Y,5426 -APScheduler-3.5.3.dist-info/RECORD,, -APScheduler-3.5.3.dist-info/WHEEL,sha256=gduuPyBvFJQSQ0zdyxF7k0zynDXbIbvg5ZBHoXum5uk,110 -APScheduler-3.5.3.dist-info/entry_points.txt,sha256=7RgkYN_OYyCUQtIGhj-UNcelnIjsNm7nC9rogdMQh3U,1148 -APScheduler-3.5.3.dist-info/top_level.txt,sha256=O3oMCWxG-AHkecUoO6Ze7-yYjWrttL95uHO8-RFdYvE,12 -apscheduler/__init__.py,sha256=qFEK2ysRBcLiYmm3deyJJ1avUOugaM_nCGHMD42WMBw,380 -apscheduler/events.py,sha256=CQsWk1KgCdpEfXm6H8s08HWExJ_getgfoCe2BGUQRKo,3571 -apscheduler/job.py,sha256=S8Q-uVtG1PKsZpdYdraN2xb7K12vdJnV2oi2PIZp7fU,11008 -apscheduler/util.py,sha256=cXkSLpJAI5mB6Tyr5-WRjHjuQDKCYjRnLZ94f2VUGGg,13113 -apscheduler/executors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -apscheduler/executors/asyncio.py,sha256=HR8SmX-IJnN2FprdtdX65glYhRXbWurzkocKLyQt2xQ,2111 -apscheduler/executors/base.py,sha256=hogiMc_t-huw6BMod0HEeY2FhRNmAAUyNNuBHvIX31M,5336 -apscheduler/executors/base_py3.py,sha256=s_4siAjBHrr7JZnm64VVow9zyvs2JBc-VRPkPuDeBTI,1775 -apscheduler/executors/debug.py,sha256=15_ogSBzl8RRCfBYDnkIV2uMH8cLk1KImYmBa_NVGpc,573 -apscheduler/executors/gevent.py,sha256=aulrNmoefyBgrOkH9awRhFiXIDnSCnZ4U0o0_JXIXgc,777 -apscheduler/executors/pool.py,sha256=q9TC6KzwWI9tpLNxQhdrKRWFtsN5dmx_Vegu23BV-Sk,1672 -apscheduler/executors/tornado.py,sha256=BlWrZ0MUoHBloIup7YgXGzxN5DWFI6V7s23jpx42Kmk,1747 -apscheduler/executors/twisted.py,sha256=bRoU0C4BoVcS6_BjKD5wfUs0IJpGkmLsRAcMH2rJJss,778 -apscheduler/jobstores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -apscheduler/jobstores/base.py,sha256=DXzSW9XscueHZHMvy1qFiG-vYqUl_MMv0n0uBSZWXGo,4523 -apscheduler/jobstores/memory.py,sha256=ZxWiKsqfsCHFvac-6X9BztuhnuSxlOYi1dhT6g-pjQo,3655 -apscheduler/jobstores/mongodb.py,sha256=e9KNzPFrjiVpiM3iPT_c0ONxZQT70VCF2rDXW0-22zk,5296 -apscheduler/jobstores/redis.py,sha256=ImiEL7aTMEUy8zNZpbtZEpshFA_JabP6Q7iwzKlWxgs,5437 -apscheduler/jobstores/rethinkdb.py,sha256=1X8PKyB3MQJlbhzwWmNO6POvsOJXjrPenMF6BT3e_MA,5683 -apscheduler/jobstores/sqlalchemy.py,sha256=Bz2DfcyqWPY-OTiT6Td22lPdGZeu6NnFORTwC4H1jLg,6118 -apscheduler/jobstores/zookeeper.py,sha256=BzyqZ08XIDcbu5frQWGmDVEHAEScNxjt8oML6Tty8j8,6406 -apscheduler/schedulers/__init__.py,sha256=jM63xA_K7GSToBenhsz-SCcqfhk1pdEVb6ajwoO5Kqg,406 -apscheduler/schedulers/asyncio.py,sha256=0j0mcDpf-zI_vQHcUCZZtBfEEZEiocEOZ767efIZ5YM,2082 -apscheduler/schedulers/background.py,sha256=dGX0T0z6T6HzZHG7njWgp90SFHpetZ4ZBUV2gGOSqoc,1505 -apscheduler/schedulers/base.py,sha256=Oya7QHCEdya7AvtyhU-b9kn9-WOJcbvbAuIyQj6zU_w,42858 -apscheduler/schedulers/blocking.py,sha256=c-5YR-dKn3D82tPt38t50KGPJrAiC852v8ai2Vwanmg,924 -apscheduler/schedulers/gevent.py,sha256=csPBvV75FGcboXXsdex6fCD7J54QgBddYNdWj62ZO9g,1031 -apscheduler/schedulers/qt.py,sha256=9fFJEr3zbJXuki1vTEdFG3IEg1TCzze1vhnlAeLP0Uo,1254 -apscheduler/schedulers/tornado.py,sha256=D9Vaq3Ee9EFiXa1jDy9tedI048gR_YT_LAFUWqO_uEw,1926 -apscheduler/schedulers/twisted.py,sha256=D5EBjjMRtMBxy0_aAURcULAI8Ky2IvCTr9tK9sO1rYk,1844 -apscheduler/triggers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -apscheduler/triggers/base.py,sha256=WMo5f2g14fjO5VzpIxFQtk47Z9VEUDDPSxjoPL9FGSQ,1837 -apscheduler/triggers/combining.py,sha256=WTEnaEkBHysF1009sCvBaQa99hiy9l5Oz-hHyjy3jv8,3473 -apscheduler/triggers/date.py,sha256=RrfB1PNO9G9e91p1BOf-y_TseVHQQR-KJPhNdPpAHcU,1705 -apscheduler/triggers/interval.py,sha256=LiIunGOd96yaiAceG1XGP8eY3JxSyHDWCipVhQWMzDU,4381 -apscheduler/triggers/cron/__init__.py,sha256=a8ASzvM7ci-djOI2jIL2XErL6zEx4Wr1012aD1XJw_w,9246 -apscheduler/triggers/cron/expressions.py,sha256=hu1kq0mKvivIw7U0D0Nnrbuk3q01dCuhZ7SHRPw6qhI,9184 -apscheduler/triggers/cron/fields.py,sha256=NWPClh1NgSOpTlJ3sm1TXM_ViC2qJGKWkd_vg0xsw7o,3510 -APScheduler-3.5.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -apscheduler/executors/__pycache__/asyncio.cpython-36.pyc,, -apscheduler/executors/__pycache__/base.cpython-36.pyc,, -apscheduler/executors/__pycache__/base_py3.cpython-36.pyc,, -apscheduler/executors/__pycache__/debug.cpython-36.pyc,, -apscheduler/executors/__pycache__/gevent.cpython-36.pyc,, -apscheduler/executors/__pycache__/pool.cpython-36.pyc,, -apscheduler/executors/__pycache__/tornado.cpython-36.pyc,, -apscheduler/executors/__pycache__/twisted.cpython-36.pyc,, -apscheduler/executors/__pycache__/__init__.cpython-36.pyc,, -apscheduler/jobstores/__pycache__/base.cpython-36.pyc,, -apscheduler/jobstores/__pycache__/memory.cpython-36.pyc,, -apscheduler/jobstores/__pycache__/mongodb.cpython-36.pyc,, -apscheduler/jobstores/__pycache__/redis.cpython-36.pyc,, -apscheduler/jobstores/__pycache__/rethinkdb.cpython-36.pyc,, -apscheduler/jobstores/__pycache__/sqlalchemy.cpython-36.pyc,, -apscheduler/jobstores/__pycache__/zookeeper.cpython-36.pyc,, -apscheduler/jobstores/__pycache__/__init__.cpython-36.pyc,, -apscheduler/schedulers/__pycache__/asyncio.cpython-36.pyc,, -apscheduler/schedulers/__pycache__/background.cpython-36.pyc,, -apscheduler/schedulers/__pycache__/base.cpython-36.pyc,, -apscheduler/schedulers/__pycache__/blocking.cpython-36.pyc,, -apscheduler/schedulers/__pycache__/gevent.cpython-36.pyc,, -apscheduler/schedulers/__pycache__/qt.cpython-36.pyc,, -apscheduler/schedulers/__pycache__/tornado.cpython-36.pyc,, -apscheduler/schedulers/__pycache__/twisted.cpython-36.pyc,, -apscheduler/schedulers/__pycache__/__init__.cpython-36.pyc,, -apscheduler/triggers/cron/__pycache__/expressions.cpython-36.pyc,, -apscheduler/triggers/cron/__pycache__/fields.cpython-36.pyc,, -apscheduler/triggers/cron/__pycache__/__init__.cpython-36.pyc,, -apscheduler/triggers/__pycache__/base.cpython-36.pyc,, -apscheduler/triggers/__pycache__/combining.cpython-36.pyc,, -apscheduler/triggers/__pycache__/date.cpython-36.pyc,, -apscheduler/triggers/__pycache__/interval.cpython-36.pyc,, -apscheduler/triggers/__pycache__/__init__.cpython-36.pyc,, -apscheduler/__pycache__/events.cpython-36.pyc,, -apscheduler/__pycache__/job.cpython-36.pyc,, -apscheduler/__pycache__/util.cpython-36.pyc,, -apscheduler/__pycache__/__init__.cpython-36.pyc,, diff --git a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/WHEEL b/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/WHEEL deleted file mode 100644 index 1316c41d..00000000 --- a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.31.1) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/entry_points.txt b/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/entry_points.txt deleted file mode 100644 index d2bd62b9..00000000 --- a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/entry_points.txt +++ /dev/null @@ -1,24 +0,0 @@ -[apscheduler.executors] -asyncio = apscheduler.executors.asyncio:AsyncIOExecutor [asyncio] -debug = apscheduler.executors.debug:DebugExecutor -gevent = apscheduler.executors.gevent:GeventExecutor [gevent] -processpool = apscheduler.executors.pool:ProcessPoolExecutor -threadpool = apscheduler.executors.pool:ThreadPoolExecutor -tornado = apscheduler.executors.tornado:TornadoExecutor [tornado] -twisted = apscheduler.executors.twisted:TwistedExecutor [twisted] - -[apscheduler.jobstores] -memory = apscheduler.jobstores.memory:MemoryJobStore -mongodb = apscheduler.jobstores.mongodb:MongoDBJobStore [mongodb] -redis = apscheduler.jobstores.redis:RedisJobStore [redis] -rethinkdb = apscheduler.jobstores.rethinkdb:RethinkDBJobStore [rethinkdb] -sqlalchemy = apscheduler.jobstores.sqlalchemy:SQLAlchemyJobStore [sqlalchemy] -zookeeper = apscheduler.jobstores.zookeeper:ZooKeeperJobStore [zookeeper] - -[apscheduler.triggers] -and = apscheduler.triggers.combining:AndTrigger -cron = apscheduler.triggers.cron:CronTrigger -date = apscheduler.triggers.date:DateTrigger -interval = apscheduler.triggers.interval:IntervalTrigger -or = apscheduler.triggers.combining:OrTrigger - diff --git a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/top_level.txt b/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/top_level.txt deleted file mode 100644 index d31d10dd..00000000 --- a/Master/env_master/Lib/site-packages/APScheduler-3.5.3.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -apscheduler diff --git a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/INSTALLER b/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/LICENSE.txt b/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/LICENSE.txt deleted file mode 100644 index 8f9252f4..00000000 --- a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/LICENSE.txt +++ /dev/null @@ -1,31 +0,0 @@ -Copyright © 2010 by the Pallets team. - -Some rights reserved. - -Redistribution and use in source and binary forms of the software as -well as documentation, with or without modification, are permitted -provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE AND DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. diff --git a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/METADATA b/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/METADATA deleted file mode 100644 index c600e730..00000000 --- a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/METADATA +++ /dev/null @@ -1,130 +0,0 @@ -Metadata-Version: 2.1 -Name: Flask -Version: 1.0.2 -Summary: A simple framework for building complex web applications. -Home-page: https://www.palletsprojects.com/p/flask/ -Author: Armin Ronacher -Author-email: armin.ronacher@active-4.com -Maintainer: Pallets team -Maintainer-email: contact@palletsprojects.com -License: BSD -Project-URL: Documentation, http://flask.pocoo.org/docs/ -Project-URL: Code, https://github.com/pallets/flask -Project-URL: Issue tracker, https://github.com/pallets/flask/issues -Platform: any -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Web Environment -Classifier: Framework :: Flask -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content -Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application -Classifier: Topic :: Software Development :: Libraries :: Application Frameworks -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Provides-Extra: dev -Provides-Extra: docs -Provides-Extra: dotenv -Requires-Dist: Werkzeug (>=0.14) -Requires-Dist: Jinja2 (>=2.10) -Requires-Dist: itsdangerous (>=0.24) -Requires-Dist: click (>=5.1) -Provides-Extra: dev -Requires-Dist: pytest (>=3); extra == 'dev' -Requires-Dist: coverage; extra == 'dev' -Requires-Dist: tox; extra == 'dev' -Requires-Dist: sphinx; extra == 'dev' -Requires-Dist: pallets-sphinx-themes; extra == 'dev' -Requires-Dist: sphinxcontrib-log-cabinet; extra == 'dev' -Provides-Extra: docs -Requires-Dist: sphinx; extra == 'docs' -Requires-Dist: pallets-sphinx-themes; extra == 'docs' -Requires-Dist: sphinxcontrib-log-cabinet; extra == 'docs' -Provides-Extra: dotenv -Requires-Dist: python-dotenv; extra == 'dotenv' - -Flask -===== - -Flask is a lightweight `WSGI`_ web application framework. It is designed -to make getting started quick and easy, with the ability to scale up to -complex applications. It began as a simple wrapper around `Werkzeug`_ -and `Jinja`_ and has become one of the most popular Python web -application frameworks. - -Flask offers suggestions, but doesn't enforce any dependencies or -project layout. It is up to the developer to choose the tools and -libraries they want to use. There are many extensions provided by the -community that make adding new functionality easy. - - -Installing ----------- - -Install and update using `pip`_: - -.. code-block:: text - - pip install -U Flask - - -A Simple Example ----------------- - -.. code-block:: python - - from flask import Flask - - app = Flask(__name__) - - @app.route('/') - def hello(): - return 'Hello, World!' - -.. code-block:: text - - $ FLASK_APP=hello.py flask run - * Serving Flask app "hello" - * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) - - -Donate ------- - -The Pallets organization develops and supports Flask and the libraries -it uses. In order to grow the community of contributors and users, and -allow the maintainers to devote more time to the projects, `please -donate today`_. - -.. _please donate today: https://psfmember.org/civicrm/contribute/transact?reset=1&id=20 - - -Links ------ - -* Website: https://www.palletsprojects.com/p/flask/ -* Documentation: http://flask.pocoo.org/docs/ -* License: `BSD `_ -* Releases: https://pypi.org/project/Flask/ -* Code: https://github.com/pallets/flask -* Issue tracker: https://github.com/pallets/flask/issues -* Test status: - - * Linux, Mac: https://travis-ci.org/pallets/flask - * Windows: https://ci.appveyor.com/project/pallets/flask - -* Test coverage: https://codecov.io/gh/pallets/flask - -.. _WSGI: https://wsgi.readthedocs.io -.. _Werkzeug: https://www.palletsprojects.com/p/werkzeug/ -.. _Jinja: https://www.palletsprojects.com/p/jinja/ -.. _pip: https://pip.pypa.io/en/stable/quickstart/ - - diff --git a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/RECORD b/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/RECORD deleted file mode 100644 index c57222dd..00000000 --- a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/RECORD +++ /dev/null @@ -1,48 +0,0 @@ -Flask-1.0.2.dist-info/LICENSE.txt,sha256=ziEXA3AIuaiUn1qe4cd1XxCESWTYrk4TjN7Qb06J3l8,1575 -Flask-1.0.2.dist-info/METADATA,sha256=iA5tiNWzTtgCVe80aTZGNWsckj853fJyfvHs9U-WZRk,4182 -Flask-1.0.2.dist-info/RECORD,, -Flask-1.0.2.dist-info/WHEEL,sha256=J3CsTk7Mf2JNUyhImI-mjX-fmI4oDjyiXgWT4qgZiCE,110 -Flask-1.0.2.dist-info/entry_points.txt,sha256=gBLA1aKg0OYR8AhbAfg8lnburHtKcgJLDU52BBctN0k,42 -Flask-1.0.2.dist-info/top_level.txt,sha256=dvi65F6AeGWVU0TBpYiC04yM60-FX1gJFkK31IKQr5c,6 -flask/__init__.py,sha256=qq8lK6QQbxJALf1igz7qsvUwOTAoKvFGfdLm7jPNsso,1673 -flask/__main__.py,sha256=pgIXrHhxM5MAMvgzAqWpw_t6AXZ1zG38us4JRgJKtxk,291 -flask/_compat.py,sha256=UDFGhosh6mOdNB-4evKPuneHum1OpcAlwTNJCRm0irQ,2892 -flask/app.py,sha256=ahpe3T8w98rQd_Er5d7uDxK57S1nnqGQx3V3hirBovU,94147 -flask/blueprints.py,sha256=Cyhl_x99tgwqEZPtNDJUFneAfVJxWfEU4bQA7zWS6VU,18331 -flask/cli.py,sha256=30QYAO10Do9LbZYCLgfI_xhKjASdLopL8wKKVUGS2oA,29442 -flask/config.py,sha256=kznUhj4DLYxsTF_4kfDG8GEHto1oZG_kqblyrLFtpqQ,9951 -flask/ctx.py,sha256=leFzS9fzmo0uaLCdxpHc5_iiJZ1H0X_Ig4yPCOvT--g,16224 -flask/debughelpers.py,sha256=1ceC-UyqZTd4KsJkf0OObHPsVt5R3T6vnmYhiWBjV-w,6479 -flask/globals.py,sha256=pGg72QW_-4xUfsI33I5L_y76c21AeqfSqXDcbd8wvXU,1649 -flask/helpers.py,sha256=YCl8D1plTO1evEYP4KIgaY3H8Izww5j4EdgRJ89oHTw,40106 -flask/logging.py,sha256=qV9h0vt7NIRkKM9OHDWndzO61E5CeBMlqPJyTt-W2Wc,2231 -flask/sessions.py,sha256=2XHV4ASREhSEZ8bsPQW6pNVNuFtbR-04BzfKg0AfvHo,14452 -flask/signals.py,sha256=BGQbVyCYXnzKK2DVCzppKFyWN1qmrtW1QMAYUs-1Nr8,2211 -flask/templating.py,sha256=FDfWMbpgpC3qObW8GGXRAVrkHFF8K4CHOJymB1wvULI,4914 -flask/testing.py,sha256=XD3gWNvLUV8dqVHwKd9tZzsj81fSHtjOphQ1wTNtlMs,9379 -flask/views.py,sha256=Wy-_WkUVtCfE2zCXYeJehNgHuEtviE4v3HYfJ--MpbY,5733 -flask/wrappers.py,sha256=1Z9hF5-hXQajn_58XITQFRY8efv3Vy3uZ0avBfZu6XI,7511 -flask/json/__init__.py,sha256=Ns1Hj805XIxuBMh2z0dYnMVfb_KUgLzDmP3WoUYaPhw,10729 -flask/json/tag.py,sha256=9ehzrmt5k7hxf7ZEK0NOs3swvQyU9fWNe-pnYe69N60,8223 -../../Scripts/flask.exe,sha256=ljrIXQzU8f6egd4aaMAsVCEY1T9OUzAT7Epn4Xl52NA,102766 -Flask-1.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -flask/json/__pycache__/tag.cpython-36.pyc,, -flask/json/__pycache__/__init__.cpython-36.pyc,, -flask/__pycache__/app.cpython-36.pyc,, -flask/__pycache__/blueprints.cpython-36.pyc,, -flask/__pycache__/cli.cpython-36.pyc,, -flask/__pycache__/config.cpython-36.pyc,, -flask/__pycache__/ctx.cpython-36.pyc,, -flask/__pycache__/debughelpers.cpython-36.pyc,, -flask/__pycache__/globals.cpython-36.pyc,, -flask/__pycache__/helpers.cpython-36.pyc,, -flask/__pycache__/logging.cpython-36.pyc,, -flask/__pycache__/sessions.cpython-36.pyc,, -flask/__pycache__/signals.cpython-36.pyc,, -flask/__pycache__/templating.cpython-36.pyc,, -flask/__pycache__/testing.cpython-36.pyc,, -flask/__pycache__/views.cpython-36.pyc,, -flask/__pycache__/wrappers.cpython-36.pyc,, -flask/__pycache__/_compat.cpython-36.pyc,, -flask/__pycache__/__init__.cpython-36.pyc,, -flask/__pycache__/__main__.cpython-36.pyc,, diff --git a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/WHEEL b/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/WHEEL deleted file mode 100644 index f21b51cd..00000000 --- a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.31.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/entry_points.txt b/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/entry_points.txt deleted file mode 100644 index 1eb02520..00000000 --- a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/entry_points.txt +++ /dev/null @@ -1,3 +0,0 @@ -[console_scripts] -flask = flask.cli:main - diff --git a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/top_level.txt b/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/top_level.txt deleted file mode 100644 index 7e106024..00000000 --- a/Master/env_master/Lib/site-packages/Flask-1.0.2.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -flask diff --git a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/PKG-INFO b/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/PKG-INFO deleted file mode 100644 index f4836e08..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/PKG-INFO +++ /dev/null @@ -1,33 +0,0 @@ -Metadata-Version: 1.1 -Name: Flask-JWT -Version: 0.3.2 -Summary: JWT token authentication for Flask apps -Home-page: https://github.com/mattupstate/flask-jwt -Author: Matt Wright -Author-email: matt@nobien.net -License: MIT -Description: - Flask-JWT - ========= - - Flask-JWT is a Flask extension that adds basic Json Web Token features to any application. - - Resources - --------- - - * `Documentation `_ - * `Issue Tracker `_ - * `Source `_ - * `Development Version - `_ - - -Platform: any -Classifier: Development Status :: 4 - Beta -Classifier: Environment :: Web Environment -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content -Classifier: Topic :: Software Development :: Libraries :: Python Modules diff --git a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/SOURCES.txt b/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/SOURCES.txt deleted file mode 100644 index c03dbe4f..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/SOURCES.txt +++ /dev/null @@ -1,19 +0,0 @@ -CHANGES -LICENSE -MANIFEST.in -README.rst -requirements-dev.txt -requirements.txt -setup.cfg -setup.py -tox.ini -Flask_JWT.egg-info/PKG-INFO -Flask_JWT.egg-info/SOURCES.txt -Flask_JWT.egg-info/dependency_links.txt -Flask_JWT.egg-info/not-zip-safe -Flask_JWT.egg-info/requires.txt -Flask_JWT.egg-info/top_level.txt -flask_jwt/__init__.py -tests/conftest.py -tests/conftest.pyc -tests/test_jwt.py \ No newline at end of file diff --git a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/dependency_links.txt b/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/dependency_links.txt deleted file mode 100644 index 8b137891..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/installed-files.txt b/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/installed-files.txt deleted file mode 100644 index 3fbd910f..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/installed-files.txt +++ /dev/null @@ -1,8 +0,0 @@ -..\flask_jwt\__init__.py -..\flask_jwt\__pycache__\__init__.cpython-36.pyc -PKG-INFO -SOURCES.txt -dependency_links.txt -not-zip-safe -requires.txt -top_level.txt diff --git a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/not-zip-safe b/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/not-zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/requires.txt b/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/requires.txt deleted file mode 100644 index 5eee0183..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/requires.txt +++ /dev/null @@ -1,2 +0,0 @@ -Flask>=0.9 -PyJWT<1.5.0,>=1.4.0 diff --git a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/top_level.txt b/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/top_level.txt deleted file mode 100644 index 441a828f..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT-0.3.2-py3.6.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -flask_jwt diff --git a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/PKG-INFO b/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/PKG-INFO deleted file mode 100644 index 9d89496b..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/PKG-INFO +++ /dev/null @@ -1,25 +0,0 @@ -Metadata-Version: 2.1 -Name: Flask-JWT-Extended -Version: 3.8.1 -Summary: Extended JWT integration with Flask -Home-page: https://github.com/vimalloc/flask-jwt-extended -Author: Landon Gilbert-Bland -Author-email: landogbland@gmail.com -License: MIT -Description: Extended JWT integration with Flask -Keywords: flask,jwt,json web token -Platform: any -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Web Environment -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Provides-Extra: asymmetric_crypto diff --git a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/SOURCES.txt b/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/SOURCES.txt deleted file mode 100644 index f71c2d02..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/SOURCES.txt +++ /dev/null @@ -1,20 +0,0 @@ -LICENSE -MANIFEST.in -README.md -requirements.txt -setup.cfg -setup.py -Flask_JWT_Extended.egg-info/PKG-INFO -Flask_JWT_Extended.egg-info/SOURCES.txt -Flask_JWT_Extended.egg-info/dependency_links.txt -Flask_JWT_Extended.egg-info/not-zip-safe -Flask_JWT_Extended.egg-info/requires.txt -Flask_JWT_Extended.egg-info/top_level.txt -flask_jwt_extended/__init__.py -flask_jwt_extended/config.py -flask_jwt_extended/default_callbacks.py -flask_jwt_extended/exceptions.py -flask_jwt_extended/jwt_manager.py -flask_jwt_extended/tokens.py -flask_jwt_extended/utils.py -flask_jwt_extended/view_decorators.py \ No newline at end of file diff --git a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/dependency_links.txt b/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/dependency_links.txt deleted file mode 100644 index 8b137891..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/installed-files.txt b/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/installed-files.txt deleted file mode 100644 index 8397c439..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/installed-files.txt +++ /dev/null @@ -1,22 +0,0 @@ -..\flask_jwt_extended\__init__.py -..\flask_jwt_extended\__pycache__\__init__.cpython-36.pyc -..\flask_jwt_extended\__pycache__\config.cpython-36.pyc -..\flask_jwt_extended\__pycache__\default_callbacks.cpython-36.pyc -..\flask_jwt_extended\__pycache__\exceptions.cpython-36.pyc -..\flask_jwt_extended\__pycache__\jwt_manager.cpython-36.pyc -..\flask_jwt_extended\__pycache__\tokens.cpython-36.pyc -..\flask_jwt_extended\__pycache__\utils.cpython-36.pyc -..\flask_jwt_extended\__pycache__\view_decorators.cpython-36.pyc -..\flask_jwt_extended\config.py -..\flask_jwt_extended\default_callbacks.py -..\flask_jwt_extended\exceptions.py -..\flask_jwt_extended\jwt_manager.py -..\flask_jwt_extended\tokens.py -..\flask_jwt_extended\utils.py -..\flask_jwt_extended\view_decorators.py -PKG-INFO -SOURCES.txt -dependency_links.txt -not-zip-safe -requires.txt -top_level.txt diff --git a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/not-zip-safe b/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/not-zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/requires.txt b/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/requires.txt deleted file mode 100644 index 17e0baea..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/requires.txt +++ /dev/null @@ -1,6 +0,0 @@ -Werkzeug>=0.14 -Flask -PyJWT - -[asymmetric_crypto] -cryptography diff --git a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/top_level.txt b/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/top_level.txt deleted file mode 100644 index ff6d8841..00000000 --- a/Master/env_master/Lib/site-packages/Flask_JWT_Extended-3.8.1-py3.6.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -flask_jwt_extended diff --git a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/DESCRIPTION.rst b/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/DESCRIPTION.rst deleted file mode 100644 index e1187231..00000000 --- a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,3 +0,0 @@ -UNKNOWN - - diff --git a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/INSTALLER b/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/METADATA b/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/METADATA deleted file mode 100644 index 529c46e1..00000000 --- a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/METADATA +++ /dev/null @@ -1,31 +0,0 @@ -Metadata-Version: 2.0 -Name: Flask-RESTful -Version: 0.3.6 -Summary: Simple framework for creating REST APIs -Home-page: https://www.github.com/flask-restful/flask-restful/ -Author: Twilio API Team -Author-email: help@twilio.com -License: BSD -Platform: any -Classifier: Framework :: Flask -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: License :: OSI Approved :: BSD License -Requires-Dist: Flask (>=0.8) -Requires-Dist: aniso8601 (>=0.82) -Requires-Dist: pytz -Requires-Dist: six (>=1.3.0) -Provides-Extra: docs -Requires-Dist: sphinx; extra == 'docs' -Provides-Extra: paging -Requires-Dist: pycrypto (>=2.6); extra == 'paging' - -UNKNOWN - - diff --git a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/RECORD b/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/RECORD deleted file mode 100644 index 4b0402d8..00000000 --- a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/RECORD +++ /dev/null @@ -1,29 +0,0 @@ -Flask_RESTful-0.3.6.dist-info/DESCRIPTION.rst,sha256=OCTuuN6LcWulhHS3d5rfjdsQtW22n7HENFRh6jC6ego,10 -Flask_RESTful-0.3.6.dist-info/METADATA,sha256=THyvrIu4SUuC9fqpfDBP-m6kdZcesFu2-Gm2oxgJnWM,985 -Flask_RESTful-0.3.6.dist-info/RECORD,, -Flask_RESTful-0.3.6.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110 -Flask_RESTful-0.3.6.dist-info/metadata.json,sha256=1zKAyvYdpplkpX_NJU8vKCZ9nvy0Y_paxRiMJXCNiXU,1178 -Flask_RESTful-0.3.6.dist-info/top_level.txt,sha256=lNpWPlejgBAtMhCUwz_FTyJH12ul1mBZ-Uv3ZK1HiGg,14 -flask_restful/__init__.py,sha256=dpZuahv5GMo2Rof4OWkGpQvIhnJIeOakL_1EHkkzUA4,28510 -flask_restful/__version__.py,sha256=-RHjzBqfdsudCsVzQ9u-AoX7n-_90gcO1RlvPEVk7d4,45 -flask_restful/fields.py,sha256=9cbc0vXaGzt1Ur8gUf3sHlMjNSy1qOSV_qvi-3YQAL8,13051 -flask_restful/inputs.py,sha256=AOBF_1BpB8snY3XJT_vca_uWYzkCP2nla01lFU7xqLE,9114 -flask_restful/paging.py,sha256=H_nL-UlViLSHJhS7NbHJurHMwzxv7IsaAnuTC4L5Kec,1207 -flask_restful/reqparse.py,sha256=I9qxtSqjVzrDTxQtfSHM4yGx3XsiVoa-wMPlA1mod9s,13475 -flask_restful/representations/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 -flask_restful/representations/json.py,sha256=swKwnbt7v2ioHfHkqhqbzIu_yrcP0ComlSl49IGFJOo,873 -flask_restful/utils/__init__.py,sha256=Qh5pyCIT2dfHmrUdS6lsMbBLjZmAhz1fl7vWyJ_n4XQ,719 -flask_restful/utils/cors.py,sha256=cZiqaHhIn0w66spRoSIdC-jIn4X_b6OlVms5eGF4Ess,2084 -flask_restful/utils/crypto.py,sha256=q3PBvAYMJYybbqqQlKNF_Pqeyo9h3x5jFJuVqtEA5bA,996 -Flask_RESTful-0.3.6.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -flask_restful/representations/__pycache__/json.cpython-36.pyc,, -flask_restful/representations/__pycache__/__init__.cpython-36.pyc,, -flask_restful/utils/__pycache__/cors.cpython-36.pyc,, -flask_restful/utils/__pycache__/crypto.cpython-36.pyc,, -flask_restful/utils/__pycache__/__init__.cpython-36.pyc,, -flask_restful/__pycache__/fields.cpython-36.pyc,, -flask_restful/__pycache__/inputs.cpython-36.pyc,, -flask_restful/__pycache__/paging.cpython-36.pyc,, -flask_restful/__pycache__/reqparse.cpython-36.pyc,, -flask_restful/__pycache__/__init__.cpython-36.pyc,, -flask_restful/__pycache__/__version__.cpython-36.pyc,, diff --git a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/WHEEL b/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/WHEEL deleted file mode 100644 index 8b6dd1b5..00000000 --- a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.29.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/metadata.json b/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/metadata.json deleted file mode 100644 index fd1720a5..00000000 --- a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Framework :: Flask", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "License :: OSI Approved :: BSD License"], "extensions": {"python.details": {"contacts": [{"email": "help@twilio.com", "name": "Twilio API Team", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://www.github.com/flask-restful/flask-restful/"}}}, "extras": ["docs", "paging"], "generator": "bdist_wheel (0.29.0)", "license": "BSD", "metadata_version": "2.0", "name": "Flask-RESTful", "platform": "any", "run_requires": [{"requires": ["Flask (>=0.8)", "aniso8601 (>=0.82)", "pytz", "six (>=1.3.0)"]}, {"extra": "paging", "requires": ["pycrypto (>=2.6)"]}, {"extra": "docs", "requires": ["sphinx"]}], "summary": "Simple framework for creating REST APIs", "test_requires": [{"requires": ["Flask-RESTful[paging]", "blinker", "mock (>=0.8)"]}], "version": "0.3.6"} \ No newline at end of file diff --git a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/top_level.txt b/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/top_level.txt deleted file mode 100644 index f7b85270..00000000 --- a/Master/env_master/Lib/site-packages/Flask_RESTful-0.3.6.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -flask_restful diff --git a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/DESCRIPTION.rst b/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/DESCRIPTION.rst deleted file mode 100644 index 1594da5c..00000000 --- a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,37 +0,0 @@ - -Jinja2 -~~~~~~ - -Jinja2 is a template engine written in pure Python. It provides a -`Django`_ inspired non-XML syntax but supports inline expressions and -an optional `sandboxed`_ environment. - -Nutshell --------- - -Here a small example of a Jinja template:: - - {% extends 'base.html' %} - {% block title %}Memberlist{% endblock %} - {% block content %} - - {% endblock %} - -Philosophy ----------- - -Application logic is for the controller but don't try to make the life -for the template designer too hard by giving him too few functionality. - -For more informations visit the new `Jinja2 webpage`_ and `documentation`_. - -.. _sandboxed: https://en.wikipedia.org/wiki/Sandbox_(computer_security) -.. _Django: https://www.djangoproject.com/ -.. _Jinja2 webpage: http://jinja.pocoo.org/ -.. _documentation: http://jinja.pocoo.org/2/documentation/ - - diff --git a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/INSTALLER b/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/LICENSE.txt b/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/LICENSE.txt deleted file mode 100644 index 31bf900e..00000000 --- a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/LICENSE.txt +++ /dev/null @@ -1,31 +0,0 @@ -Copyright (c) 2009 by the Jinja Team, see AUTHORS for more details. - -Some rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - * The names of the contributors may not be used to endorse or - promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/METADATA b/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/METADATA deleted file mode 100644 index 40f2b46b..00000000 --- a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/METADATA +++ /dev/null @@ -1,68 +0,0 @@ -Metadata-Version: 2.0 -Name: Jinja2 -Version: 2.10 -Summary: A small but fast and easy to use stand-alone template engine written in pure python. -Home-page: http://jinja.pocoo.org/ -Author: Armin Ronacher -Author-email: armin.ronacher@active-4.com -License: BSD -Description-Content-Type: UNKNOWN -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Web Environment -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: Text Processing :: Markup :: HTML -Requires-Dist: MarkupSafe (>=0.23) -Provides-Extra: i18n -Requires-Dist: Babel (>=0.8); extra == 'i18n' - - -Jinja2 -~~~~~~ - -Jinja2 is a template engine written in pure Python. It provides a -`Django`_ inspired non-XML syntax but supports inline expressions and -an optional `sandboxed`_ environment. - -Nutshell --------- - -Here a small example of a Jinja template:: - - {% extends 'base.html' %} - {% block title %}Memberlist{% endblock %} - {% block content %} - - {% endblock %} - -Philosophy ----------- - -Application logic is for the controller but don't try to make the life -for the template designer too hard by giving him too few functionality. - -For more informations visit the new `Jinja2 webpage`_ and `documentation`_. - -.. _sandboxed: https://en.wikipedia.org/wiki/Sandbox_(computer_security) -.. _Django: https://www.djangoproject.com/ -.. _Jinja2 webpage: http://jinja.pocoo.org/ -.. _documentation: http://jinja.pocoo.org/2/documentation/ - - diff --git a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/RECORD b/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/RECORD deleted file mode 100644 index 4bef2c1d..00000000 --- a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/RECORD +++ /dev/null @@ -1,63 +0,0 @@ -Jinja2-2.10.dist-info/DESCRIPTION.rst,sha256=b5ckFDoM7vVtz_mAsJD4OPteFKCqE7beu353g4COoYI,978 -Jinja2-2.10.dist-info/LICENSE.txt,sha256=JvzUNv3Io51EiWrAPm8d_SXjhJnEjyDYvB3Tvwqqils,1554 -Jinja2-2.10.dist-info/METADATA,sha256=18EgU8zR6-av-0-5y_gXebzK4GnBB_76lALUsl-6QHM,2258 -Jinja2-2.10.dist-info/RECORD,, -Jinja2-2.10.dist-info/WHEEL,sha256=kdsN-5OJAZIiHN-iO4Rhl82KyS0bDWf4uBwMbkNafr8,110 -Jinja2-2.10.dist-info/entry_points.txt,sha256=NdzVcOrqyNyKDxD09aERj__3bFx2paZhizFDsKmVhiA,72 -Jinja2-2.10.dist-info/metadata.json,sha256=NPUJ9TMBxVQAv_kTJzvU8HwmP-4XZvbK9mz6_4YUVl4,1473 -Jinja2-2.10.dist-info/top_level.txt,sha256=PkeVWtLb3-CqjWi1fO29OCbj55EhX_chhKrCdrVe_zs,7 -jinja2/__init__.py,sha256=xJHjaMoy51_KXn1wf0cysH6tUUifUxZCwSOfcJGEYZw,2614 -jinja2/_compat.py,sha256=xP60CE5Qr8FTYcDE1f54tbZLKGvMwYml4-8T7Q4KG9k,2596 -jinja2/_identifier.py,sha256=W1QBSY-iJsyt6oR_nKSuNNCzV95vLIOYgUNPUI1d5gU,1726 -jinja2/asyncfilters.py,sha256=cTDPvrS8Hp_IkwsZ1m9af_lr5nHysw7uTa5gV0NmZVE,4144 -jinja2/asyncsupport.py,sha256=UErQ3YlTLaSjFb94P4MVn08-aVD9jJxty2JVfMRb-1M,7878 -jinja2/bccache.py,sha256=nQldx0ZRYANMyfvOihRoYFKSlUdd5vJkS7BjxNwlOZM,12794 -jinja2/compiler.py,sha256=BqC5U6JxObSRhblyT_a6Tp5GtEU5z3US1a4jLQaxxgo,65386 -jinja2/constants.py,sha256=uwwV8ZUhHhacAuz5PTwckfsbqBaqM7aKfyJL7kGX5YQ,1626 -jinja2/debug.py,sha256=WTVeUFGUa4v6ReCsYv-iVPa3pkNB75OinJt3PfxNdXs,12045 -jinja2/defaults.py,sha256=Em-95hmsJxIenDCZFB1YSvf9CNhe9rBmytN3yUrBcWA,1400 -jinja2/environment.py,sha256=VnkAkqw8JbjZct4tAyHlpBrka2vqB-Z58RAP-32P1ZY,50849 -jinja2/exceptions.py,sha256=_Rj-NVi98Q6AiEjYQOsP8dEIdu5AlmRHzcSNOPdWix4,4428 -jinja2/ext.py,sha256=atMQydEC86tN1zUsdQiHw5L5cF62nDbqGue25Yiu3N4,24500 -jinja2/filters.py,sha256=yOAJk0MsH-_gEC0i0U6NweVQhbtYaC-uE8xswHFLF4w,36528 -jinja2/idtracking.py,sha256=2GbDSzIvGArEBGLkovLkqEfmYxmWsEf8c3QZwM4uNsw,9197 -jinja2/lexer.py,sha256=ySEPoXd1g7wRjsuw23uimS6nkGN5aqrYwcOKxCaVMBQ,28559 -jinja2/loaders.py,sha256=xiTuURKAEObyym0nU8PCIXu_Qp8fn0AJ5oIADUUm-5Q,17382 -jinja2/meta.py,sha256=fmKHxkmZYAOm9QyWWy8EMd6eefAIh234rkBMW2X4ZR8,4340 -jinja2/nativetypes.py,sha256=_sJhS8f-8Q0QMIC0dm1YEdLyxEyoO-kch8qOL5xUDfE,7308 -jinja2/nodes.py,sha256=L10L_nQDfubLhO3XjpF9qz46FSh2clL-3e49ogVlMmA,30853 -jinja2/optimizer.py,sha256=MsdlFACJ0FRdPtjmCAdt7JQ9SGrXFaDNUaslsWQaG3M,1722 -jinja2/parser.py,sha256=lPzTEbcpTRBLw8ii6OYyExHeAhaZLMA05Hpv4ll3ULk,35875 -jinja2/runtime.py,sha256=DHdD38Pq8gj7uWQC5usJyWFoNWL317A9AvXOW_CLB34,27755 -jinja2/sandbox.py,sha256=TVyZHlNqqTzsv9fv2NvJNmSdWRHTguhyMHdxjWms32U,16708 -jinja2/tests.py,sha256=iJQLwbapZr-EKquTG_fVOVdwHUUKf3SX9eNkjQDF8oU,4237 -jinja2/utils.py,sha256=q24VupGZotQ-uOyrJxCaXtDWhZC1RgsQG7kcdmjck2Q,20629 -jinja2/visitor.py,sha256=JD1H1cANA29JcntFfN5fPyqQxB4bI4wC00BzZa-XHks,3316 -Jinja2-2.10.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -jinja2/__pycache__/asyncfilters.cpython-36.pyc,, -jinja2/__pycache__/asyncsupport.cpython-36.pyc,, -jinja2/__pycache__/bccache.cpython-36.pyc,, -jinja2/__pycache__/compiler.cpython-36.pyc,, -jinja2/__pycache__/constants.cpython-36.pyc,, -jinja2/__pycache__/debug.cpython-36.pyc,, -jinja2/__pycache__/defaults.cpython-36.pyc,, -jinja2/__pycache__/environment.cpython-36.pyc,, -jinja2/__pycache__/exceptions.cpython-36.pyc,, -jinja2/__pycache__/ext.cpython-36.pyc,, -jinja2/__pycache__/filters.cpython-36.pyc,, -jinja2/__pycache__/idtracking.cpython-36.pyc,, -jinja2/__pycache__/lexer.cpython-36.pyc,, -jinja2/__pycache__/loaders.cpython-36.pyc,, -jinja2/__pycache__/meta.cpython-36.pyc,, -jinja2/__pycache__/nativetypes.cpython-36.pyc,, -jinja2/__pycache__/nodes.cpython-36.pyc,, -jinja2/__pycache__/optimizer.cpython-36.pyc,, -jinja2/__pycache__/parser.cpython-36.pyc,, -jinja2/__pycache__/runtime.cpython-36.pyc,, -jinja2/__pycache__/sandbox.cpython-36.pyc,, -jinja2/__pycache__/tests.cpython-36.pyc,, -jinja2/__pycache__/utils.cpython-36.pyc,, -jinja2/__pycache__/visitor.cpython-36.pyc,, -jinja2/__pycache__/_compat.cpython-36.pyc,, -jinja2/__pycache__/_identifier.cpython-36.pyc,, -jinja2/__pycache__/__init__.cpython-36.pyc,, diff --git a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/WHEEL b/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/WHEEL deleted file mode 100644 index 7332a419..00000000 --- a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.30.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/entry_points.txt b/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/entry_points.txt deleted file mode 100644 index 32e6b753..00000000 --- a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/entry_points.txt +++ /dev/null @@ -1,4 +0,0 @@ - - [babel.extractors] - jinja2 = jinja2.ext:babel_extract[i18n] - \ No newline at end of file diff --git a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/metadata.json b/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/metadata.json deleted file mode 100644 index 7f5dc387..00000000 --- a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: Markup :: HTML"], "description_content_type": "UNKNOWN", "extensions": {"python.details": {"contacts": [{"email": "armin.ronacher@active-4.com", "name": "Armin Ronacher", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst", "license": "LICENSE.txt"}, "project_urls": {"Home": "http://jinja.pocoo.org/"}}, "python.exports": {"babel.extractors": {"jinja2": "jinja2.ext:babel_extract [i18n]"}}}, "extras": ["i18n"], "generator": "bdist_wheel (0.30.0)", "license": "BSD", "metadata_version": "2.0", "name": "Jinja2", "run_requires": [{"extra": "i18n", "requires": ["Babel (>=0.8)"]}, {"requires": ["MarkupSafe (>=0.23)"]}], "summary": "A small but fast and easy to use stand-alone template engine written in pure python.", "version": "2.10"} \ No newline at end of file diff --git a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/top_level.txt b/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/top_level.txt deleted file mode 100644 index 7f7afbf3..00000000 --- a/Master/env_master/Lib/site-packages/Jinja2-2.10.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -jinja2 diff --git a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/PKG-INFO b/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/PKG-INFO deleted file mode 100644 index 6f2568f6..00000000 --- a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/PKG-INFO +++ /dev/null @@ -1,133 +0,0 @@ -Metadata-Version: 1.1 -Name: MarkupSafe -Version: 1.0 -Summary: Implements a XML/HTML/XHTML Markup safe string for Python -Home-page: http://github.com/pallets/markupsafe -Author: Armin Ronacher -Author-email: armin.ronacher@active-4.com -License: BSD -Description: MarkupSafe - ========== - - Implements a unicode subclass that supports HTML strings: - - .. code-block:: python - - >>> from markupsafe import Markup, escape - >>> escape("") - Markup(u'<script>alert(document.cookie);</script>') - >>> tmpl = Markup("%s") - >>> tmpl % "Peter > Lustig" - Markup(u'Peter > Lustig') - - If you want to make an object unicode that is not yet unicode - but don't want to lose the taint information, you can use the - ``soft_unicode`` function. (On Python 3 you can also use ``soft_str`` which - is a different name for the same function). - - .. code-block:: python - - >>> from markupsafe import soft_unicode - >>> soft_unicode(42) - u'42' - >>> soft_unicode(Markup('foo')) - Markup(u'foo') - - HTML Representations - -------------------- - - Objects can customize their HTML markup equivalent by overriding - the ``__html__`` function: - - .. code-block:: python - - >>> class Foo(object): - ... def __html__(self): - ... return 'Nice' - ... - >>> escape(Foo()) - Markup(u'Nice') - >>> Markup(Foo()) - Markup(u'Nice') - - Silent Escapes - -------------- - - Since MarkupSafe 0.10 there is now also a separate escape function - called ``escape_silent`` that returns an empty string for ``None`` for - consistency with other systems that return empty strings for ``None`` - when escaping (for instance Pylons' webhelpers). - - If you also want to use this for the escape method of the Markup - object, you can create your own subclass that does that: - - .. code-block:: python - - from markupsafe import Markup, escape_silent as escape - - class SilentMarkup(Markup): - __slots__ = () - - @classmethod - def escape(cls, s): - return cls(escape(s)) - - New-Style String Formatting - --------------------------- - - Starting with MarkupSafe 0.21 new style string formats from Python 2.6 and - 3.x are now fully supported. Previously the escape behavior of those - functions was spotty at best. The new implementations operates under the - following algorithm: - - 1. if an object has an ``__html_format__`` method it is called as - replacement for ``__format__`` with the format specifier. It either - has to return a string or markup object. - 2. if an object has an ``__html__`` method it is called. - 3. otherwise the default format system of Python kicks in and the result - is HTML escaped. - - Here is how you can implement your own formatting: - - .. code-block:: python - - class User(object): - - def __init__(self, id, username): - self.id = id - self.username = username - - def __html_format__(self, format_spec): - if format_spec == 'link': - return Markup('{1}').format( - self.id, - self.__html__(), - ) - elif format_spec: - raise ValueError('Invalid format spec') - return self.__html__() - - def __html__(self): - return Markup('{0}').format(self.username) - - And to format that user: - - .. code-block:: python - - >>> user = User(1, 'foo') - >>> Markup('

User: {0:link}').format(user) - Markup(u'

User: foo') - - Markupsafe supports Python 2.6, 2.7 and Python 3.3 and higher. - -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Web Environment -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: Text Processing :: Markup :: HTML diff --git a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/SOURCES.txt b/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/SOURCES.txt deleted file mode 100644 index 210b339c..00000000 --- a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/SOURCES.txt +++ /dev/null @@ -1,18 +0,0 @@ -AUTHORS -CHANGES -LICENSE -MANIFEST.in -README.rst -setup.cfg -setup.py -tests.py -MarkupSafe.egg-info/PKG-INFO -MarkupSafe.egg-info/SOURCES.txt -MarkupSafe.egg-info/dependency_links.txt -MarkupSafe.egg-info/not-zip-safe -MarkupSafe.egg-info/top_level.txt -markupsafe/__init__.py -markupsafe/_compat.py -markupsafe/_constants.py -markupsafe/_native.py -markupsafe/_speedups.c \ No newline at end of file diff --git a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/dependency_links.txt b/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/dependency_links.txt deleted file mode 100644 index 8b137891..00000000 --- a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/installed-files.txt b/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/installed-files.txt deleted file mode 100644 index dce27430..00000000 --- a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/installed-files.txt +++ /dev/null @@ -1,15 +0,0 @@ -..\markupsafe\__init__.py -..\markupsafe\__pycache__\__init__.cpython-36.pyc -..\markupsafe\__pycache__\_compat.cpython-36.pyc -..\markupsafe\__pycache__\_constants.cpython-36.pyc -..\markupsafe\__pycache__\_native.cpython-36.pyc -..\markupsafe\_compat.py -..\markupsafe\_constants.py -..\markupsafe\_native.py -..\markupsafe\_speedups.c -..\markupsafe\_speedups.cp36-win_amd64.pyd -PKG-INFO -SOURCES.txt -dependency_links.txt -not-zip-safe -top_level.txt diff --git a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/not-zip-safe b/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/not-zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/top_level.txt b/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/top_level.txt deleted file mode 100644 index 75bf7292..00000000 --- a/Master/env_master/Lib/site-packages/MarkupSafe-1.0-py3.6.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -markupsafe diff --git a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/DESCRIPTION.rst b/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/DESCRIPTION.rst deleted file mode 100644 index 726baffd..00000000 --- a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,50 +0,0 @@ -# PyJWT - -[![travis-status-image]][travis] -[![appveyor-status-image]][appveyor] -[![pypi-version-image]][pypi] -[![coveralls-status-image]][coveralls] -[![docs-status-image]][docs] - -A Python implementation of [RFC 7519][jwt-spec]. -Original implementation was written by [@progrium][progrium]. - -## Installing - -``` -$ pip install PyJWT -``` - -## Usage - -```python ->>> import jwt ->>> encoded = jwt.encode({'some': 'payload'}, 'secret', algorithm='HS256') -'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWoo1d7KO1T_yoc0Z6XOpOVswacPZg' - ->>> jwt.decode(encoded, 'secret', algorithms=['HS256']) -{'some': 'payload'} -``` - -## Tests - -You can run tests from the project root after cloning with: - -``` -$ python setup.py test -``` - -[travis-status-image]: https://secure.travis-ci.org/jpadilla/pyjwt.svg?branch=master -[travis]: http://travis-ci.org/jpadilla/pyjwt?branch=master -[appveyor-status-image]: https://ci.appveyor.com/api/projects/status/h8nt70aqtwhht39t?svg=true -[appveyor]: https://ci.appveyor.com/project/jpadilla/pyjwt -[pypi-version-image]: https://img.shields.io/pypi/v/pyjwt.svg -[pypi]: https://pypi.python.org/pypi/pyjwt -[coveralls-status-image]: https://coveralls.io/repos/jpadilla/pyjwt/badge.svg?branch=master -[coveralls]: https://coveralls.io/r/jpadilla/pyjwt?branch=master -[docs-status-image]: https://readthedocs.org/projects/pyjwt/badge/?version=latest -[docs]: http://pyjwt.readthedocs.org -[jwt-spec]: https://tools.ietf.org/html/rfc7519 -[progrium]: https://github.com/progrium - - diff --git a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/INSTALLER b/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/METADATA b/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/METADATA deleted file mode 100644 index bc55f097..00000000 --- a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/METADATA +++ /dev/null @@ -1,82 +0,0 @@ -Metadata-Version: 2.0 -Name: PyJWT -Version: 1.4.2 -Summary: JSON Web Token implementation in Python -Home-page: http://github.com/jpadilla/pyjwt -Author: José Padilla -Author-email: hello@jpadilla.com -License: MIT -Keywords: jwt json web token security signing -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: Natural Language :: English -Classifier: License :: OSI Approved :: MIT License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Topic :: Utilities -Provides-Extra: crypto -Requires-Dist: cryptography; extra == 'crypto' -Provides-Extra: flake8 -Requires-Dist: flake8; extra == 'flake8' -Requires-Dist: flake8-import-order; extra == 'flake8' -Requires-Dist: pep8-naming; extra == 'flake8' -Provides-Extra: test -Requires-Dist: pytest (==2.7.3); extra == 'test' -Requires-Dist: pytest-cov; extra == 'test' -Requires-Dist: pytest-runner; extra == 'test' - -# PyJWT - -[![travis-status-image]][travis] -[![appveyor-status-image]][appveyor] -[![pypi-version-image]][pypi] -[![coveralls-status-image]][coveralls] -[![docs-status-image]][docs] - -A Python implementation of [RFC 7519][jwt-spec]. -Original implementation was written by [@progrium][progrium]. - -## Installing - -``` -$ pip install PyJWT -``` - -## Usage - -```python ->>> import jwt ->>> encoded = jwt.encode({'some': 'payload'}, 'secret', algorithm='HS256') -'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWoo1d7KO1T_yoc0Z6XOpOVswacPZg' - ->>> jwt.decode(encoded, 'secret', algorithms=['HS256']) -{'some': 'payload'} -``` - -## Tests - -You can run tests from the project root after cloning with: - -``` -$ python setup.py test -``` - -[travis-status-image]: https://secure.travis-ci.org/jpadilla/pyjwt.svg?branch=master -[travis]: http://travis-ci.org/jpadilla/pyjwt?branch=master -[appveyor-status-image]: https://ci.appveyor.com/api/projects/status/h8nt70aqtwhht39t?svg=true -[appveyor]: https://ci.appveyor.com/project/jpadilla/pyjwt -[pypi-version-image]: https://img.shields.io/pypi/v/pyjwt.svg -[pypi]: https://pypi.python.org/pypi/pyjwt -[coveralls-status-image]: https://coveralls.io/repos/jpadilla/pyjwt/badge.svg?branch=master -[coveralls]: https://coveralls.io/r/jpadilla/pyjwt?branch=master -[docs-status-image]: https://readthedocs.org/projects/pyjwt/badge/?version=latest -[docs]: http://pyjwt.readthedocs.org -[jwt-spec]: https://tools.ietf.org/html/rfc7519 -[progrium]: https://github.com/progrium - - diff --git a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/RECORD b/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/RECORD deleted file mode 100644 index 214b60bb..00000000 --- a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/RECORD +++ /dev/null @@ -1,33 +0,0 @@ -jwt/__init__.py,sha256=7NJDM0Wdyc8Jr_LuDyPwmS3y7NJghrFZ6WXWy-2qfrc,738 -jwt/__main__.py,sha256=93alATh8EI-GuR1-CiYzGwtjbyFllWDRGhEBPHDsFqU,3587 -jwt/algorithms.py,sha256=bixXU8k0oqPOHbnQ3sm4ne-ofWn3tFloTeSL7iifDiM,8677 -jwt/api_jws.py,sha256=YK6ODhpxH99mDcmdt4cVs8WPN0YTLLr8-_22q-WONuc,6760 -jwt/api_jwt.py,sha256=5Qmyc9Y0JXrjdBuY8OuiFdiCcHDgjF799ZbxP7Ef9ZQ,6709 -jwt/compat.py,sha256=7-3RAohhsEDwndWt1OyXaV4-HsF3QQnO_F-BddLSfa8,1317 -jwt/exceptions.py,sha256=63QgVtqVgRHdVAi0NqRO0s13opKdKZmwUGzW_CyPw4c,841 -jwt/utils.py,sha256=DsCtJn-c_q35NtTcDI3EVgsOJTWqHErQaOLPElBItio,1566 -jwt/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -jwt/contrib/algorithms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -jwt/contrib/algorithms/py_ecdsa.py,sha256=tSTUrwx-u14DJcqAChRzJG-wf7bEY2Gv2hI5xSZZNjk,1771 -jwt/contrib/algorithms/pycrypto.py,sha256=M3nH1Rrk6yb6aPGo6zT4EI_MvPUM4vhO1EwC-uX9JAo,1250 -PyJWT-1.4.2.dist-info/DESCRIPTION.rst,sha256=0qxBo0Hjlq25hSJbVkeg0h2pt1_S39LrMuEiPQbEmtI,1507 -PyJWT-1.4.2.dist-info/entry_points.txt,sha256=DtGQ73zJer9SDGHdWhcHaianJpovcNUQkoqLa_8KObw,43 -PyJWT-1.4.2.dist-info/METADATA,sha256=kTVDjNG00RK_sbMRoISEmBnRV7Vvpb0GhJt4IEPHP-A,2690 -PyJWT-1.4.2.dist-info/metadata.json,sha256=MDnukon_DIPRItFf5RMwbx4sBvaagLxLgXtoV6eeA48,1418 -PyJWT-1.4.2.dist-info/RECORD,, -PyJWT-1.4.2.dist-info/top_level.txt,sha256=RP5DHNyJbMq2ka0FmfTgoSaQzh7e3r5XuCWCO8a00k8,4 -PyJWT-1.4.2.dist-info/WHEEL,sha256=AvR0WeTpDaxT645bl5FQxUK6NPsTls2ttpcGJg3j1Xg,110 -../../Scripts/jwt.exe,sha256=aPrULChdCm_xQarigRU2UmnZjYBpn6ucPgW12sGdm2A,102769 -PyJWT-1.4.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -jwt/contrib/algorithms/__pycache__/pycrypto.cpython-36.pyc,, -jwt/contrib/algorithms/__pycache__/py_ecdsa.cpython-36.pyc,, -jwt/contrib/algorithms/__pycache__/__init__.cpython-36.pyc,, -jwt/contrib/__pycache__/__init__.cpython-36.pyc,, -jwt/__pycache__/algorithms.cpython-36.pyc,, -jwt/__pycache__/api_jws.cpython-36.pyc,, -jwt/__pycache__/api_jwt.cpython-36.pyc,, -jwt/__pycache__/compat.cpython-36.pyc,, -jwt/__pycache__/exceptions.cpython-36.pyc,, -jwt/__pycache__/utils.cpython-36.pyc,, -jwt/__pycache__/__init__.cpython-36.pyc,, -jwt/__pycache__/__main__.cpython-36.pyc,, diff --git a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/WHEEL b/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/WHEEL deleted file mode 100644 index 9dff69d8..00000000 --- a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.24.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/entry_points.txt b/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/entry_points.txt deleted file mode 100644 index cbdf40f1..00000000 --- a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/entry_points.txt +++ /dev/null @@ -1,3 +0,0 @@ -[console_scripts] -jwt = jwt.__main__:main - diff --git a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/metadata.json b/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/metadata.json deleted file mode 100644 index c77a4902..00000000 --- a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"license": "MIT", "name": "PyJWT", "metadata_version": "2.0", "generator": "bdist_wheel (0.24.0)", "test_requires": [{"requires": ["pytest (==2.7.3)", "pytest-cov", "pytest-runner"]}], "summary": "JSON Web Token implementation in Python", "run_requires": [{"requires": ["pytest (==2.7.3)", "pytest-cov", "pytest-runner"], "extra": "test"}, {"requires": ["cryptography"], "extra": "crypto"}, {"requires": ["flake8", "flake8-import-order", "pep8-naming"], "extra": "flake8"}], "version": "1.4.2", "extensions": {"python.details": {"project_urls": {"Home": "http://github.com/jpadilla/pyjwt"}, "document_names": {"description": "DESCRIPTION.rst"}, "contacts": [{"role": "author", "email": "hello@jpadilla.com", "name": "Jos\u00e9 Padilla"}]}, "python.commands": {"wrap_console": {"jwt": "jwt.__main__:main"}}, "python.exports": {"console_scripts": {"jwt": "jwt.__main__:main"}}}, "keywords": ["jwt", "json", "web", "token", "security", "signing"], "classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Natural Language :: English", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Utilities"], "extras": ["crypto", "flake8", "test"]} \ No newline at end of file diff --git a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/top_level.txt b/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/top_level.txt deleted file mode 100644 index 27ccc9bc..00000000 --- a/Master/env_master/Lib/site-packages/PyJWT-1.4.2.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -jwt diff --git a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/DESCRIPTION.rst b/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/DESCRIPTION.rst deleted file mode 100644 index 675f08d1..00000000 --- a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,80 +0,0 @@ -Werkzeug -======== - -Werkzeug is a comprehensive `WSGI`_ web application library. It began as -a simple collection of various utilities for WSGI applications and has -become one of the most advanced WSGI utility libraries. - -It includes: - -* An interactive debugger that allows inspecting stack traces and source - code in the browser with an interactive interpreter for any frame in - the stack. -* A full-featured request object with objects to interact with headers, - query args, form data, files, and cookies. -* A response object that can wrap other WSGI applications and handle - streaming data. -* A routing system for matching URLs to endpoints and generating URLs - for endpoints, with an extensible system for capturing variables from - URLs. -* HTTP utilities to handle entity tags, cache control, dates, user - agents, cookies, files, and more. -* A threaded WSGI server for use while developing applications locally. -* A test client for simulating HTTP requests during testing without - requiring running a server. - -Werkzeug is Unicode aware and doesn't enforce any dependencies. It is up -to the developer to choose a template engine, database adapter, and even -how to handle requests. It can be used to build all sorts of end user -applications such as blogs, wikis, or bulletin boards. - -`Flask`_ wraps Werkzeug, using it to handle the details of WSGI while -providing more structure and patterns for defining powerful -applications. - - -Installing ----------- - -Install and update using `pip`_: - -.. code-block:: text - - pip install -U Werkzeug - - -A Simple Example ----------------- - -.. code-block:: python - - from werkzeug.wrappers import Request, Response - - @Request.application - def application(request): - return Response('Hello, World!') - - if __name__ == '__main__': - from werkzeug.serving import run_simple - run_simple('localhost', 4000, application) - - -Links ------ - -* Website: https://www.palletsprojects.com/p/werkzeug/ -* Releases: https://pypi.org/project/Werkzeug/ -* Code: https://github.com/pallets/werkzeug -* Issue tracker: https://github.com/pallets/werkzeug/issues -* Test status: - - * Linux, Mac: https://travis-ci.org/pallets/werkzeug - * Windows: https://ci.appveyor.com/project/davidism/werkzeug - -* Test coverage: https://codecov.io/gh/pallets/werkzeug - -.. _WSGI: https://wsgi.readthedocs.io/en/latest/ -.. _Flask: https://www.palletsprojects.com/p/flask/ -.. _pip: https://pip.pypa.io/en/stable/quickstart/ - - diff --git a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/INSTALLER b/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/LICENSE.txt b/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/LICENSE.txt deleted file mode 100644 index 1cc75bb0..00000000 --- a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/LICENSE.txt +++ /dev/null @@ -1,31 +0,0 @@ -Copyright © 2007 by the Pallets team. - -Some rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE AND DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. diff --git a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/METADATA b/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/METADATA deleted file mode 100644 index bfc3c4e8..00000000 --- a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/METADATA +++ /dev/null @@ -1,116 +0,0 @@ -Metadata-Version: 2.0 -Name: Werkzeug -Version: 0.14.1 -Summary: The comprehensive WSGI web application library. -Home-page: https://www.palletsprojects.org/p/werkzeug/ -Author: Armin Ronacher -Author-email: armin.ronacher@active-4.com -License: BSD -Description-Content-Type: UNKNOWN -Platform: any -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Web Environment -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Provides-Extra: dev -Requires-Dist: coverage; extra == 'dev' -Requires-Dist: pytest; extra == 'dev' -Requires-Dist: sphinx; extra == 'dev' -Requires-Dist: tox; extra == 'dev' -Provides-Extra: termcolor -Requires-Dist: termcolor; extra == 'termcolor' -Provides-Extra: watchdog -Requires-Dist: watchdog; extra == 'watchdog' - -Werkzeug -======== - -Werkzeug is a comprehensive `WSGI`_ web application library. It began as -a simple collection of various utilities for WSGI applications and has -become one of the most advanced WSGI utility libraries. - -It includes: - -* An interactive debugger that allows inspecting stack traces and source - code in the browser with an interactive interpreter for any frame in - the stack. -* A full-featured request object with objects to interact with headers, - query args, form data, files, and cookies. -* A response object that can wrap other WSGI applications and handle - streaming data. -* A routing system for matching URLs to endpoints and generating URLs - for endpoints, with an extensible system for capturing variables from - URLs. -* HTTP utilities to handle entity tags, cache control, dates, user - agents, cookies, files, and more. -* A threaded WSGI server for use while developing applications locally. -* A test client for simulating HTTP requests during testing without - requiring running a server. - -Werkzeug is Unicode aware and doesn't enforce any dependencies. It is up -to the developer to choose a template engine, database adapter, and even -how to handle requests. It can be used to build all sorts of end user -applications such as blogs, wikis, or bulletin boards. - -`Flask`_ wraps Werkzeug, using it to handle the details of WSGI while -providing more structure and patterns for defining powerful -applications. - - -Installing ----------- - -Install and update using `pip`_: - -.. code-block:: text - - pip install -U Werkzeug - - -A Simple Example ----------------- - -.. code-block:: python - - from werkzeug.wrappers import Request, Response - - @Request.application - def application(request): - return Response('Hello, World!') - - if __name__ == '__main__': - from werkzeug.serving import run_simple - run_simple('localhost', 4000, application) - - -Links ------ - -* Website: https://www.palletsprojects.com/p/werkzeug/ -* Releases: https://pypi.org/project/Werkzeug/ -* Code: https://github.com/pallets/werkzeug -* Issue tracker: https://github.com/pallets/werkzeug/issues -* Test status: - - * Linux, Mac: https://travis-ci.org/pallets/werkzeug - * Windows: https://ci.appveyor.com/project/davidism/werkzeug - -* Test coverage: https://codecov.io/gh/pallets/werkzeug - -.. _WSGI: https://wsgi.readthedocs.io/en/latest/ -.. _Flask: https://www.palletsprojects.com/p/flask/ -.. _pip: https://pip.pypa.io/en/stable/quickstart/ - - diff --git a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/RECORD b/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/RECORD deleted file mode 100644 index 357d9b77..00000000 --- a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/RECORD +++ /dev/null @@ -1,97 +0,0 @@ -Werkzeug-0.14.1.dist-info/DESCRIPTION.rst,sha256=rOCN36jwsWtWsTpqPG96z7FMilB5qI1CIARSKRuUmz8,2452 -Werkzeug-0.14.1.dist-info/LICENSE.txt,sha256=xndz_dD4m269AF9l_Xbl5V3tM1N3C1LoZC2PEPxWO-8,1534 -Werkzeug-0.14.1.dist-info/METADATA,sha256=FbfadrPdJNUWAxMOKxGUtHe5R3IDSBKYYmAz3FvI3uY,3872 -Werkzeug-0.14.1.dist-info/RECORD,, -Werkzeug-0.14.1.dist-info/WHEEL,sha256=GrqQvamwgBV4nLoJe0vhYRSWzWsx7xjlt74FT0SWYfE,110 -Werkzeug-0.14.1.dist-info/metadata.json,sha256=4489UTt6HBp2NQil95-pBkjU4Je93SMHvMxZ_rjOpqA,1452 -Werkzeug-0.14.1.dist-info/top_level.txt,sha256=QRyj2VjwJoQkrwjwFIOlB8Xg3r9un0NtqVHQF-15xaw,9 -werkzeug/__init__.py,sha256=NR0d4n_-U9BLVKlOISean3zUt2vBwhvK-AZE6M0sC0k,6842 -werkzeug/_compat.py,sha256=8c4U9o6A_TR9nKCcTbpZNxpqCXcXDVIbFawwKM2s92c,6311 -werkzeug/_internal.py,sha256=GhEyGMlsSz_tYjsDWO9TG35VN7304MM8gjKDrXLEdVc,13873 -werkzeug/_reloader.py,sha256=AyPphcOHPbu6qzW0UbrVvTDJdre5WgpxbhIJN_TqzUc,9264 -werkzeug/datastructures.py,sha256=3IgNKNqrz-ZjmAG7y3YgEYK-enDiMT_b652PsypWcYg,90080 -werkzeug/exceptions.py,sha256=3wp95Hqj9FqV8MdikV99JRcHse_fSMn27V8tgP5Hw2c,20505 -werkzeug/filesystem.py,sha256=hHWeWo_gqLMzTRfYt8-7n2wWcWUNTnDyudQDLOBEICE,2175 -werkzeug/formparser.py,sha256=mUuCwjzjb8_E4RzrAT2AioLuZSYpqR1KXTK6LScRYzA,21722 -werkzeug/http.py,sha256=RQg4MJuhRv2isNRiEh__Phh09ebpfT3Kuu_GfrZ54_c,40079 -werkzeug/local.py,sha256=QdQhWV5L8p1Y1CJ1CDStwxaUs24SuN5aebHwjVD08C8,14553 -werkzeug/posixemulation.py,sha256=xEF2Bxc-vUCPkiu4IbfWVd3LW7DROYAT-ExW6THqyzw,3519 -werkzeug/routing.py,sha256=2JVtdSgxKGeANy4Z_FP-dKESvKtkYGCZ1J2fARCLGCY,67214 -werkzeug/script.py,sha256=DwaVDcXdaOTffdNvlBdLitxWXjKaRVT32VbhDtljFPY,11365 -werkzeug/security.py,sha256=0m107exslz4QJLWQCpfQJ04z3re4eGHVggRvrQVAdWc,9193 -werkzeug/serving.py,sha256=A0flnIJHufdn2QJ9oeuHfrXwP3LzP8fn3rNW6hbxKUg,31926 -werkzeug/test.py,sha256=XmECSmnpASiYQTct4oMiWr0LT5jHWCtKqnpYKZd2ui8,36100 -werkzeug/testapp.py,sha256=3HQRW1sHZKXuAjCvFMet4KXtQG3loYTFnvn6LWt-4zI,9396 -werkzeug/urls.py,sha256=dUeLg2IeTm0WLmSvFeD4hBZWGdOs-uHudR5-t8n9zPo,36771 -werkzeug/useragents.py,sha256=BhYMf4cBTHyN4U0WsQedePIocmNlH_34C-UwqSThGCc,5865 -werkzeug/utils.py,sha256=BrY1j0DHQ8RTb0K1StIobKuMJhN9SQQkWEARbrh2qpk,22972 -werkzeug/websocket.py,sha256=PpSeDxXD_0UsPAa5hQhQNM6mxibeUgn8lA8eRqiS0vM,11344 -werkzeug/wrappers.py,sha256=kbyL_aFjxELwPgMwfNCYjKu-CR6kNkh-oO8wv3GXbk8,84511 -werkzeug/wsgi.py,sha256=1Nob-aeChWQf7MsiicO8RZt6J90iRzEcik44ev9Qu8s,49347 -werkzeug/contrib/__init__.py,sha256=f7PfttZhbrImqpr5Ezre8CXgwvcGUJK7zWNpO34WWrw,623 -werkzeug/contrib/atom.py,sha256=qqfJcfIn2RYY-3hO3Oz0aLq9YuNubcPQ_KZcNsDwVJo,15575 -werkzeug/contrib/cache.py,sha256=xBImHNj09BmX_7kC5NUCx8f_l4L8_O7zi0jCL21UZKE,32163 -werkzeug/contrib/fixers.py,sha256=gR06T-w71ur-tHQ_31kP_4jpOncPJ4Wc1dOqTvYusr8,10179 -werkzeug/contrib/iterio.py,sha256=RlqDvGhz0RneTpzE8dVc-yWCUv4nkPl1jEc_EDp2fH0,10814 -werkzeug/contrib/jsrouting.py,sha256=QTmgeDoKXvNK02KzXgx9lr3cAH6fAzpwF5bBdPNvJPs,8564 -werkzeug/contrib/limiter.py,sha256=iS8-ahPZ-JLRnmfIBzxpm7O_s3lPsiDMVWv7llAIDCI,1334 -werkzeug/contrib/lint.py,sha256=Mj9NeUN7s4zIUWeQOAVjrmtZIcl3Mm2yDe9BSIr9YGE,12558 -werkzeug/contrib/profiler.py,sha256=ISwCWvwVyGpDLRBRpLjo_qUWma6GXYBrTAco4PEQSHY,5151 -werkzeug/contrib/securecookie.py,sha256=uWMyHDHY3lkeBRiCSayGqWkAIy4a7xAbSE_Hln9ecqc,12196 -werkzeug/contrib/sessions.py,sha256=39LVNvLbm5JWpbxM79WC2l87MJFbqeISARjwYbkJatw,12577 -werkzeug/contrib/testtools.py,sha256=G9xN-qeihJlhExrIZMCahvQOIDxdL9NiX874jiiHFMs,2453 -werkzeug/contrib/wrappers.py,sha256=v7OYlz7wQtDlS9fey75UiRZ1IkUWqCpzbhsLy4k14Hw,10398 -werkzeug/debug/__init__.py,sha256=uSn9BqCZ5E3ySgpoZtundpROGsn-uYvZtSFiTfAX24M,17452 -werkzeug/debug/console.py,sha256=n3-dsKk1TsjnN-u4ZgmuWCU_HO0qw5IA7ttjhyyMM6I,5607 -werkzeug/debug/repr.py,sha256=bKqstDYGfECpeLerd48s_hxuqK4b6UWnjMu3d_DHO8I,9340 -werkzeug/debug/tbtools.py,sha256=rBudXCmkVdAKIcdhxANxgf09g6kQjJWW9_5bjSpr4OY,18451 -werkzeug/debug/shared/FONT_LICENSE,sha256=LwAVEI1oYnvXiNMT9SnCH_TaLCxCpeHziDrMg0gPkAI,4673 -werkzeug/debug/shared/console.png,sha256=bxax6RXXlvOij_KeqvSNX0ojJf83YbnZ7my-3Gx9w2A,507 -werkzeug/debug/shared/debugger.js,sha256=PKPVYuyO4SX1hkqLOwCLvmIEO5154WatFYaXE-zIfKI,6264 -werkzeug/debug/shared/jquery.js,sha256=7LkWEzqTdpEfELxcZZlS6wAx5Ff13zZ83lYO2_ujj7g,95957 -werkzeug/debug/shared/less.png,sha256=-4-kNRaXJSONVLahrQKUxMwXGm9R4OnZ9SxDGpHlIR4,191 -werkzeug/debug/shared/more.png,sha256=GngN7CioHQoV58rH6ojnkYi8c_qED2Aka5FO5UXrReY,200 -werkzeug/debug/shared/source.png,sha256=RoGcBTE4CyCB85GBuDGTFlAnUqxwTBiIfDqW15EpnUQ,818 -werkzeug/debug/shared/style.css,sha256=IEO0PC2pWmh2aEyGCaN--txuWsRCliuhlbEhPDFwh0A,6270 -werkzeug/debug/shared/ubuntu.ttf,sha256=1eaHFyepmy4FyDvjLVzpITrGEBu_CZYY94jE0nED1c0,70220 -Werkzeug-0.14.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -werkzeug/contrib/__pycache__/atom.cpython-36.pyc,, -werkzeug/contrib/__pycache__/cache.cpython-36.pyc,, -werkzeug/contrib/__pycache__/fixers.cpython-36.pyc,, -werkzeug/contrib/__pycache__/iterio.cpython-36.pyc,, -werkzeug/contrib/__pycache__/jsrouting.cpython-36.pyc,, -werkzeug/contrib/__pycache__/limiter.cpython-36.pyc,, -werkzeug/contrib/__pycache__/lint.cpython-36.pyc,, -werkzeug/contrib/__pycache__/profiler.cpython-36.pyc,, -werkzeug/contrib/__pycache__/securecookie.cpython-36.pyc,, -werkzeug/contrib/__pycache__/sessions.cpython-36.pyc,, -werkzeug/contrib/__pycache__/testtools.cpython-36.pyc,, -werkzeug/contrib/__pycache__/wrappers.cpython-36.pyc,, -werkzeug/contrib/__pycache__/__init__.cpython-36.pyc,, -werkzeug/debug/__pycache__/console.cpython-36.pyc,, -werkzeug/debug/__pycache__/repr.cpython-36.pyc,, -werkzeug/debug/__pycache__/tbtools.cpython-36.pyc,, -werkzeug/debug/__pycache__/__init__.cpython-36.pyc,, -werkzeug/__pycache__/datastructures.cpython-36.pyc,, -werkzeug/__pycache__/exceptions.cpython-36.pyc,, -werkzeug/__pycache__/filesystem.cpython-36.pyc,, -werkzeug/__pycache__/formparser.cpython-36.pyc,, -werkzeug/__pycache__/http.cpython-36.pyc,, -werkzeug/__pycache__/local.cpython-36.pyc,, -werkzeug/__pycache__/posixemulation.cpython-36.pyc,, -werkzeug/__pycache__/routing.cpython-36.pyc,, -werkzeug/__pycache__/script.cpython-36.pyc,, -werkzeug/__pycache__/security.cpython-36.pyc,, -werkzeug/__pycache__/serving.cpython-36.pyc,, -werkzeug/__pycache__/test.cpython-36.pyc,, -werkzeug/__pycache__/testapp.cpython-36.pyc,, -werkzeug/__pycache__/urls.cpython-36.pyc,, -werkzeug/__pycache__/useragents.cpython-36.pyc,, -werkzeug/__pycache__/utils.cpython-36.pyc,, -werkzeug/__pycache__/websocket.cpython-36.pyc,, -werkzeug/__pycache__/wrappers.cpython-36.pyc,, -werkzeug/__pycache__/wsgi.cpython-36.pyc,, -werkzeug/__pycache__/_compat.cpython-36.pyc,, -werkzeug/__pycache__/_internal.cpython-36.pyc,, -werkzeug/__pycache__/_reloader.cpython-36.pyc,, -werkzeug/__pycache__/__init__.cpython-36.pyc,, diff --git a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/WHEEL b/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/WHEEL deleted file mode 100644 index 0de529b1..00000000 --- a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.26.0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/metadata.json b/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/metadata.json deleted file mode 100644 index bca8d126..00000000 --- a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"generator": "bdist_wheel (0.26.0)", "summary": "The comprehensive WSGI web application library.", "classifiers": ["Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules"], "description_content_type": "UNKNOWN", "extensions": {"python.details": {"project_urls": {"Home": "https://www.palletsprojects.org/p/werkzeug/"}, "contacts": [{"email": "armin.ronacher@active-4.com", "name": "Armin Ronacher", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst", "license": "LICENSE.txt"}}}, "license": "BSD", "metadata_version": "2.0", "name": "Werkzeug", "platform": "any", "extras": ["dev", "termcolor", "watchdog"], "run_requires": [{"requires": ["coverage", "pytest", "sphinx", "tox"], "extra": "dev"}, {"requires": ["termcolor"], "extra": "termcolor"}, {"requires": ["watchdog"], "extra": "watchdog"}], "version": "0.14.1"} \ No newline at end of file diff --git a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/top_level.txt b/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/top_level.txt deleted file mode 100644 index 6fe8da84..00000000 --- a/Master/env_master/Lib/site-packages/Werkzeug-0.14.1.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -werkzeug diff --git a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/DESCRIPTION.rst b/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/DESCRIPTION.rst deleted file mode 100644 index 4f1a2384..00000000 --- a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/DESCRIPTION.rst +++ /dev/null @@ -1,384 +0,0 @@ -=========== - aniso8601 -=========== - ----------------------------------- -Another ISO 8601 parser for Python ----------------------------------- - -Features -======== -* Pure Python implementation -* Python 3 support -* Logical behavior - - - Parse a time, get a `datetime.time `_ - - Parse a date, get a `datetime.date `_ - - Parse a datetime, get a `datetime.datetime `_ - - Parse a duration, get a `datetime.timedelta `_ - - Parse an interval, get a tuple of dates or datetimes - - Parse a repeating interval, get a date or datetime `generator `_ - -* UTC offset represented as fixed-offset tzinfo -* Optional `dateutil.relativedelta `_ support for calendar accuracy -* No regular expressions - -Installation -============ - -The recommended installation method is to use pip:: - - $ pip install aniso8601 - -Alternatively, you can download the source (git repository hosted at `Bitbucket `_) and install directly:: - - $ python setup.py install - -Use -=== - -Parsing datetimes ------------------ - -To parse a typical ISO 8601 datetime string:: - - >>> import aniso8601 - >>> aniso8601.parse_datetime('1977-06-10T12:00:00Z') - datetime.datetime(1977, 6, 10, 12, 0, tzinfo=+0:00:00 UTC) - -Alternative delimiters can be specified, for example, a space:: - - >>> aniso8601.parse_datetime('1977-06-10 12:00:00Z', delimiter=' ') - datetime.datetime(1977, 6, 10, 12, 0, tzinfo=+0:00:00 UTC) - -UTC offsets are supported:: - - >>> aniso8601.parse_datetime('1979-06-05T08:00:00-08:00') - datetime.datetime(1979, 6, 5, 8, 0, tzinfo=-8:00:00 UTC) - -If a UTC offset is not specified, the returned datetime will be naive:: - - >>> aniso8601.parse_datetime('1983-01-22T08:00:00') - datetime.datetime(1983, 1, 22, 8, 0) - -Leap seconds are currently not supported and attempting to parse one raises a :code:`LeapSecondError`:: - - >>> aniso8601.parse_datetime('2018-03-06T23:59:60') - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/time.py", line 127, in parse_datetime - timepart = parse_time(isotimestr) - File "aniso8601/time.py", line 110, in parse_time - return _parse_time_naive(timestr) - File "aniso8601/time.py", line 140, in _parse_time_naive - return _RESOLUTION_MAP[get_time_resolution(timestr)](timestr) - File "aniso8601/time.py", line 214, in _parse_second_time - raise LeapSecondError('Leap seconds are not supported.') - aniso8601.exceptions.LeapSecondError: Leap seconds are not supported. - -Parsing dates -------------- - -To parse a date represented in an ISO 8601 string:: - - >>> import aniso8601 - >>> aniso8601.parse_date('1984-04-23') - datetime.date(1984, 4, 23) - -Basic format is supported as well:: - - >>> aniso8601.parse_date('19840423') - datetime.date(1984, 4, 23) - -To parse a date using the ISO 8601 week date format:: - - >>> aniso8601.parse_date('1986-W38-1') - datetime.date(1986, 9, 15) - -To parse an ISO 8601 ordinal date:: - - >>> aniso8601.parse_date('1988-132') - datetime.date(1988, 5, 11) - -Parsing times -------------- - -To parse a time formatted as an ISO 8601 string:: - - >>> import aniso8601 - >>> aniso8601.parse_time('11:31:14') - datetime.time(11, 31, 14) - -As with all of the above, basic format is supported:: - - >>> aniso8601.parse_time('113114') - datetime.time(11, 31, 14) - -A UTC offset can be specified for times:: - - >>> aniso8601.parse_time('17:18:19-02:30') - datetime.time(17, 18, 19, tzinfo=-2:30:00 UTC) - >>> aniso8601.parse_time('171819Z') - datetime.time(17, 18, 19, tzinfo=+0:00:00 UTC) - -Reduced accuracy is supported:: - - >>> aniso8601.parse_time('21:42') - datetime.time(21, 42) - >>> aniso8601.parse_time('22') - datetime.time(22, 0) - -A decimal fraction is always allowed on the lowest order element of an ISO 8601 formatted time:: - - >>> aniso8601.parse_time('22:33.5') - datetime.time(22, 33, 30) - >>> aniso8601.parse_time('23.75') - datetime.time(23, 45) - -Leap seconds are currently not supported and attempting to parse one raises a :code:`LeapSecondError`:: - - >>> aniso8601.parse_time('23:59:60') - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/time.py", line 110, in parse_time - return _parse_time_naive(timestr) - File "aniso8601/time.py", line 140, in _parse_time_naive - return _RESOLUTION_MAP[get_time_resolution(timestr)](timestr) - File "aniso8601/time.py", line 214, in _parse_second_time - raise LeapSecondError('Leap seconds are not supported.') - aniso8601.exceptions.LeapSecondError: Leap seconds are not supported. - -Parsing durations ------------------ - -To parse a duration formatted as an ISO 8601 string:: - - >>> import aniso8601 - >>> aniso8601.parse_duration('P1Y2M3DT4H54M6S') - datetime.timedelta(428, 17646) - -Reduced accuracy is supported:: - - >>> aniso8601.parse_duration('P1Y') - datetime.timedelta(365) - -A decimal fraction is allowed on the lowest order element:: - - >>> aniso8601.parse_duration('P1YT3.5M') - datetime.timedelta(365, 210) - -The decimal fraction can be specified with a comma instead of a full-stop:: - - >>> aniso8601.parse_duration('P1YT3,5M') - datetime.timedelta(365, 210) - -Parsing a duration from a combined date and time is supported as well:: - - >>> aniso8601.parse_duration('P0001-01-02T01:30:5') - datetime.timedelta(397, 5405) - -The above treat years as 365 days and months as 30 days. If calendar level accuracy is required, the relative keyword argument can be used if `python-dateutil `_ is installed:: - - >>> import aniso8601 - >>> from datetime import date - >>> one_month = aniso8601.parse_duration('P1M', relative=True) - >>> print one_month - relativedelta(months=+1) - >>> date(2003,1,27) + one_month - datetime.date(2003, 2, 27) - >>> date(2003,1,31) + one_month - datetime.date(2003, 2, 28) - >>> date(2003,1,31) + two_months - datetime.date(2003, 3, 31) - -Since a relative fractional month or year is not logical, a :code:`RelativeValueError` is raised when attempting to parse a duration with :code:`relative=True` and fractional month or year:: - - >>> aniso8601.parse_duration('P2.1Y', relative=True) - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/duration.py", line 29, in parse_duration - return _parse_duration_prescribed(isodurationstr, relative) - File "aniso8601/duration.py", line 73, in _parse_duration_prescribed - raise RelativeValueError('Fractional months and years are not defined for relative intervals.') - aniso8601.exceptions.RelativeValueError: Fractional months and years are not defined for relative intervals. - -If :code:`relative=True` is set without python-dateutil available, a :code:`RuntimeError` is raised:: - - >>> aniso8601.parse_duration('P1M', relative=True) - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/duration.py", line 29, in parse_duration - return _parse_duration_prescribed(isodurationstr, relative) - File "aniso8601/duration.py", line 77, in _parse_duration_prescribed - raise RuntimeError('dateutil must be installed for relative duration support.') - RuntimeError: dateutil must be installed for relative duration support - -Parsing intervals ------------------ - -To parse an interval specified by a start and end:: - - >>> import aniso8601 - >>> aniso8601.parse_interval('2007-03-01T13:00:00/2008-05-11T15:30:00') - (datetime.datetime(2007, 3, 1, 13, 0), datetime.datetime(2008, 5, 11, 15, 30)) - -Intervals specified by a start time and a duration are supported:: - - >>> aniso8601.parse_interval('2007-03-01T13:00:00Z/P1Y2M10DT2H30M') - (datetime.datetime(2007, 3, 1, 13, 0, tzinfo=+0:00:00 UTC), datetime.datetime(2008, 5, 9, 15, 30, tzinfo=+0:00:00 UTC)) - -A duration can also be specified by a duration and end time:: - - >>> aniso8601.parse_interval('P1M/1981-04-05') - (datetime.date(1981, 4, 5), datetime.date(1981, 3, 6)) - -Notice that the result of the above parse is not in order from earliest to latest. If sorted intervals are required, simply use the :code:`sorted` keyword as shown below:: - - >>> sorted(aniso8601.parse_interval('P1M/1981-04-05')) - [datetime.date(1981, 3, 6), datetime.date(1981, 4, 5)] - -The end of an interval is given as a datetime when required to maintain the resolution specified by a duration, even if the duration start is given as a date:: - - >>> aniso8601.parse_interval('2014-11-12/PT4H54M6.5S') - (datetime.date(2014, 11, 12), datetime.datetime(2014, 11, 12, 4, 54, 6, 500000)) - -Repeating intervals are supported as well, and return a generator:: - - >>> aniso8601.parse_repeating_interval('R3/1981-04-05/P1D') - - >>> list(aniso8601.parse_repeating_interval('R3/1981-04-05/P1D')) - [datetime.date(1981, 4, 5), datetime.date(1981, 4, 6), datetime.date(1981, 4, 7)] - -Repeating intervals are allowed to go in the reverse direction:: - - >>> list(aniso8601.parse_repeating_interval('R2/PT1H2M/1980-03-05T01:01:00')) - [datetime.datetime(1980, 3, 5, 1, 1), datetime.datetime(1980, 3, 4, 23, 59)] - -Unbounded intervals are also allowed (Python 2):: - - >>> result = aniso8601.parse_repeating_interval('R/PT1H2M/1980-03-05T01:01:00') - >>> result.next() - datetime.datetime(1980, 3, 5, 1, 1) - >>> result.next() - datetime.datetime(1980, 3, 4, 23, 59) - -or for Python 3:: - - >>> result = aniso8601.parse_repeating_interval('R/PT1H2M/1980-03-05T01:01:00') - >>> next(result) - datetime.datetime(1980, 3, 5, 1, 1) - >>> next(result) - datetime.datetime(1980, 3, 4, 23, 59) - -Note that you should never try to convert a generator produced by an unbounded interval to a list:: - - >>> list(aniso8601.parse_repeating_interval('R/PT1H2M/1980-03-05T01:01:00')) - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/interval.py", line 161, in _date_generator_unbounded - currentdate += timedelta - OverflowError: date value out of range - -The above treat years as 365 days and months as 30 days. If calendar level accuracy is required, the relative keyword argument can be used if `python-dateutil `_ is installed:: - - >>> aniso8601.parse_interval('2003-01-27/P1M', relative=True) - (datetime.date(2003, 1, 27), datetime.date(2003, 2, 27)) - >>> aniso8601.parse_interval('2003-01-31/P1M', relative=True) - (datetime.date(2003, 1, 31), datetime.date(2003, 2, 28)) - >>> aniso8601.parse_interval('P1Y/2001-02-28', relative=True) - (datetime.date(2001, 2, 28), datetime.date(2000, 2, 28) - -Fractional years and months do not make sense for relative intervals. A :code:`RelativeValueError` is raised when attempting to parse an interval with :code:`relative=True` and a fractional month or year:: - - >>> aniso8601.parse_interval('P1.1Y/2001-02-28', relative=True) - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/interval.py", line 37, in parse_interval - interval_parts = _parse_interval_parts(isointervalstr, intervaldelimiter, datetimedelimiter, relative) - File "aniso8601/interval.py", line 89, in _parse_interval_parts - duration = parse_duration(firstpart, relative=relative) - File "aniso8601/duration.py", line 29, in parse_duration - return _parse_duration_prescribed(isodurationstr, relative) - File "aniso8601/duration.py", line 73, in _parse_duration_prescribed - raise RelativeValueError('Fractional months and years are not defined for relative intervals.') - aniso8601.exceptions.RelativeValueError: Fractional months and years are not defined for relative intervals. - -If :code:`relative=True` is set without python-dateutil available, a :code:`RuntimeError` is raised:: - - >>> aniso8601.parse_interval('2003-01-27/P1M', relative=True) - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/interval.py", line 37, in parse_interval - interval_parts = _parse_interval_parts(isointervalstr, intervaldelimiter, datetimedelimiter, relative) - File "aniso8601/interval.py", line 108, in _parse_interval_parts - duration = parse_duration(secondpart, relative=relative) - File "aniso8601/duration.py", line 29, in parse_duration - return _parse_duration_prescribed(isodurationstr, relative) - File "aniso8601/duration.py", line 77, in _parse_duration_prescribed - raise RuntimeError('dateutil must be installed for relative duration support.') - RuntimeError: dateutil must be installed for relative duration support. - -Date and time resolution ------------------------- - -In some situations, it may be useful to figure out the resolution provided by an ISO 8601 date or time string. Two functions are provided for this purpose. - -To get the resolution of a ISO 8601 time string:: - - >>> aniso8601.get_time_resolution('11:31:14') == aniso8601.resolution.TimeResolution.Seconds - True - >>> aniso8601.get_time_resolution('11:31') == aniso8601.resolution.TimeResolution.Minutes - True - >>> aniso8601.get_time_resolution('11') == aniso8601.resolution.TimeResolution.Hours - True - -Similarly, for an ISO 8601 date string:: - - >>> aniso8601.get_date_resolution('1981-04-05') == aniso8601.resolution.DateResolution.Day - True - >>> aniso8601.get_date_resolution('1981-04') == aniso8601.resolution.DateResolution.Month - True - >>> aniso8601.get_date_resolution('1981') == aniso8601.resolution.DateResolution.Year - True - -Development -=========== - -Setup ------ - -It is recommended to develop using a `virtualenv `_. - -The tests require the :code:`relative` feature to be enabled, install the necessary dependencies using pip:: - - $ pip install .[relative] - -Tests ------ - -To run the unit tests, navigate to the source directory and run the tests for the python version being worked on (python2, python3):: - - $ python2 -m unittest discover aniso8601/tests/ - -or:: - - $ python3 -m unittest discover aniso8601/tests/ - -Contributing -============ - -aniso8601 is an open source project hosted on `Bitbucket `_. - -Any and all bugs are welcome on our `issue tracker `_. -Of particular interest are valid ISO 8601 strings that don't parse, or invalid ones that do. At a minimum, -bug reports should include an example of the misbehaving string, as well as the expected result. Of course -patches containing unit tests (or fixed bugs) are welcome! - -References -========== - -* `ISO 8601:2004(E) `_ (Caution, PDF link) -* `Wikipedia article on ISO 8601 `_ -* `Discussion on alternative ISO 8601 parsers for Python `_ - - diff --git a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/INSTALLER b/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/METADATA b/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/METADATA deleted file mode 100644 index f2434368..00000000 --- a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/METADATA +++ /dev/null @@ -1,413 +0,0 @@ -Metadata-Version: 2.0 -Name: aniso8601 -Version: 3.0.2 -Summary: A library for parsing ISO 8601 strings. -Home-page: https://bitbucket.org/nielsenb/aniso8601 -Author: Brandon Nielsen -Author-email: nielsenb@jetfuse.net -License: UNKNOWN -Project-URL: Source, https://bitbucket.org/nielsenb/aniso8601 -Project-URL: Documentation, http://aniso8601.readthedocs.io/en/latest/ -Project-URL: Tracker, https://bitbucket.org/nielsenb/aniso8601/issues -Keywords: iso8601 parser -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Provides-Extra: relative -Provides-Extra: relative -Requires-Dist: python-dateutil; extra == 'relative' - -=========== - aniso8601 -=========== - ----------------------------------- -Another ISO 8601 parser for Python ----------------------------------- - -Features -======== -* Pure Python implementation -* Python 3 support -* Logical behavior - - - Parse a time, get a `datetime.time `_ - - Parse a date, get a `datetime.date `_ - - Parse a datetime, get a `datetime.datetime `_ - - Parse a duration, get a `datetime.timedelta `_ - - Parse an interval, get a tuple of dates or datetimes - - Parse a repeating interval, get a date or datetime `generator `_ - -* UTC offset represented as fixed-offset tzinfo -* Optional `dateutil.relativedelta `_ support for calendar accuracy -* No regular expressions - -Installation -============ - -The recommended installation method is to use pip:: - - $ pip install aniso8601 - -Alternatively, you can download the source (git repository hosted at `Bitbucket `_) and install directly:: - - $ python setup.py install - -Use -=== - -Parsing datetimes ------------------ - -To parse a typical ISO 8601 datetime string:: - - >>> import aniso8601 - >>> aniso8601.parse_datetime('1977-06-10T12:00:00Z') - datetime.datetime(1977, 6, 10, 12, 0, tzinfo=+0:00:00 UTC) - -Alternative delimiters can be specified, for example, a space:: - - >>> aniso8601.parse_datetime('1977-06-10 12:00:00Z', delimiter=' ') - datetime.datetime(1977, 6, 10, 12, 0, tzinfo=+0:00:00 UTC) - -UTC offsets are supported:: - - >>> aniso8601.parse_datetime('1979-06-05T08:00:00-08:00') - datetime.datetime(1979, 6, 5, 8, 0, tzinfo=-8:00:00 UTC) - -If a UTC offset is not specified, the returned datetime will be naive:: - - >>> aniso8601.parse_datetime('1983-01-22T08:00:00') - datetime.datetime(1983, 1, 22, 8, 0) - -Leap seconds are currently not supported and attempting to parse one raises a :code:`LeapSecondError`:: - - >>> aniso8601.parse_datetime('2018-03-06T23:59:60') - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/time.py", line 127, in parse_datetime - timepart = parse_time(isotimestr) - File "aniso8601/time.py", line 110, in parse_time - return _parse_time_naive(timestr) - File "aniso8601/time.py", line 140, in _parse_time_naive - return _RESOLUTION_MAP[get_time_resolution(timestr)](timestr) - File "aniso8601/time.py", line 214, in _parse_second_time - raise LeapSecondError('Leap seconds are not supported.') - aniso8601.exceptions.LeapSecondError: Leap seconds are not supported. - -Parsing dates -------------- - -To parse a date represented in an ISO 8601 string:: - - >>> import aniso8601 - >>> aniso8601.parse_date('1984-04-23') - datetime.date(1984, 4, 23) - -Basic format is supported as well:: - - >>> aniso8601.parse_date('19840423') - datetime.date(1984, 4, 23) - -To parse a date using the ISO 8601 week date format:: - - >>> aniso8601.parse_date('1986-W38-1') - datetime.date(1986, 9, 15) - -To parse an ISO 8601 ordinal date:: - - >>> aniso8601.parse_date('1988-132') - datetime.date(1988, 5, 11) - -Parsing times -------------- - -To parse a time formatted as an ISO 8601 string:: - - >>> import aniso8601 - >>> aniso8601.parse_time('11:31:14') - datetime.time(11, 31, 14) - -As with all of the above, basic format is supported:: - - >>> aniso8601.parse_time('113114') - datetime.time(11, 31, 14) - -A UTC offset can be specified for times:: - - >>> aniso8601.parse_time('17:18:19-02:30') - datetime.time(17, 18, 19, tzinfo=-2:30:00 UTC) - >>> aniso8601.parse_time('171819Z') - datetime.time(17, 18, 19, tzinfo=+0:00:00 UTC) - -Reduced accuracy is supported:: - - >>> aniso8601.parse_time('21:42') - datetime.time(21, 42) - >>> aniso8601.parse_time('22') - datetime.time(22, 0) - -A decimal fraction is always allowed on the lowest order element of an ISO 8601 formatted time:: - - >>> aniso8601.parse_time('22:33.5') - datetime.time(22, 33, 30) - >>> aniso8601.parse_time('23.75') - datetime.time(23, 45) - -Leap seconds are currently not supported and attempting to parse one raises a :code:`LeapSecondError`:: - - >>> aniso8601.parse_time('23:59:60') - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/time.py", line 110, in parse_time - return _parse_time_naive(timestr) - File "aniso8601/time.py", line 140, in _parse_time_naive - return _RESOLUTION_MAP[get_time_resolution(timestr)](timestr) - File "aniso8601/time.py", line 214, in _parse_second_time - raise LeapSecondError('Leap seconds are not supported.') - aniso8601.exceptions.LeapSecondError: Leap seconds are not supported. - -Parsing durations ------------------ - -To parse a duration formatted as an ISO 8601 string:: - - >>> import aniso8601 - >>> aniso8601.parse_duration('P1Y2M3DT4H54M6S') - datetime.timedelta(428, 17646) - -Reduced accuracy is supported:: - - >>> aniso8601.parse_duration('P1Y') - datetime.timedelta(365) - -A decimal fraction is allowed on the lowest order element:: - - >>> aniso8601.parse_duration('P1YT3.5M') - datetime.timedelta(365, 210) - -The decimal fraction can be specified with a comma instead of a full-stop:: - - >>> aniso8601.parse_duration('P1YT3,5M') - datetime.timedelta(365, 210) - -Parsing a duration from a combined date and time is supported as well:: - - >>> aniso8601.parse_duration('P0001-01-02T01:30:5') - datetime.timedelta(397, 5405) - -The above treat years as 365 days and months as 30 days. If calendar level accuracy is required, the relative keyword argument can be used if `python-dateutil `_ is installed:: - - >>> import aniso8601 - >>> from datetime import date - >>> one_month = aniso8601.parse_duration('P1M', relative=True) - >>> print one_month - relativedelta(months=+1) - >>> date(2003,1,27) + one_month - datetime.date(2003, 2, 27) - >>> date(2003,1,31) + one_month - datetime.date(2003, 2, 28) - >>> date(2003,1,31) + two_months - datetime.date(2003, 3, 31) - -Since a relative fractional month or year is not logical, a :code:`RelativeValueError` is raised when attempting to parse a duration with :code:`relative=True` and fractional month or year:: - - >>> aniso8601.parse_duration('P2.1Y', relative=True) - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/duration.py", line 29, in parse_duration - return _parse_duration_prescribed(isodurationstr, relative) - File "aniso8601/duration.py", line 73, in _parse_duration_prescribed - raise RelativeValueError('Fractional months and years are not defined for relative intervals.') - aniso8601.exceptions.RelativeValueError: Fractional months and years are not defined for relative intervals. - -If :code:`relative=True` is set without python-dateutil available, a :code:`RuntimeError` is raised:: - - >>> aniso8601.parse_duration('P1M', relative=True) - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/duration.py", line 29, in parse_duration - return _parse_duration_prescribed(isodurationstr, relative) - File "aniso8601/duration.py", line 77, in _parse_duration_prescribed - raise RuntimeError('dateutil must be installed for relative duration support.') - RuntimeError: dateutil must be installed for relative duration support - -Parsing intervals ------------------ - -To parse an interval specified by a start and end:: - - >>> import aniso8601 - >>> aniso8601.parse_interval('2007-03-01T13:00:00/2008-05-11T15:30:00') - (datetime.datetime(2007, 3, 1, 13, 0), datetime.datetime(2008, 5, 11, 15, 30)) - -Intervals specified by a start time and a duration are supported:: - - >>> aniso8601.parse_interval('2007-03-01T13:00:00Z/P1Y2M10DT2H30M') - (datetime.datetime(2007, 3, 1, 13, 0, tzinfo=+0:00:00 UTC), datetime.datetime(2008, 5, 9, 15, 30, tzinfo=+0:00:00 UTC)) - -A duration can also be specified by a duration and end time:: - - >>> aniso8601.parse_interval('P1M/1981-04-05') - (datetime.date(1981, 4, 5), datetime.date(1981, 3, 6)) - -Notice that the result of the above parse is not in order from earliest to latest. If sorted intervals are required, simply use the :code:`sorted` keyword as shown below:: - - >>> sorted(aniso8601.parse_interval('P1M/1981-04-05')) - [datetime.date(1981, 3, 6), datetime.date(1981, 4, 5)] - -The end of an interval is given as a datetime when required to maintain the resolution specified by a duration, even if the duration start is given as a date:: - - >>> aniso8601.parse_interval('2014-11-12/PT4H54M6.5S') - (datetime.date(2014, 11, 12), datetime.datetime(2014, 11, 12, 4, 54, 6, 500000)) - -Repeating intervals are supported as well, and return a generator:: - - >>> aniso8601.parse_repeating_interval('R3/1981-04-05/P1D') - - >>> list(aniso8601.parse_repeating_interval('R3/1981-04-05/P1D')) - [datetime.date(1981, 4, 5), datetime.date(1981, 4, 6), datetime.date(1981, 4, 7)] - -Repeating intervals are allowed to go in the reverse direction:: - - >>> list(aniso8601.parse_repeating_interval('R2/PT1H2M/1980-03-05T01:01:00')) - [datetime.datetime(1980, 3, 5, 1, 1), datetime.datetime(1980, 3, 4, 23, 59)] - -Unbounded intervals are also allowed (Python 2):: - - >>> result = aniso8601.parse_repeating_interval('R/PT1H2M/1980-03-05T01:01:00') - >>> result.next() - datetime.datetime(1980, 3, 5, 1, 1) - >>> result.next() - datetime.datetime(1980, 3, 4, 23, 59) - -or for Python 3:: - - >>> result = aniso8601.parse_repeating_interval('R/PT1H2M/1980-03-05T01:01:00') - >>> next(result) - datetime.datetime(1980, 3, 5, 1, 1) - >>> next(result) - datetime.datetime(1980, 3, 4, 23, 59) - -Note that you should never try to convert a generator produced by an unbounded interval to a list:: - - >>> list(aniso8601.parse_repeating_interval('R/PT1H2M/1980-03-05T01:01:00')) - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/interval.py", line 161, in _date_generator_unbounded - currentdate += timedelta - OverflowError: date value out of range - -The above treat years as 365 days and months as 30 days. If calendar level accuracy is required, the relative keyword argument can be used if `python-dateutil `_ is installed:: - - >>> aniso8601.parse_interval('2003-01-27/P1M', relative=True) - (datetime.date(2003, 1, 27), datetime.date(2003, 2, 27)) - >>> aniso8601.parse_interval('2003-01-31/P1M', relative=True) - (datetime.date(2003, 1, 31), datetime.date(2003, 2, 28)) - >>> aniso8601.parse_interval('P1Y/2001-02-28', relative=True) - (datetime.date(2001, 2, 28), datetime.date(2000, 2, 28) - -Fractional years and months do not make sense for relative intervals. A :code:`RelativeValueError` is raised when attempting to parse an interval with :code:`relative=True` and a fractional month or year:: - - >>> aniso8601.parse_interval('P1.1Y/2001-02-28', relative=True) - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/interval.py", line 37, in parse_interval - interval_parts = _parse_interval_parts(isointervalstr, intervaldelimiter, datetimedelimiter, relative) - File "aniso8601/interval.py", line 89, in _parse_interval_parts - duration = parse_duration(firstpart, relative=relative) - File "aniso8601/duration.py", line 29, in parse_duration - return _parse_duration_prescribed(isodurationstr, relative) - File "aniso8601/duration.py", line 73, in _parse_duration_prescribed - raise RelativeValueError('Fractional months and years are not defined for relative intervals.') - aniso8601.exceptions.RelativeValueError: Fractional months and years are not defined for relative intervals. - -If :code:`relative=True` is set without python-dateutil available, a :code:`RuntimeError` is raised:: - - >>> aniso8601.parse_interval('2003-01-27/P1M', relative=True) - Traceback (most recent call last): - File "", line 1, in - File "aniso8601/interval.py", line 37, in parse_interval - interval_parts = _parse_interval_parts(isointervalstr, intervaldelimiter, datetimedelimiter, relative) - File "aniso8601/interval.py", line 108, in _parse_interval_parts - duration = parse_duration(secondpart, relative=relative) - File "aniso8601/duration.py", line 29, in parse_duration - return _parse_duration_prescribed(isodurationstr, relative) - File "aniso8601/duration.py", line 77, in _parse_duration_prescribed - raise RuntimeError('dateutil must be installed for relative duration support.') - RuntimeError: dateutil must be installed for relative duration support. - -Date and time resolution ------------------------- - -In some situations, it may be useful to figure out the resolution provided by an ISO 8601 date or time string. Two functions are provided for this purpose. - -To get the resolution of a ISO 8601 time string:: - - >>> aniso8601.get_time_resolution('11:31:14') == aniso8601.resolution.TimeResolution.Seconds - True - >>> aniso8601.get_time_resolution('11:31') == aniso8601.resolution.TimeResolution.Minutes - True - >>> aniso8601.get_time_resolution('11') == aniso8601.resolution.TimeResolution.Hours - True - -Similarly, for an ISO 8601 date string:: - - >>> aniso8601.get_date_resolution('1981-04-05') == aniso8601.resolution.DateResolution.Day - True - >>> aniso8601.get_date_resolution('1981-04') == aniso8601.resolution.DateResolution.Month - True - >>> aniso8601.get_date_resolution('1981') == aniso8601.resolution.DateResolution.Year - True - -Development -=========== - -Setup ------ - -It is recommended to develop using a `virtualenv `_. - -The tests require the :code:`relative` feature to be enabled, install the necessary dependencies using pip:: - - $ pip install .[relative] - -Tests ------ - -To run the unit tests, navigate to the source directory and run the tests for the python version being worked on (python2, python3):: - - $ python2 -m unittest discover aniso8601/tests/ - -or:: - - $ python3 -m unittest discover aniso8601/tests/ - -Contributing -============ - -aniso8601 is an open source project hosted on `Bitbucket `_. - -Any and all bugs are welcome on our `issue tracker `_. -Of particular interest are valid ISO 8601 strings that don't parse, or invalid ones that do. At a minimum, -bug reports should include an example of the misbehaving string, as well as the expected result. Of course -patches containing unit tests (or fixed bugs) are welcome! - -References -========== - -* `ISO 8601:2004(E) `_ (Caution, PDF link) -* `Wikipedia article on ISO 8601 `_ -* `Discussion on alternative ISO 8601 parsers for Python `_ - - diff --git a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/RECORD b/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/RECORD deleted file mode 100644 index f7e3c490..00000000 --- a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/RECORD +++ /dev/null @@ -1,25 +0,0 @@ -aniso8601/__init__.py,sha256=r15awjHgn8H6loHfYB4mJgGeiSTiJpIvIpVK4gXCzzk,527 -aniso8601/compat.py,sha256=TEGb7_3qpbKtAfu7FfSkf0tcc9lquiDZ-Yt4uQCw45o,305 -aniso8601/date.py,sha256=fmY0t6ESI6dooFOI2g57RFgIPrmxnyEI8DznuW7QrmE,8405 -aniso8601/duration.py,sha256=qwrK0nS-Zo9hVGZzmhL0aQXOuTv_mBNmO74u8PbC5RE,10726 -aniso8601/exceptions.py,sha256=N94MSQSnyctkjFXRlg4T91qQpYYSSrXuGCc1V1-knUI,1210 -aniso8601/interval.py,sha256=VPgu4po6j88CtRy-0RNPBX_BffyiN-mAFvpdyesCtT4,6447 -aniso8601/resolution.py,sha256=JklhrwxP807fpZZhLvQrDy40lzIz5OctsMK7m1yNSk8,422 -aniso8601/time.py,sha256=MG61Oc4cyCBYklNPIkO14PCod4F8FyMe9N0X8rme2Rs,8128 -aniso8601/timezone.py,sha256=9A-ah5xFapOkxOJFEPvmF-_WYnn2zfS5ZrHqQdC5K9M,3376 -aniso8601-3.0.2.dist-info/DESCRIPTION.rst,sha256=IRO_7zo9wM-GXLQbkggGyZoIVr3ddwLG627qf5-Wl90,15070 -aniso8601-3.0.2.dist-info/METADATA,sha256=DaU0fNs-ghRC1q6nKwF1cXiQieIyHNh-oZhNv0vRGrc,16259 -aniso8601-3.0.2.dist-info/RECORD,, -aniso8601-3.0.2.dist-info/WHEEL,sha256=5wvfB7GvgZAbKBSE9uX9Zbi6LCL-_KgezgHblXhCRnM,113 -aniso8601-3.0.2.dist-info/metadata.json,sha256=loCVI9Gvc7WILza0eIH-iQITWlL8rDxjWSM2Z9K6ZLU,1135 -aniso8601-3.0.2.dist-info/top_level.txt,sha256=MVQomyeED8nGIH7PUQdMzxgLppIB48oYHtcmL17ETB0,10 -aniso8601-3.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -aniso8601/__pycache__/compat.cpython-36.pyc,, -aniso8601/__pycache__/date.cpython-36.pyc,, -aniso8601/__pycache__/duration.cpython-36.pyc,, -aniso8601/__pycache__/exceptions.cpython-36.pyc,, -aniso8601/__pycache__/interval.cpython-36.pyc,, -aniso8601/__pycache__/resolution.cpython-36.pyc,, -aniso8601/__pycache__/time.cpython-36.pyc,, -aniso8601/__pycache__/timezone.cpython-36.pyc,, -aniso8601/__pycache__/__init__.cpython-36.pyc,, diff --git a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/WHEEL b/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/WHEEL deleted file mode 100644 index 7bf9daa1..00000000 --- a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/WHEEL +++ /dev/null @@ -1,6 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.30.0.a0) -Root-Is-Purelib: true -Tag: py2-none-any -Tag: py3-none-any - diff --git a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/metadata.json b/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/metadata.json deleted file mode 100644 index 902a9632..00000000 --- a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules"], "extensions": {"python.details": {"contacts": [{"email": "nielsenb@jetfuse.net", "name": "Brandon Nielsen", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://bitbucket.org/nielsenb/aniso8601"}}}, "extras": ["relative"], "generator": "bdist_wheel (0.30.0.a0)", "keywords": ["iso8601", "parser"], "metadata_version": "2.0", "name": "aniso8601", "project_url": "Source, https://bitbucket.org/nielsenb/aniso8601", "run_requires": [{"extra": "relative", "requires": ["python-dateutil"]}], "summary": "A library for parsing ISO 8601 strings.", "version": "3.0.2"} \ No newline at end of file diff --git a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/top_level.txt b/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/top_level.txt deleted file mode 100644 index 166ae78c..00000000 --- a/Master/env_master/Lib/site-packages/aniso8601-3.0.2.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -aniso8601 diff --git a/Master/env_master/Lib/site-packages/aniso8601/__init__.py b/Master/env_master/Lib/site-packages/aniso8601/__init__.py deleted file mode 100644 index a5286e90..00000000 --- a/Master/env_master/Lib/site-packages/aniso8601/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2018, Brandon Nielsen -# All rights reserved. -# -# This software may be modified and distributed under the terms -# of the BSD license. See the LICENSE file for details. - -#Import the main parsing functions so they are readily available -from aniso8601.time import parse_datetime, parse_time, get_time_resolution -from aniso8601.date import parse_date, get_date_resolution -from aniso8601.duration import parse_duration -from aniso8601.interval import parse_interval, parse_repeating_interval diff --git a/Master/env_master/Lib/site-packages/aniso8601/compat.py b/Master/env_master/Lib/site-packages/aniso8601/compat.py deleted file mode 100644 index 9f82be37..00000000 --- a/Master/env_master/Lib/site-packages/aniso8601/compat.py +++ /dev/null @@ -1,16 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2018, Brandon Nielsen -# All rights reserved. -# -# This software may be modified and distributed under the terms -# of the BSD license. See the LICENSE file for details. - -import sys - -PY2 = sys.version_info[0] == 2 - -if PY2: - range = xrange -else: - range = range diff --git a/Master/env_master/Lib/site-packages/aniso8601/date.py b/Master/env_master/Lib/site-packages/aniso8601/date.py deleted file mode 100644 index df35d0ba..00000000 --- a/Master/env_master/Lib/site-packages/aniso8601/date.py +++ /dev/null @@ -1,250 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2018, Brandon Nielsen -# All rights reserved. -# -# This software may be modified and distributed under the terms -# of the BSD license. See the LICENSE file for details. - -import datetime - -from aniso8601.exceptions import DayOutOfBoundsError, ISOFormatError, \ - WeekOutOfBoundsError, YearOutOfBoundsError -from aniso8601.resolution import DateResolution - -def get_date_resolution(isodatestr): - #Valid string formats are: - # - #Y[YYY] - #YYYY-MM-DD - #YYYYMMDD - #YYYY-MM - #YYYY-Www - #YYYYWww - #YYYY-Www-D - #YYYYWwwD - #YYYY-DDD - #YYYYDDD - if isodatestr.startswith('+') or isodatestr.startswith('-'): - raise NotImplementedError('ISO 8601 extended year representation not supported.') - - if isodatestr.find('W') != -1: - #Handle ISO 8601 week date format - hyphens_present = 1 if isodatestr.find('-') != -1 else 0 - week_date_len = 7 + hyphens_present - weekday_date_len = 8 + 2 * hyphens_present - - if len(isodatestr) == week_date_len: - #YYYY-Www - #YYYYWww - return DateResolution.Week - elif len(isodatestr) == weekday_date_len: - #YYYY-Www-D - #YYYYWwwD - return DateResolution.Weekday - else: - raise ISOFormatError('"{0}" is not a valid ISO 8601 week date.'.format(isodatestr)) - - #If the size of the string of 4 or less, assume its a truncated year representation - if len(isodatestr) <= 4: - return DateResolution.Year - - #An ISO string may be a calendar represntation if: - # 1) When split on a hyphen, the sizes of the parts are 4, 2, 2 or 4, 2 - # 2) There are no hyphens, and the length is 8 - datestrsplit = isodatestr.split('-') - - #Check case 1 - if len(datestrsplit) == 2: - if len(datestrsplit[0]) == 4 and len(datestrsplit[1]) == 2: - return DateResolution.Month - - if len(datestrsplit) == 3: - if len(datestrsplit[0]) == 4 and len(datestrsplit[1]) == 2 and len(datestrsplit[2]) == 2: - return DateResolution.Day - - #Check case 2 - if len(isodatestr) == 8 and isodatestr.find('-') == -1: - return DateResolution.Day - - #An ISO string may be a ordinal date representation if: - # 1) When split on a hyphen, the sizes of the parts are 4, 3 - # 2) There are no hyphens, and the length is 7 - - #Check case 1 - if len(datestrsplit) == 2: - if len(datestrsplit[0]) == 4 and len(datestrsplit[1]) == 3: - return DateResolution.Ordinal - - #Check case 2 - if len(isodatestr) == 7 and isodatestr.find('-') == -1: - return DateResolution.Ordinal - - #None of the date representations match - raise ISOFormatError('"{0}" is not an ISO 8601 date, perhaps it represents a time or datetime.'.format(isodatestr)) - -def parse_date(isodatestr): - #Given a string in any ISO 8601 date format, return a datetime.date - #object that corresponds to the given date. Valid string formats are: - # - #Y[YYY] - #YYYY-MM-DD - #YYYYMMDD - #YYYY-MM - #YYYY-Www - #YYYYWww - #YYYY-Www-D - #YYYYWwwD - #YYYY-DDD - #YYYYDDD - # - #Note that the ISO 8601 date format of ±YYYYY is expressly not supported - return _RESOLUTION_MAP[get_date_resolution(isodatestr)](isodatestr) - -def _parse_year(yearstr): - #yearstr is of the format Y[YYY] - # - #0000 (1 BC) is not representible as a Python date so a ValueError is - #raised - # - #Truncated dates, like '19', refer to 1900-1999 inclusive, we simply parse - #to 1900-01-01 - # - #Since no additional resolution is provided, the month is set to 1, and - #day is set to 1 - - if len(yearstr) == 4: - isoyear = int(yearstr) - else: - #Shift 0s in from the left to form complete year - isoyear = int(yearstr.ljust(4, '0')) - - if isoyear == 0: - raise YearOutOfBoundsError('Year must be between 1..9999.') - - return datetime.date(isoyear, 1, 1) - -def _parse_calendar_day(datestr): - #datestr is of the format YYYY-MM-DD or YYYYMMDD - if len(datestr) == 10: - #YYYY-MM-DD - strformat = '%Y-%m-%d' - elif len(datestr) == 8: - #YYYYMMDD - strformat = '%Y%m%d' - else: - raise ISOFormatError('"{0}" is not a valid ISO 8601 calendar day.'.format(datestr)) - - parseddatetime = datetime.datetime.strptime(datestr, strformat) - - #Since no 'time' is given, cast to a date - return parseddatetime.date() - -def _parse_calendar_month(datestr): - #datestr is of the format YYYY-MM - if len(datestr) != 7: - raise ISOFormatError('"{0}" is not a valid ISO 8601 calendar month.'.format(datestr)) - - parseddatetime = datetime.datetime.strptime(datestr, '%Y-%m') - - #Since no 'time' is given, cast to a date - return parseddatetime.date() - -def _parse_week_day(datestr): - #datestr is of the format YYYY-Www-D, YYYYWwwD - # - #W is the week number prefix, ww is the week number, between 1 and 53 - #0 is not a valid week number, which differs from the Python implementation - # - #D is the weekday number, between 1 and 7, which differs from the Python - #implementation which is between 0 and 6 - - isoyear = int(datestr[0:4]) - gregorianyearstart = _iso_year_start(isoyear) - - #Week number will be the two characters after the W - windex = datestr.find('W') - isoweeknumber = int(datestr[windex + 1:windex + 3]) - - if isoweeknumber == 0 or isoweeknumber > 53: - raise WeekOutOfBoundsError('Week number must be between 1..53.') - - if datestr.find('-') != -1 and len(datestr) == 10: - #YYYY-Www-D - isoday = int(datestr[9:10]) - elif len(datestr) == 8: - #YYYYWwwD - isoday = int(datestr[7:8]) - else: - raise ISOFormatError('"{0}" is not a valid ISO 8601 week date.'.format(datestr)) - - if isoday == 0 or isoday > 7: - raise DayOutOfBoundsError('Weekday number must be between 1..7.') - - return gregorianyearstart + datetime.timedelta(weeks=isoweeknumber - 1, days=isoday - 1) - -def _parse_week(datestr): - #datestr is of the format YYYY-Www, YYYYWww - # - #W is the week number prefix, ww is the week number, between 1 and 53 - #0 is not a valid week number, which differs from the Python implementation - - isoyear = int(datestr[0:4]) - gregorianyearstart = _iso_year_start(isoyear) - - #Week number will be the two characters after the W - windex = datestr.find('W') - isoweeknumber = int(datestr[windex + 1:windex + 3]) - - if isoweeknumber == 0 or isoweeknumber > 53: - raise WeekOutOfBoundsError('Week number must be between 1..53.') - - return gregorianyearstart + datetime.timedelta(weeks=isoweeknumber - 1, days=0) - -def _parse_ordinal_date(datestr): - #datestr is of the format YYYY-DDD or YYYYDDD - #DDD can be from 1 - 36[5,6], this matches Python's definition - - isoyear = int(datestr[0:4]) - - if datestr.find('-') != -1: - #YYYY-DDD - isoday = int(datestr[(datestr.find('-') + 1):]) - else: - #YYYYDDD - isoday = int(datestr[4:]) - - parseddate = datetime.date(isoyear, 1, 1) + datetime.timedelta(days=isoday - 1) - - #Enforce ordinal day limitation - #https://bitbucket.org/nielsenb/aniso8601/issues/14/parsing-ordinal-dates-should-only-allow - if isoday == 0 or parseddate.year != isoyear: - raise DayOutOfBoundsError('Day of year must be from 1..365, 1..366 for leap year.') - - return parseddate - -def _iso_year_start(isoyear): - #Given an ISO year, returns the equivalent of the start of the year - #on the Gregorian calendar (which is used by Python) - #Stolen from: - #http://stackoverflow.com/questions/304256/whats-the-best-way-to-find-the-inverse-of-datetime-isocalendar - - #Determine the location of the 4th of January, the first week of - #the ISO year is the week containing the 4th of January - #http://en.wikipedia.org/wiki/ISO_week_date - fourth_jan = datetime.date(isoyear, 1, 4) - - #Note the conversion from ISO day (1 - 7) and Python day (0 - 6) - delta = datetime.timedelta(fourth_jan.isoweekday() - 1) - - #Return the start of the year - return fourth_jan - delta - -_RESOLUTION_MAP = { - DateResolution.Day: _parse_calendar_day, - DateResolution.Ordinal: _parse_ordinal_date, - DateResolution.Month: _parse_calendar_month, - DateResolution.Week: _parse_week, - DateResolution.Weekday: _parse_week_day, - DateResolution.Year: _parse_year -} diff --git a/Master/env_master/Lib/site-packages/aniso8601/duration.py b/Master/env_master/Lib/site-packages/aniso8601/duration.py deleted file mode 100644 index 98095a23..00000000 --- a/Master/env_master/Lib/site-packages/aniso8601/duration.py +++ /dev/null @@ -1,292 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2018, Brandon Nielsen -# All rights reserved. -# -# This software may be modified and distributed under the terms -# of the BSD license. See the LICENSE file for details. - -import datetime - -from aniso8601.date import parse_date -from aniso8601.exceptions import ISOFormatError, RelativeValueError -from aniso8601.time import parse_time -from aniso8601 import compat - -def parse_duration(isodurationstr, relative=False): - #Given a string representing an ISO 8601 duration, return a - #datetime.timedelta (or dateutil.relativedelta.relativedelta - #if relative=True) that matches the given duration. Valid formats are: - # - #PnYnMnDTnHnMnS (or any reduced precision equivalent) - #PT

, , and