diff options
| author | 2021-02-03 19:17:50 -0500 | |
|---|---|---|
| committer | 2021-02-03 19:17:50 -0500 | |
| commit | 475d074fd74425efbe783fad08f97f2df0c4909f (patch) | |
| tree | 2acdae53999b3c74b716efa4edb5b40311fa356a /nikola/plugins/task/py3_switch.py | |
| parent | cd502d52787f666fff3254d7d7e7578930c813c2 (diff) | |
| parent | 3a0d66f07b112b6d2bdc2b57bbf717a89a351ce6 (diff) | |
Update upstream source from tag 'upstream/8.1.2'
Update to upstream version '8.1.2'
with Debian dir e5e966a9e6010ef70618dc9a61558fa4db35aceb
Diffstat (limited to 'nikola/plugins/task/py3_switch.py')
| -rw-r--r-- | nikola/plugins/task/py3_switch.py | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/nikola/plugins/task/py3_switch.py b/nikola/plugins/task/py3_switch.py deleted file mode 100644 index 2ff4e2d..0000000 --- a/nikola/plugins/task/py3_switch.py +++ /dev/null @@ -1,103 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright © 2012-2016 Roberto Alsina and others. - -# Permission is hereby granted, free of charge, to any -# person obtaining a copy of this software and associated -# documentation files (the "Software"), to deal in the -# Software without restriction, including without limitation -# the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the -# Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice -# shall be included in all copies or substantial portions of -# the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -# PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -# OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -"""Beg the user to switch to python 3.""" - -import datetime -import os -import random -import sys - -import doit.tools - -from nikola.utils import get_logger, STDERR_HANDLER -from nikola.plugin_categories import LateTask - -PY2_AND_NO_PY3_WARNING = """Nikola is going to deprecate Python 2 support in 2016. Your current -version will continue to work, but please consider upgrading to Python 3. - -Please check http://bit.ly/1FKEsiX for details. -""" -PY2_WARNING = """Nikola is going to deprecate Python 2 support in 2016. You already have Python 3 -available in your system. Why not switch? - -Please check http://bit.ly/1FKEsiX for details. -""" -PY2_BARBS = [ - "Python 2 has been deprecated for years. Stop clinging to your long gone youth and switch to Python3.", - "Python 2 is the safety blanket of languages. Be a big kid and switch to Python 3", - "Python 2 is old and busted. Python 3 is the new hotness.", - "Nice unicode you have there, would be a shame something happened to it.. switch to python 3!.", - "Don't get in the way of progress! Upgrade to Python 3 and save a developer's mind today!", - "Winners don't use Python 2 -- Signed: The FBI", - "Python 2? What year is it?", - "I just wanna tell you how I'm feeling\n" - "Gotta make you understand\n" - "Never gonna give you up [But Python 2 has to go]", - "The year 2009 called, and they want their Python 2.7 back.", -] - - -LOGGER = get_logger('Nikola', STDERR_HANDLER) - - -def has_python_3(): - """Check if python 3 is available.""" - if 'win' in sys.platform: - py_bin = 'py.exe' - else: - py_bin = 'python3' - for path in os.environ["PATH"].split(os.pathsep): - if os.access(os.path.join(path, py_bin), os.X_OK): - return True - return False - - -class Py3Switch(LateTask): - """Beg the user to switch to python 3.""" - - name = "_switch to py3" - - def gen_tasks(self): - """Beg the user to switch to python 3.""" - def give_warning(): - if sys.version_info[0] == 3: - return - if has_python_3(): - LOGGER.warn(random.choice(PY2_BARBS)) - LOGGER.warn(PY2_WARNING) - else: - LOGGER.warn(PY2_AND_NO_PY3_WARNING) - - task = { - 'basename': self.name, - 'name': 'please!', - 'actions': [give_warning], - 'clean': True, - 'uptodate': [doit.tools.timeout(datetime.timedelta(days=3))] - } - - return task |
