2022-10-03 19:46:35 +03:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# pylint: disable=C0111,W6005,W6100
|
|
|
|
|
|
|
|
import os
|
2022-10-03 20:07:35 +03:00
|
|
|
import io
|
|
|
|
from setuptools import find_packages, setup
|
2022-10-03 19:46:35 +03:00
|
|
|
|
2022-10-03 20:07:35 +03:00
|
|
|
# allow setup.py to be run from any path
|
|
|
|
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))
|
2022-10-03 19:46:35 +03:00
|
|
|
|
2022-10-03 20:07:35 +03:00
|
|
|
HERE = os.path.abspath(os.path.dirname(__file__))
|
2022-10-03 19:46:35 +03:00
|
|
|
|
2022-10-06 18:13:38 +03:00
|
|
|
|
2022-10-03 20:07:35 +03:00
|
|
|
def load_readme():
|
2022-10-03 21:33:44 +03:00
|
|
|
with io.open(os.path.join(HERE, "README.rst"), "rt", encoding="utf8") as f:
|
2022-10-03 20:07:35 +03:00
|
|
|
return f.read()
|
|
|
|
|
2022-10-06 18:13:38 +03:00
|
|
|
|
2022-10-03 20:07:35 +03:00
|
|
|
def load_about():
|
|
|
|
about = {}
|
|
|
|
with io.open(
|
2022-10-03 20:15:26 +03:00
|
|
|
os.path.join(HERE, "wp_oauth_backend", "__about__.py"),
|
2022-10-03 20:07:35 +03:00
|
|
|
"rt",
|
|
|
|
encoding="utf-8",
|
|
|
|
) as f:
|
|
|
|
exec(f.read(), about) # pylint: disable=exec-used
|
|
|
|
return about
|
|
|
|
|
2022-10-06 18:13:38 +03:00
|
|
|
|
2022-10-03 20:07:35 +03:00
|
|
|
def load_requirements(*requirements_paths):
|
2022-10-03 19:46:35 +03:00
|
|
|
"""
|
2022-10-03 20:07:35 +03:00
|
|
|
Load all requirements from the specified requirements files.
|
|
|
|
Returns:
|
|
|
|
list: Requirements file relative path strings
|
2022-10-03 19:46:35 +03:00
|
|
|
"""
|
2022-10-03 20:07:35 +03:00
|
|
|
requirements = set()
|
|
|
|
for path in requirements_paths:
|
|
|
|
requirements.update(
|
2022-10-06 18:13:38 +03:00
|
|
|
line.split("#")[0].strip()
|
|
|
|
for line in open(path).readlines()
|
|
|
|
if is_requirement(line.strip())
|
2022-10-03 20:07:35 +03:00
|
|
|
)
|
|
|
|
return list(requirements)
|
2022-10-03 19:46:35 +03:00
|
|
|
|
|
|
|
|
2022-10-03 20:07:35 +03:00
|
|
|
def is_requirement(line):
|
|
|
|
"""
|
|
|
|
Return True if the requirement line is a package requirement.
|
|
|
|
Returns:
|
|
|
|
bool: True if the line is not blank, a comment, a URL, or an included file
|
|
|
|
"""
|
|
|
|
return not (
|
|
|
|
line == ""
|
|
|
|
or line.startswith("-c")
|
|
|
|
or line.startswith("-r")
|
|
|
|
or line.startswith("#")
|
|
|
|
or line.startswith("-e")
|
|
|
|
or line.startswith("git+")
|
|
|
|
)
|
2022-10-03 19:46:35 +03:00
|
|
|
|
2022-10-06 18:13:38 +03:00
|
|
|
|
2022-10-03 20:07:35 +03:00
|
|
|
README = load_readme()
|
|
|
|
ABOUT = load_about()
|
|
|
|
VERSION = ABOUT["__version__"]
|
2022-10-03 19:46:35 +03:00
|
|
|
|
|
|
|
setup(
|
2022-10-06 18:13:38 +03:00
|
|
|
name="wp-oauth-backend",
|
2022-10-03 19:46:35 +03:00
|
|
|
version=VERSION,
|
2022-10-06 18:13:38 +03:00
|
|
|
description=(
|
|
|
|
"An OAuth backend for the WP OAuth Wordpress Plugin, "
|
|
|
|
"that is customized for use in Open edX installations."
|
|
|
|
),
|
2022-10-03 19:46:35 +03:00
|
|
|
long_description=README,
|
2022-10-06 18:13:38 +03:00
|
|
|
author="Lawrence McDaniel, lpm0073@gmail.com",
|
|
|
|
author_email="lpm0073@gmail.com",
|
|
|
|
url="https://github.com/StepwiseMath/wp-oauth-backend",
|
2022-10-03 20:07:35 +03:00
|
|
|
project_urls={
|
2022-10-03 20:15:26 +03:00
|
|
|
"Code": "https://github.com/StepwiseMath/wp-oauth-backend",
|
|
|
|
"Issue tracker": "https://github.com/StepwiseMath/wp-oauth-backend/issues",
|
2022-10-03 20:07:35 +03:00
|
|
|
"Community": "https://stepwisemath.ai",
|
|
|
|
},
|
|
|
|
packages=find_packages(),
|
2022-10-03 19:46:35 +03:00
|
|
|
include_package_data=True,
|
2022-10-03 20:15:26 +03:00
|
|
|
package_data={"": ["*.html"]}, # include any templates found in this repo.
|
2022-10-03 19:46:35 +03:00
|
|
|
zip_safe=False,
|
2022-10-06 18:13:38 +03:00
|
|
|
keywords="WP OAuth",
|
2022-10-03 20:07:35 +03:00
|
|
|
python_requires=">=3.7",
|
2022-10-03 21:39:44 +03:00
|
|
|
install_requires=load_requirements("requirements/stable-psa.txt"),
|
2022-10-03 19:46:35 +03:00
|
|
|
classifiers=[
|
2022-10-06 18:13:38 +03:00
|
|
|
"Intended Audience :: Developers",
|
|
|
|
"License :: OSI Approved :: MIT License",
|
2022-10-03 19:46:35 +03:00
|
|
|
],
|
|
|
|
)
|