This commit is contained in:
lpm0073 2022-10-03 12:07:35 -05:00
parent e418438f51
commit 4a8ded2913
5 changed files with 64 additions and 24 deletions

View File

@ -1,5 +1,5 @@
WP OAuth 2 Backend OAuth2 Backend for stepwisemath.ai
============================= ==================================
Overview Overview
-------- --------
@ -22,14 +22,14 @@ include this repo in your project's requiremets.txt, or install it from the comm
:caption: Python/Django installation :caption: Python/Django installation
cd path/to/your/project cd path/to/your/project
source path/to/venv/bin/activate source path/to/venv/bin/activate
pip install https://github.com/StepwiseMath/stepwisemathai-oauth-backend pip install https://github.com/StepwiseMath/stepwisemath-oauth-backend
.. code-block:: yaml .. code-block:: yaml
:caption: lms.envs.tutor.production.py :caption: lms.envs.tutor.production.py
ADDL_INSTALLED_APPS: ADDL_INSTALLED_APPS:
- "wp_oauth_backend" - "wp_oauth_backend"
THIRD_PARTY_AUTH_BACKENDS: THIRD_PARTY_AUTH_BACKENDS:
- "stepwisemathai_oauth_backend.wp_oauth.WPOAuth2" - "stepwisemath_oauth_backend.wp_oauth.WPOAuth2"
ENABLE_REQUIRE_THIRD_PARTY_AUTH: true ENABLE_REQUIRE_THIRD_PARTY_AUTH: true
add these settings to django.conf: add these settings to django.conf:

View File

@ -3,43 +3,85 @@
# pylint: disable=C0111,W6005,W6100 # pylint: disable=C0111,W6005,W6100
import os import os
import re import io
from setuptools import find_packages, setup
from setuptools import setup # allow setup.py to be run from any path
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))
HERE = os.path.abspath(os.path.dirname(__file__))
def get_version(*file_paths): def load_readme():
with io.open(os.path.join(HERE, "README.md"), "rt", encoding="utf8") as f:
return f.read()
def load_about():
about = {}
with io.open(
os.path.join(HERE, "stepwisemath_oauth_backend", "__about__.py"),
"rt",
encoding="utf-8",
) as f:
exec(f.read(), about) # pylint: disable=exec-used
return about
def load_requirements(*requirements_paths):
""" """
Extract the version string from the file at the given relative path. Load all requirements from the specified requirements files.
Returns:
list: Requirements file relative path strings
""" """
filename = os.path.join(os.path.dirname(__file__), *file_paths) requirements = set()
version_file = open(filename).read() for path in requirements_paths:
version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", requirements.update(
version_file, re.M) line.split("#")[0].strip() for line in open(path).readlines() if is_requirement(line.strip())
if version_match: )
return version_match.group(1) return list(requirements)
raise RuntimeError('Unable to find version string.')
VERSION = get_version('stepwisemathai_oauth_backend', '__init__.py') 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+")
)
README = open(os.path.join(os.path.dirname(__file__), 'README.rst')).read() README = load_readme()
ABOUT = load_about()
VERSION = ABOUT["__version__"]
setup( setup(
name='stepwisemathai', name='stepwisemath-oauth2-backend',
version=VERSION, version=VERSION,
description=('An OAuth backend for the WP OAuth Plugin, ' description=('An OAuth backend for the WP OAuth Plugin, '
'mostly used for Open edX but can be used elsewhere.'), 'mostly used for Open edX but can be used elsewhere.'),
long_description=README, long_description=README,
author='Lawrence McDaniel, lpm0073@gmail.com', author='Lawrence McDaniel, lpm0073@gmail.com',
author_email='lpm0073@gmail.com', author_email='lpm0073@gmail.com',
url='https://github.com/StepwiseMath/stepwisemathai-oauth-backend', url='https://github.com/StepwiseMath/stepwisemath-oauth-backend',
project_urls={
"Code": "https://github.com/StepwiseMath/stepwisemath-oauth-backend",
"Issue tracker": "https://github.com/StepwiseMath/stepwisemath-oauth-backend/issues",
"Community": "https://stepwisemath.ai",
},
packages=[ packages=[
'stepwisemathai_oauth_backend', 'stepwisemath_oauth_backend',
], ],
packages=find_packages(),
include_package_data=True, include_package_data=True,
package_data={"": ["*.html"]}, # include any Mako templates found in this repo.
zip_safe=False, zip_safe=False,
keywords='WP OAuth', keywords='WP OAuth',
python_requires=">=3.7",
install_requires=load_requirements("stable-psa.txt"),
classifiers=[ classifiers=[
'Intended Audience :: Developers', 'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License', 'License :: OSI Approved :: MIT License',

View File

@ -0,0 +1 @@
__version__ = '0.1.0'

View File

@ -3,6 +3,3 @@ An OAuth backend for WordPress.
It's mostly used for Open edX but can be used elsewhere. It's mostly used for Open edX but can be used elsewhere.
""" """
__version__ = '0.1.0'

View File

@ -11,7 +11,7 @@ logger = getLogger(__name__)
class WPOAuth2(BaseOAuth2): class WPOAuth2(BaseOAuth2):
"""WP OAuth authentication backend""" """WP OAuth authentication backend"""
name = 'wp-oauth2' name = 'stepwisemath-oauth2'
SOCIAL_AUTH_SANITIZE_REDIRECTS = False SOCIAL_AUTH_SANITIZE_REDIRECTS = False
ACCESS_TOKEN_METHOD = 'POST' ACCESS_TOKEN_METHOD = 'POST'
EXTRA_DATA = [] EXTRA_DATA = []