From 474f192c59fa55f4f0ccf23b2e43b0f0115240cb Mon Sep 17 00:00:00 2001 From: QwQ Date: Mon, 14 Nov 2022 08:20:48 +0000 Subject: [PATCH] v0.4.1 --- 0.4.1.tar.gz | Bin 0 -> 17409 bytes python-sanction.spec | 49 +++++++++++++++++++++++++++++++++++++----- sanction-0.3.1.tar.gz | Bin 7830 -> 0 bytes 3 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 0.4.1.tar.gz delete mode 100644 sanction-0.3.1.tar.gz diff --git a/0.4.1.tar.gz b/0.4.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..97d4edbada6cdfba550b0fdf548c75b91e2a3c88 GIT binary patch literal 17409 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 E0E1KbHvj+t literal 0 HcmV?d00001 diff --git a/python-sanction.spec b/python-sanction.spec index cd9903d..76ee9f9 100644 --- a/python-sanction.spec +++ b/python-sanction.spec @@ -1,12 +1,12 @@ %global modname sanction Name: python-sanction -Version: 0.3.1 +Version: 0.4.1 Release: 1 Summary: A simple, lightweight OAuth2 client License: MIT -URL: http://pypi.python.org/pypi/sanction -Source0: http://pypi.python.org/packages/source/s/%{modname}/%{modname}-%{version}.tar.gz +URL: https://pypi.python.org/pypi/sanction +Source0: https://github.com/demianbrecht/%{modname}/archive/refs/tags/%{version}.tar.gz BuildArch: noarch @@ -50,7 +50,35 @@ sanction has been tested with the following OAuth2 providers:\ Summary: A simple, lightweight OAuth2 client %description -n python3-sanction -%_description +python-sanction is a lightweight, dead simple client implementation of +the OAuth2 protocol. + +- Variations on OAuth2 client implementation range from a few hundred LOC + to thousands. In a Pythonic world, there's absolutely no need for this when + simply dealing with the client side of the spec. Currently, sanction sits + at a whopping 65 LOC, one class. This makes the library tremendously easy + to grok. + +- Most providers have varying levels of diversion from the official spec. + The goal with this library is to either handle these diversions natively, + or expose a method to allow client code to deal with it efficiently and + effectively. + +- Three of the four OAuth2 flows should be supported by this library. + Currently, only authorization code and client credential flows have been + tested due to lack of other (known) implementations. + +sanction has been tested with the following OAuth2 providers: + +* Facebook (include the test API) +* Google +* Foursquare +* bitly +* GitHub +* StackExchange +* Instagram +* DeviantArt + %prep %setup -q -n %{modname}-%{version} @@ -58,17 +86,28 @@ Summary: A simple, lightweight OAuth2 client # Remove bundled egg-info in case it exists rm -rf %{modname}.egg-info +# Use the standard library instead of a backport + sed -i -e 's/^import mock/from unittest import mock/' \ + -e 's/^from mock import /from unittest.mock import /' \ + %{modname}/test.py tests.py + %build %py3_build %install %py3_install +%check +%{python3} -m unittest discover -v + %files -n python3-sanction -%doc README.rst LICENSE.txt +%doc README LICENSE %{python3_sitelib}/%{modname}/ %{python3_sitelib}/%{modname}-%{version}* %changelog +* Mon Nov 14 2022 hkgy - 0.4.1-1 +- Upgrade to v0.4.1 + * Tue Aug 02 2022 duyiwei - 0.3.1-1 - init package diff --git a/sanction-0.3.1.tar.gz b/sanction-0.3.1.tar.gz deleted file mode 100644 index 066ff4d6537b64f49b3c529c2542a4cd3601a0d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7830 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 j;L2l4m$Co+WY~0#UR5IUzrY{=AduYX8IzG