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
--------
@ -22,14 +22,14 @@ include this repo in your project's requiremets.txt, or install it from the comm
:caption: Python/Django installation
cd path/to/your/project
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
:caption: lms.envs.tutor.production.py
ADDL_INSTALLED_APPS:
- "wp_oauth_backend"
THIRD_PARTY_AUTH_BACKENDS:
- "stepwisemathai_oauth_backend.wp_oauth.WPOAuth2"
- "stepwisemath_oauth_backend.wp_oauth.WPOAuth2"
ENABLE_REQUIRE_THIRD_PARTY_AUTH: true
add these settings to django.conf:

View File

@ -3,43 +3,85 @@
# pylint: disable=C0111,W6005,W6100
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)
version_file = open(filename).read()
version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
version_file, re.M)
if version_match:
return version_match.group(1)
raise RuntimeError('Unable to find version string.')
requirements = set()
for path in requirements_paths:
requirements.update(
line.split("#")[0].strip() for line in open(path).readlines() if is_requirement(line.strip())
)
return list(requirements)
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(
name='stepwisemathai',
name='stepwisemath-oauth2-backend',
version=VERSION,
description=('An OAuth backend for the WP OAuth Plugin, '
'mostly used for Open edX but can be used elsewhere.'),
long_description=README,
author='Lawrence McDaniel, 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=[
'stepwisemathai_oauth_backend',
'stepwisemath_oauth_backend',
],
packages=find_packages(),
include_package_data=True,
package_data={"": ["*.html"]}, # include any Mako templates found in this repo.
zip_safe=False,
keywords='WP OAuth',
python_requires=">=3.7",
install_requires=load_requirements("stable-psa.txt"),
classifiers=[
'Intended Audience :: Developers',
'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.
"""
__version__ = '0.1.0'

View File

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