3454a55636
cffconvert / validate (push) Has been cancelled
ci-workflow / pre-commit (push) Has been cancelled
ci-workflow / Minimal NLTK Download Test (macos-latest) (push) Has been cancelled
ci-workflow / Minimal NLTK Download Test (ubuntu-latest) (push) Has been cancelled
ci-workflow / Minimal NLTK Download Test (windows-latest) (push) Has been cancelled
ci-workflow / Python 3.10 on macos-latest (push) Has been cancelled
ci-workflow / Python 3.11 on macos-latest (push) Has been cancelled
ci-workflow / Python 3.12 on macos-latest (push) Has been cancelled
ci-workflow / Python 3.13 on macos-latest (push) Has been cancelled
ci-workflow / Python 3.14 on macos-latest (push) Has been cancelled
ci-workflow / Python 3.14t on macos-latest (push) Has been cancelled
ci-workflow / Python 3.10 on ubuntu-latest (push) Has been cancelled
ci-workflow / Python 3.11 on ubuntu-latest (push) Has been cancelled
ci-workflow / Python 3.12 on ubuntu-latest (push) Has been cancelled
ci-workflow / Python 3.13 on ubuntu-latest (push) Has been cancelled
ci-workflow / Python 3.14 on ubuntu-latest (push) Has been cancelled
ci-workflow / Python 3.14t on ubuntu-latest (push) Has been cancelled
ci-workflow / Python 3.10 on windows-latest (push) Has been cancelled
ci-workflow / Python 3.11 on windows-latest (push) Has been cancelled
ci-workflow / Python 3.12 on windows-latest (push) Has been cancelled
ci-workflow / Python 3.13 on windows-latest (push) Has been cancelled
ci-workflow / Python 3.14 on windows-latest (push) Has been cancelled
39 lines
1.1 KiB
Python
Executable File
39 lines
1.1 KiB
Python
Executable File
# Natural Language Toolkit: Compatibility
|
|
#
|
|
# Copyright (C) 2001-2026 NLTK Project
|
|
#
|
|
# URL: <https://www.nltk.org/>
|
|
# For license information, see LICENSE.TXT
|
|
|
|
import os
|
|
from functools import wraps
|
|
|
|
# ======= Compatibility for datasets that care about Python versions ========
|
|
|
|
# The following datasets have a /PY3 subdirectory containing
|
|
# a full copy of the data which has been re-encoded or repickled.
|
|
DATA_UPDATES = []
|
|
|
|
_PY3_DATA_UPDATES = [os.path.join(*path_list) for path_list in DATA_UPDATES]
|
|
|
|
|
|
def add_py3_data(path):
|
|
for item in _PY3_DATA_UPDATES:
|
|
if item in str(path) and "/PY3" not in str(path):
|
|
pos = path.index(item) + len(item)
|
|
if path[pos : pos + 4] == ".zip":
|
|
pos += 4
|
|
path = path[:pos] + "/PY3" + path[pos:]
|
|
break
|
|
return path
|
|
|
|
|
|
# for use in adding /PY3 to the second (filename) argument
|
|
# of the file pointers in data.py
|
|
def py3_data(init_func):
|
|
def _decorator(*args, **kwargs):
|
|
args = (args[0], add_py3_data(args[1])) + args[2:]
|
|
return init_func(*args, **kwargs)
|
|
|
|
return wraps(init_func)(_decorator)
|