基础的切片和质量控制
This commit is contained in:
@@ -0,0 +1 @@
|
||||
pip
|
||||
@@ -0,0 +1,22 @@
|
||||
Copyright (c) 2011 Matthew Frazier
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,183 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: Flask-Login
|
||||
Version: 0.6.3
|
||||
Summary: User authentication and session management for Flask.
|
||||
Home-page: https://github.com/maxcountryman/flask-login
|
||||
Author: Matthew Frazier
|
||||
Author-email: leafstormrush@gmail.com
|
||||
Maintainer: Max Countryman
|
||||
License: MIT
|
||||
Project-URL: Documentation, https://flask-login.readthedocs.io/
|
||||
Project-URL: Changes, https://github.com/maxcountryman/flask-login/blob/main/CHANGES.md
|
||||
Project-URL: Source Code, https://github.com/maxcountryman/flask-login
|
||||
Project-URL: Issue Tracker, https://github.com/maxcountryman/flask-login/issues
|
||||
Classifier: Development Status :: 4 - Beta
|
||||
Classifier: Environment :: Web Environment
|
||||
Classifier: Framework :: Flask
|
||||
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
|
||||
Requires-Python: >=3.7
|
||||
Description-Content-Type: text/markdown
|
||||
License-File: LICENSE
|
||||
Requires-Dist: Flask >=1.0.4
|
||||
Requires-Dist: Werkzeug >=1.0.1
|
||||
|
||||
# Flask-Login
|
||||
|
||||

|
||||
[](https://coveralls.io/github/maxcountryman/flask-login?branch=main)
|
||||
[](LICENSE)
|
||||
|
||||
Flask-Login provides user session management for Flask. It handles the common
|
||||
tasks of logging in, logging out, and remembering your users' sessions over
|
||||
extended periods of time.
|
||||
|
||||
Flask-Login is not bound to any particular database system or permissions
|
||||
model. The only requirement is that your user objects implement a few methods,
|
||||
and that you provide a callback to the extension capable of loading users from
|
||||
their ID.
|
||||
|
||||
## Installation
|
||||
|
||||
Install the extension with pip:
|
||||
|
||||
```sh
|
||||
$ pip install flask-login
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Once installed, the Flask-Login is easy to use. Let's walk through setting up
|
||||
a basic application. Also please note that this is a very basic guide: we will
|
||||
be taking shortcuts here that you should never take in a real application.
|
||||
|
||||
To begin we'll set up a Flask app:
|
||||
|
||||
```python
|
||||
import flask
|
||||
|
||||
app = flask.Flask(__name__)
|
||||
app.secret_key = 'super secret string' # Change this!
|
||||
```
|
||||
|
||||
Flask-Login works via a login manager. To kick things off, we'll set up the
|
||||
login manager by instantiating it and telling it about our Flask app:
|
||||
|
||||
```python
|
||||
import flask_login
|
||||
|
||||
login_manager = flask_login.LoginManager()
|
||||
|
||||
login_manager.init_app(app)
|
||||
```
|
||||
|
||||
To keep things simple we're going to use a dictionary to represent a database
|
||||
of users. In a real application, this would be an actual persistence layer.
|
||||
However it's important to point out this is a feature of Flask-Login: it
|
||||
doesn't care how your data is stored so long as you tell it how to retrieve it!
|
||||
|
||||
```python
|
||||
# Our mock database.
|
||||
users = {'foo@bar.tld': {'password': 'secret'}}
|
||||
```
|
||||
|
||||
We also need to tell Flask-Login how to load a user from a Flask request and
|
||||
from its session. To do this we need to define our user object, a
|
||||
`user_loader` callback, and a `request_loader` callback.
|
||||
|
||||
```python
|
||||
class User(flask_login.UserMixin):
|
||||
pass
|
||||
|
||||
|
||||
@login_manager.user_loader
|
||||
def user_loader(email):
|
||||
if email not in users:
|
||||
return
|
||||
|
||||
user = User()
|
||||
user.id = email
|
||||
return user
|
||||
|
||||
|
||||
@login_manager.request_loader
|
||||
def request_loader(request):
|
||||
email = request.form.get('email')
|
||||
if email not in users:
|
||||
return
|
||||
|
||||
user = User()
|
||||
user.id = email
|
||||
return user
|
||||
```
|
||||
|
||||
Now we're ready to define our views. We can start with a login view, which will
|
||||
populate the session with authentication bits. After that we can define a view
|
||||
that requires authentication.
|
||||
|
||||
```python
|
||||
@app.route('/login', methods=['GET', 'POST'])
|
||||
def login():
|
||||
if flask.request.method == 'GET':
|
||||
return '''
|
||||
<form action='login' method='POST'>
|
||||
<input type='text' name='email' id='email' placeholder='email'/>
|
||||
<input type='password' name='password' id='password' placeholder='password'/>
|
||||
<input type='submit' name='submit'/>
|
||||
</form>
|
||||
'''
|
||||
|
||||
email = flask.request.form['email']
|
||||
if email in users and flask.request.form['password'] == users[email]['password']:
|
||||
user = User()
|
||||
user.id = email
|
||||
flask_login.login_user(user)
|
||||
return flask.redirect(flask.url_for('protected'))
|
||||
|
||||
return 'Bad login'
|
||||
|
||||
|
||||
@app.route('/protected')
|
||||
@flask_login.login_required
|
||||
def protected():
|
||||
return 'Logged in as: ' + flask_login.current_user.id
|
||||
```
|
||||
|
||||
Finally we can define a view to clear the session and log users out:
|
||||
|
||||
```python
|
||||
@app.route('/logout')
|
||||
def logout():
|
||||
flask_login.logout_user()
|
||||
return 'Logged out'
|
||||
```
|
||||
|
||||
We now have a basic working application that makes use of session-based
|
||||
authentication. To round things off, we should provide a callback for login
|
||||
failures:
|
||||
|
||||
```python
|
||||
@login_manager.unauthorized_handler
|
||||
def unauthorized_handler():
|
||||
return 'Unauthorized', 401
|
||||
```
|
||||
|
||||
Documentation for Flask-Login is available on [ReadTheDocs](https://flask-login.readthedocs.io/en/latest/).
|
||||
For complete understanding of available configuration, please refer to the [source code](https://github.com/maxcountryman/flask-login).
|
||||
|
||||
|
||||
## Contributing
|
||||
|
||||
We welcome contributions! If you would like to hack on Flask-Login, please
|
||||
follow these steps:
|
||||
|
||||
1. Fork this repository
|
||||
2. Make your changes
|
||||
3. Install the dev requirements with `pip install -r requirements/dev.txt`
|
||||
4. Submit a pull request after running `tox` (ensure it does not error!)
|
||||
|
||||
Please give us adequate time to review your submission. Thanks!
|
||||
@@ -0,0 +1,23 @@
|
||||
Flask_Login-0.6.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
Flask_Login-0.6.3.dist-info/LICENSE,sha256=ep37nF2iBO0TcPO2LBPimSoS2h2nB_R-FWiX7rQ0Tls,1059
|
||||
Flask_Login-0.6.3.dist-info/METADATA,sha256=AUSHR5Po6-Cwmz1KBrAZbTzR-iVVFvtb2NQKYl7UuAU,5799
|
||||
Flask_Login-0.6.3.dist-info/RECORD,,
|
||||
Flask_Login-0.6.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
Flask_Login-0.6.3.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
|
||||
Flask_Login-0.6.3.dist-info/top_level.txt,sha256=OuXmIpiFnXLvW-iBbW2km7ZIy5EZvwSBnYaOC3Kt7j8,12
|
||||
flask_login/__about__.py,sha256=Kkp5e9mV9G7vK_FqZof-g9RFmyyBzq1gge5aKXgvilE,389
|
||||
flask_login/__init__.py,sha256=wYQiQCikT_Ndp3PhOD-1gRTGCrUPIE-FrjQUrT9aVAg,2681
|
||||
flask_login/__pycache__/__about__.cpython-311.pyc,,
|
||||
flask_login/__pycache__/__init__.cpython-311.pyc,,
|
||||
flask_login/__pycache__/config.cpython-311.pyc,,
|
||||
flask_login/__pycache__/login_manager.cpython-311.pyc,,
|
||||
flask_login/__pycache__/mixins.cpython-311.pyc,,
|
||||
flask_login/__pycache__/signals.cpython-311.pyc,,
|
||||
flask_login/__pycache__/test_client.cpython-311.pyc,,
|
||||
flask_login/__pycache__/utils.cpython-311.pyc,,
|
||||
flask_login/config.py,sha256=YAocv18La7YGQyNY5aT7rU1GQIZnX6pvchwqx3kA9p8,1813
|
||||
flask_login/login_manager.py,sha256=h20F_iv3mqc6rIJ4-V6_XookzOUl8Rcpasua-dCByQY,20073
|
||||
flask_login/mixins.py,sha256=gPd7otMRljxw0eUhUMbHsnEBc_jK2cYdxg5KFLuJcoI,1528
|
||||
flask_login/signals.py,sha256=xCMoFHKU1RTVt1NY-Gfl0OiVKpiyNt6YJw_PsgkjY3w,2464
|
||||
flask_login/test_client.py,sha256=6mrjiBRLGJpgvvFlLypXPTBLiMp0BAN-Ft-uogqC81g,517
|
||||
flask_login/utils.py,sha256=Y1wxjCVxpYohBaQJ0ADLypQ-VvBNycwG-gVXFF7k99I,14021
|
||||
@@ -0,0 +1,5 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.41.2)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
flask_login
|
||||
222
venv/lib/python3.11/site-packages/_distutils_hack/__init__.py
Normal file
222
venv/lib/python3.11/site-packages/_distutils_hack/__init__.py
Normal file
@@ -0,0 +1,222 @@
|
||||
# don't import any costly modules
|
||||
import sys
|
||||
import os
|
||||
|
||||
|
||||
is_pypy = '__pypy__' in sys.builtin_module_names
|
||||
|
||||
|
||||
def warn_distutils_present():
|
||||
if 'distutils' not in sys.modules:
|
||||
return
|
||||
if is_pypy and sys.version_info < (3, 7):
|
||||
# PyPy for 3.6 unconditionally imports distutils, so bypass the warning
|
||||
# https://foss.heptapod.net/pypy/pypy/-/blob/be829135bc0d758997b3566062999ee8b23872b4/lib-python/3/site.py#L250
|
||||
return
|
||||
import warnings
|
||||
|
||||
warnings.warn(
|
||||
"Distutils was imported before Setuptools, but importing Setuptools "
|
||||
"also replaces the `distutils` module in `sys.modules`. This may lead "
|
||||
"to undesirable behaviors or errors. To avoid these issues, avoid "
|
||||
"using distutils directly, ensure that setuptools is installed in the "
|
||||
"traditional way (e.g. not an editable install), and/or make sure "
|
||||
"that setuptools is always imported before distutils."
|
||||
)
|
||||
|
||||
|
||||
def clear_distutils():
|
||||
if 'distutils' not in sys.modules:
|
||||
return
|
||||
import warnings
|
||||
|
||||
warnings.warn("Setuptools is replacing distutils.")
|
||||
mods = [
|
||||
name
|
||||
for name in sys.modules
|
||||
if name == "distutils" or name.startswith("distutils.")
|
||||
]
|
||||
for name in mods:
|
||||
del sys.modules[name]
|
||||
|
||||
|
||||
def enabled():
|
||||
"""
|
||||
Allow selection of distutils by environment variable.
|
||||
"""
|
||||
which = os.environ.get('SETUPTOOLS_USE_DISTUTILS', 'local')
|
||||
return which == 'local'
|
||||
|
||||
|
||||
def ensure_local_distutils():
|
||||
import importlib
|
||||
|
||||
clear_distutils()
|
||||
|
||||
# With the DistutilsMetaFinder in place,
|
||||
# perform an import to cause distutils to be
|
||||
# loaded from setuptools._distutils. Ref #2906.
|
||||
with shim():
|
||||
importlib.import_module('distutils')
|
||||
|
||||
# check that submodules load as expected
|
||||
core = importlib.import_module('distutils.core')
|
||||
assert '_distutils' in core.__file__, core.__file__
|
||||
assert 'setuptools._distutils.log' not in sys.modules
|
||||
|
||||
|
||||
def do_override():
|
||||
"""
|
||||
Ensure that the local copy of distutils is preferred over stdlib.
|
||||
|
||||
See https://github.com/pypa/setuptools/issues/417#issuecomment-392298401
|
||||
for more motivation.
|
||||
"""
|
||||
if enabled():
|
||||
warn_distutils_present()
|
||||
ensure_local_distutils()
|
||||
|
||||
|
||||
class _TrivialRe:
|
||||
def __init__(self, *patterns):
|
||||
self._patterns = patterns
|
||||
|
||||
def match(self, string):
|
||||
return all(pat in string for pat in self._patterns)
|
||||
|
||||
|
||||
class DistutilsMetaFinder:
|
||||
def find_spec(self, fullname, path, target=None):
|
||||
# optimization: only consider top level modules and those
|
||||
# found in the CPython test suite.
|
||||
if path is not None and not fullname.startswith('test.'):
|
||||
return
|
||||
|
||||
method_name = 'spec_for_{fullname}'.format(**locals())
|
||||
method = getattr(self, method_name, lambda: None)
|
||||
return method()
|
||||
|
||||
def spec_for_distutils(self):
|
||||
if self.is_cpython():
|
||||
return
|
||||
|
||||
import importlib
|
||||
import importlib.abc
|
||||
import importlib.util
|
||||
|
||||
try:
|
||||
mod = importlib.import_module('setuptools._distutils')
|
||||
except Exception:
|
||||
# There are a couple of cases where setuptools._distutils
|
||||
# may not be present:
|
||||
# - An older Setuptools without a local distutils is
|
||||
# taking precedence. Ref #2957.
|
||||
# - Path manipulation during sitecustomize removes
|
||||
# setuptools from the path but only after the hook
|
||||
# has been loaded. Ref #2980.
|
||||
# In either case, fall back to stdlib behavior.
|
||||
return
|
||||
|
||||
class DistutilsLoader(importlib.abc.Loader):
|
||||
def create_module(self, spec):
|
||||
mod.__name__ = 'distutils'
|
||||
return mod
|
||||
|
||||
def exec_module(self, module):
|
||||
pass
|
||||
|
||||
return importlib.util.spec_from_loader(
|
||||
'distutils', DistutilsLoader(), origin=mod.__file__
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def is_cpython():
|
||||
"""
|
||||
Suppress supplying distutils for CPython (build and tests).
|
||||
Ref #2965 and #3007.
|
||||
"""
|
||||
return os.path.isfile('pybuilddir.txt')
|
||||
|
||||
def spec_for_pip(self):
|
||||
"""
|
||||
Ensure stdlib distutils when running under pip.
|
||||
See pypa/pip#8761 for rationale.
|
||||
"""
|
||||
if self.pip_imported_during_build():
|
||||
return
|
||||
clear_distutils()
|
||||
self.spec_for_distutils = lambda: None
|
||||
|
||||
@classmethod
|
||||
def pip_imported_during_build(cls):
|
||||
"""
|
||||
Detect if pip is being imported in a build script. Ref #2355.
|
||||
"""
|
||||
import traceback
|
||||
|
||||
return any(
|
||||
cls.frame_file_is_setup(frame) for frame, line in traceback.walk_stack(None)
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def frame_file_is_setup(frame):
|
||||
"""
|
||||
Return True if the indicated frame suggests a setup.py file.
|
||||
"""
|
||||
# some frames may not have __file__ (#2940)
|
||||
return frame.f_globals.get('__file__', '').endswith('setup.py')
|
||||
|
||||
def spec_for_sensitive_tests(self):
|
||||
"""
|
||||
Ensure stdlib distutils when running select tests under CPython.
|
||||
|
||||
python/cpython#91169
|
||||
"""
|
||||
clear_distutils()
|
||||
self.spec_for_distutils = lambda: None
|
||||
|
||||
sensitive_tests = (
|
||||
[
|
||||
'test.test_distutils',
|
||||
'test.test_peg_generator',
|
||||
'test.test_importlib',
|
||||
]
|
||||
if sys.version_info < (3, 10)
|
||||
else [
|
||||
'test.test_distutils',
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
for name in DistutilsMetaFinder.sensitive_tests:
|
||||
setattr(
|
||||
DistutilsMetaFinder,
|
||||
f'spec_for_{name}',
|
||||
DistutilsMetaFinder.spec_for_sensitive_tests,
|
||||
)
|
||||
|
||||
|
||||
DISTUTILS_FINDER = DistutilsMetaFinder()
|
||||
|
||||
|
||||
def add_shim():
|
||||
DISTUTILS_FINDER in sys.meta_path or insert_shim()
|
||||
|
||||
|
||||
class shim:
|
||||
def __enter__(self):
|
||||
insert_shim()
|
||||
|
||||
def __exit__(self, exc, value, tb):
|
||||
remove_shim()
|
||||
|
||||
|
||||
def insert_shim():
|
||||
sys.meta_path.insert(0, DISTUTILS_FINDER)
|
||||
|
||||
|
||||
def remove_shim():
|
||||
try:
|
||||
sys.meta_path.remove(DISTUTILS_FINDER)
|
||||
except ValueError:
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
__import__('_distutils_hack').do_override()
|
||||
@@ -0,0 +1 @@
|
||||
pip
|
||||
@@ -0,0 +1,58 @@
|
||||
Metadata-Version: 2.4
|
||||
Name: babel
|
||||
Version: 2.18.0
|
||||
Summary: Internationalization utilities
|
||||
Home-page: https://babel.pocoo.org/
|
||||
Author: Armin Ronacher
|
||||
Author-email: armin.ronacher@active-4.com
|
||||
Maintainer: Aarni Koskela
|
||||
Maintainer-email: akx@iki.fi
|
||||
License: BSD-3-Clause
|
||||
Project-URL: Source, https://github.com/python-babel/babel
|
||||
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: Programming Language :: Python :: 3 :: Only
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: 3.9
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Classifier: Programming Language :: Python :: 3.11
|
||||
Classifier: Programming Language :: Python :: 3.12
|
||||
Classifier: Programming Language :: Python :: 3.13
|
||||
Classifier: Programming Language :: Python :: 3.14
|
||||
Classifier: Programming Language :: Python :: Implementation :: CPython
|
||||
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
||||
Classifier: Topic :: Software Development :: Internationalization
|
||||
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
||||
Requires-Python: >=3.8
|
||||
License-File: LICENSE
|
||||
Requires-Dist: pytz>=2015.7; python_version < "3.9"
|
||||
Provides-Extra: dev
|
||||
Requires-Dist: tzdata; sys_platform == "win32" and extra == "dev"
|
||||
Requires-Dist: backports.zoneinfo; python_version < "3.9" and extra == "dev"
|
||||
Requires-Dist: freezegun~=1.0; extra == "dev"
|
||||
Requires-Dist: jinja2>=3.0; extra == "dev"
|
||||
Requires-Dist: pytest-cov; extra == "dev"
|
||||
Requires-Dist: pytest>=6.0; extra == "dev"
|
||||
Requires-Dist: pytz; extra == "dev"
|
||||
Requires-Dist: setuptools; extra == "dev"
|
||||
Dynamic: author
|
||||
Dynamic: author-email
|
||||
Dynamic: classifier
|
||||
Dynamic: description
|
||||
Dynamic: home-page
|
||||
Dynamic: license
|
||||
Dynamic: license-file
|
||||
Dynamic: maintainer
|
||||
Dynamic: maintainer-email
|
||||
Dynamic: project-url
|
||||
Dynamic: provides-extra
|
||||
Dynamic: requires-dist
|
||||
Dynamic: requires-python
|
||||
Dynamic: summary
|
||||
|
||||
A collection of tools for internationalizing Python applications.
|
||||
1148
venv/lib/python3.11/site-packages/babel-2.18.0.dist-info/RECORD
Normal file
1148
venv/lib/python3.11/site-packages/babel-2.18.0.dist-info/RECORD
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,5 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: setuptools (82.0.0)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
[babel.checkers]
|
||||
num_plurals = babel.messages.checkers:num_plurals
|
||||
python_format = babel.messages.checkers:python_format
|
||||
|
||||
[babel.extractors]
|
||||
ignore = babel.messages.extract:extract_nothing
|
||||
javascript = babel.messages.extract:extract_javascript
|
||||
python = babel.messages.extract:extract_python
|
||||
|
||||
[console_scripts]
|
||||
pybabel = babel.messages.frontend:main
|
||||
|
||||
[distutils.commands]
|
||||
compile_catalog = babel.messages.setuptools_frontend:compile_catalog
|
||||
extract_messages = babel.messages.setuptools_frontend:extract_messages
|
||||
init_catalog = babel.messages.setuptools_frontend:init_catalog
|
||||
update_catalog = babel.messages.setuptools_frontend:update_catalog
|
||||
|
||||
[distutils.setup_keywords]
|
||||
message_extractors = babel.messages.setuptools_frontend:check_message_extractors
|
||||
@@ -0,0 +1,27 @@
|
||||
Copyright (c) 2013-2026 by the Babel Team, see AUTHORS for more information.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. 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.
|
||||
3. 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 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, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -0,0 +1 @@
|
||||
babel
|
||||
38
venv/lib/python3.11/site-packages/babel/__init__.py
Normal file
38
venv/lib/python3.11/site-packages/babel/__init__.py
Normal file
@@ -0,0 +1,38 @@
|
||||
"""
|
||||
babel
|
||||
~~~~~
|
||||
|
||||
Integrated collection of utilities that assist in internationalizing and
|
||||
localizing applications.
|
||||
|
||||
This package is basically composed of two major parts:
|
||||
|
||||
* tools to build and work with ``gettext`` message catalogs
|
||||
* a Python interface to the CLDR (Common Locale Data Repository), providing
|
||||
access to various locale display names, localized number and date
|
||||
formatting, etc.
|
||||
|
||||
:copyright: (c) 2013-2026 by the Babel Team.
|
||||
:license: BSD, see LICENSE for more details.
|
||||
"""
|
||||
|
||||
from babel.core import (
|
||||
Locale,
|
||||
UnknownLocaleError,
|
||||
default_locale,
|
||||
get_locale_identifier,
|
||||
negotiate_locale,
|
||||
parse_locale,
|
||||
)
|
||||
|
||||
__version__ = '2.18.0'
|
||||
|
||||
__all__ = [
|
||||
'Locale',
|
||||
'UnknownLocaleError',
|
||||
'__version__',
|
||||
'default_locale',
|
||||
'get_locale_identifier',
|
||||
'negotiate_locale',
|
||||
'parse_locale',
|
||||
]
|
||||
1384
venv/lib/python3.11/site-packages/babel/core.py
Normal file
1384
venv/lib/python3.11/site-packages/babel/core.py
Normal file
File diff suppressed because it is too large
Load Diff
2040
venv/lib/python3.11/site-packages/babel/dates.py
Normal file
2040
venv/lib/python3.11/site-packages/babel/dates.py
Normal file
File diff suppressed because it is too large
Load Diff
BIN
venv/lib/python3.11/site-packages/babel/global.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/global.dat
Normal file
Binary file not shown.
78
venv/lib/python3.11/site-packages/babel/languages.py
Normal file
78
venv/lib/python3.11/site-packages/babel/languages.py
Normal file
@@ -0,0 +1,78 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from babel.core import get_global
|
||||
|
||||
|
||||
def get_official_languages(
|
||||
territory: str,
|
||||
regional: bool = False,
|
||||
de_facto: bool = False,
|
||||
) -> tuple[str, ...]:
|
||||
"""
|
||||
Get the official language(s) for the given territory.
|
||||
|
||||
The language codes, if any are known, are returned in order of descending popularity.
|
||||
|
||||
If the `regional` flag is set, then languages which are regionally official are also returned.
|
||||
|
||||
If the `de_facto` flag is set, then languages which are "de facto" official are also returned.
|
||||
|
||||
.. warning:: Note that the data is as up to date as the current version of the CLDR used
|
||||
by Babel. If you need scientifically accurate information, use another source!
|
||||
|
||||
:param territory: Territory code
|
||||
:type territory: str
|
||||
:param regional: Whether to return regionally official languages too
|
||||
:type regional: bool
|
||||
:param de_facto: Whether to return de-facto official languages too
|
||||
:type de_facto: bool
|
||||
:return: Tuple of language codes
|
||||
:rtype: tuple[str]
|
||||
"""
|
||||
|
||||
territory = str(territory).upper()
|
||||
allowed_stati = {"official"}
|
||||
if regional:
|
||||
allowed_stati.add("official_regional")
|
||||
if de_facto:
|
||||
allowed_stati.add("de_facto_official")
|
||||
|
||||
languages = get_global("territory_languages").get(territory, {})
|
||||
pairs = [
|
||||
(info['population_percent'], language)
|
||||
for language, info in languages.items()
|
||||
if info.get('official_status') in allowed_stati
|
||||
]
|
||||
pairs.sort(reverse=True)
|
||||
return tuple(lang for _, lang in pairs)
|
||||
|
||||
|
||||
def get_territory_language_info(
|
||||
territory: str,
|
||||
) -> dict[str, dict[str, float | str | None]]:
|
||||
"""
|
||||
Get a dictionary of language information for a territory.
|
||||
|
||||
The dictionary is keyed by language code; the values are dicts with more information.
|
||||
|
||||
The following keys are currently known for the values:
|
||||
|
||||
* `population_percent`: The percentage of the territory's population speaking the
|
||||
language.
|
||||
* `official_status`: An optional string describing the officiality status of the language.
|
||||
Known values are "official", "official_regional" and "de_facto_official".
|
||||
|
||||
.. warning:: Note that the data is as up to date as the current version of the CLDR used
|
||||
by Babel. If you need scientifically accurate information, use another source!
|
||||
|
||||
.. note:: Note that the format of the dict returned may change between Babel versions.
|
||||
|
||||
See https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html
|
||||
|
||||
:param territory: Territory code
|
||||
:type territory: str
|
||||
:return: Language information dictionary
|
||||
:rtype: dict[str, dict]
|
||||
"""
|
||||
territory = str(territory).upper()
|
||||
return get_global("territory_languages").get(territory, {}).copy()
|
||||
141
venv/lib/python3.11/site-packages/babel/lists.py
Normal file
141
venv/lib/python3.11/site-packages/babel/lists.py
Normal file
@@ -0,0 +1,141 @@
|
||||
"""
|
||||
babel.lists
|
||||
~~~~~~~~~~~
|
||||
|
||||
Locale dependent formatting of lists.
|
||||
|
||||
The default locale for the functions in this module is determined by the
|
||||
following environment variables, in that order:
|
||||
|
||||
* ``LC_ALL``, and
|
||||
* ``LANG``
|
||||
|
||||
:copyright: (c) 2015-2026 by the Babel Team.
|
||||
:license: BSD, see LICENSE for more details.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import warnings
|
||||
from collections.abc import Sequence
|
||||
from typing import Literal
|
||||
|
||||
from babel.core import Locale, default_locale
|
||||
|
||||
_DEFAULT_LOCALE = default_locale() # TODO(3.0): Remove this.
|
||||
|
||||
|
||||
def __getattr__(name):
|
||||
if name == "DEFAULT_LOCALE":
|
||||
warnings.warn(
|
||||
"The babel.lists.DEFAULT_LOCALE constant is deprecated and will be removed.",
|
||||
DeprecationWarning,
|
||||
stacklevel=2,
|
||||
)
|
||||
return _DEFAULT_LOCALE
|
||||
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
||||
|
||||
|
||||
def format_list(
|
||||
lst: Sequence[str],
|
||||
style: Literal[
|
||||
'standard',
|
||||
'standard-short',
|
||||
'or',
|
||||
'or-short',
|
||||
'unit',
|
||||
'unit-short',
|
||||
'unit-narrow',
|
||||
] = 'standard',
|
||||
locale: Locale | str | None = None,
|
||||
) -> str:
|
||||
"""
|
||||
Format the items in `lst` as a list.
|
||||
|
||||
>>> format_list(['apples', 'oranges', 'pears'], locale='en')
|
||||
'apples, oranges, and pears'
|
||||
>>> format_list(['apples', 'oranges', 'pears'], locale='zh')
|
||||
'apples、oranges和pears'
|
||||
>>> format_list(['omena', 'peruna', 'aplari'], style='or', locale='fi')
|
||||
'omena, peruna tai aplari'
|
||||
|
||||
Not all styles are necessarily available in all locales.
|
||||
The function will attempt to fall back to replacement styles according to the rules
|
||||
set forth in the CLDR root XML file, and raise a ValueError if no suitable replacement
|
||||
can be found.
|
||||
|
||||
The following text is verbatim from the Unicode TR35-49 spec [1].
|
||||
|
||||
* standard:
|
||||
A typical 'and' list for arbitrary placeholders.
|
||||
eg. "January, February, and March"
|
||||
* standard-short:
|
||||
A short version of an 'and' list, suitable for use with short or abbreviated placeholder values.
|
||||
eg. "Jan., Feb., and Mar."
|
||||
* or:
|
||||
A typical 'or' list for arbitrary placeholders.
|
||||
eg. "January, February, or March"
|
||||
* or-short:
|
||||
A short version of an 'or' list.
|
||||
eg. "Jan., Feb., or Mar."
|
||||
* unit:
|
||||
A list suitable for wide units.
|
||||
eg. "3 feet, 7 inches"
|
||||
* unit-short:
|
||||
A list suitable for short units
|
||||
eg. "3 ft, 7 in"
|
||||
* unit-narrow:
|
||||
A list suitable for narrow units, where space on the screen is very limited.
|
||||
eg. "3′ 7″"
|
||||
|
||||
[1]: https://www.unicode.org/reports/tr35/tr35-49/tr35-general.html#ListPatterns
|
||||
|
||||
:param lst: a sequence of items to format in to a list
|
||||
:param style: the style to format the list with. See above for description.
|
||||
:param locale: the locale. Defaults to the system locale.
|
||||
"""
|
||||
locale = Locale.parse(locale or _DEFAULT_LOCALE)
|
||||
if not lst:
|
||||
return ''
|
||||
if len(lst) == 1:
|
||||
return lst[0]
|
||||
|
||||
patterns = _resolve_list_style(locale, style)
|
||||
|
||||
if len(lst) == 2 and '2' in patterns:
|
||||
return patterns['2'].format(*lst)
|
||||
|
||||
result = patterns['start'].format(lst[0], lst[1])
|
||||
for elem in lst[2:-1]:
|
||||
result = patterns['middle'].format(result, elem)
|
||||
result = patterns['end'].format(result, lst[-1])
|
||||
|
||||
return result
|
||||
|
||||
|
||||
# Based on CLDR 45's root.xml file's `<alias>`es.
|
||||
# The root file defines both `standard` and `or`,
|
||||
# so they're always available.
|
||||
# TODO: It would likely be better to use the
|
||||
# babel.localedata.Alias mechanism for this,
|
||||
# but I'm not quite sure how it's supposed to
|
||||
# work with inheritance and data in the root.
|
||||
_style_fallbacks = {
|
||||
"or-narrow": ["or-short", "or"],
|
||||
"or-short": ["or"],
|
||||
"standard-narrow": ["standard-short", "standard"],
|
||||
"standard-short": ["standard"],
|
||||
"unit": ["unit-short", "standard"],
|
||||
"unit-narrow": ["unit-short", "unit", "standard"],
|
||||
"unit-short": ["standard"],
|
||||
}
|
||||
|
||||
|
||||
def _resolve_list_style(locale: Locale, style: str):
|
||||
for style in (style, *(_style_fallbacks.get(style, []))): # noqa: B020
|
||||
if style in locale.list_patterns:
|
||||
return locale.list_patterns[style]
|
||||
raise ValueError(
|
||||
f"Locale {locale} does not support list formatting style {style!r} "
|
||||
f"(supported are {sorted(locale.list_patterns)})",
|
||||
)
|
||||
@@ -0,0 +1,41 @@
|
||||
UNICODE LICENSE V3
|
||||
|
||||
COPYRIGHT AND PERMISSION NOTICE
|
||||
|
||||
Copyright © 2004-2025 Unicode, Inc.
|
||||
|
||||
NOTICE TO USER: Carefully read the following legal agreement. BY
|
||||
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
|
||||
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
|
||||
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
|
||||
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of data files and any associated documentation (the "Data Files") or
|
||||
software and any associated documentation (the "Software") to deal in the
|
||||
Data Files or Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, and/or sell
|
||||
copies of the Data Files or Software, and to permit persons to whom the
|
||||
Data Files or Software are furnished to do so, provided that either (a)
|
||||
this copyright and permission notice appear with all copies of the Data
|
||||
Files or Software, or (b) this copyright and permission notice appear in
|
||||
associated Documentation.
|
||||
|
||||
THE DATA FILES AND SOFTWARE ARE 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 OF
|
||||
THIRD PARTY RIGHTS.
|
||||
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
|
||||
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
|
||||
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
|
||||
FILES OR SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder shall
|
||||
not be used in advertising or otherwise to promote the sale, use or other
|
||||
dealings in these Data Files or Software without prior written
|
||||
authorization of the copyright holder.
|
||||
|
||||
SPDX-License-Identifier: Unicode-3.0
|
||||
BIN
venv/lib/python3.11/site-packages/babel/locale-data/aa.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/aa.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/aa_DJ.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/aa_DJ.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/aa_ER.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/aa_ER.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/aa_ET.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/aa_ET.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ab.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ab.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ab_GE.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ab_GE.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/af.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/af.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/af_NA.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/af_NA.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/af_ZA.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/af_ZA.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/agq.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/agq.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/agq_CM.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/agq_CM.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ak.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ak.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ak_GH.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ak_GH.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/am.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/am.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/am_ET.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/am_ET.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/an.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/an.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/an_ES.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/an_ES.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ann.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ann.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ann_NG.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ann_NG.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/apc.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/apc.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/apc_SY.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/apc_SY.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_001.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_001.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_AE.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_AE.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_BH.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_BH.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_DJ.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_DJ.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_DZ.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_DZ.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_EG.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_EG.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_EH.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_EH.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_ER.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_ER.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_IL.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_IL.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_IQ.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_IQ.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_JO.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_JO.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_KM.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_KM.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_KW.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_KW.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_LB.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_LB.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_LY.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_LY.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_MA.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_MA.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_MR.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_MR.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_OM.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_OM.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_PS.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_PS.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_QA.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_QA.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_SA.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_SA.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_SD.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_SD.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_SO.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_SO.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_SS.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_SS.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_SY.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_SY.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_TD.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_TD.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_TN.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_TN.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_YE.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ar_YE.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/arn.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/arn.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/arn_CL.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/arn_CL.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/as.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/as.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/as_IN.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/as_IN.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/asa.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/asa.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/asa_TZ.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/asa_TZ.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ast.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ast.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ast_ES.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ast_ES.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/az.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/az.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/az_Arab.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/az_Arab.dat
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/az_Cyrl.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/az_Cyrl.dat
Normal file
Binary file not shown.
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/az_Latn.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/az_Latn.dat
Normal file
Binary file not shown.
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ba.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ba.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ba_RU.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/ba_RU.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/bal.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/bal.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/bal_Arab.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/bal_Arab.dat
Normal file
Binary file not shown.
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/bal_Latn.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/bal_Latn.dat
Normal file
Binary file not shown.
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/bas.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/bas.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/bas_CM.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/bas_CM.dat
Normal file
Binary file not shown.
BIN
venv/lib/python3.11/site-packages/babel/locale-data/be.dat
Normal file
BIN
venv/lib/python3.11/site-packages/babel/locale-data/be.dat
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user