Skip to content

Commit 57adf94

Browse files
committed
adopted to python3
1 parent ba686ff commit 57adf94

File tree

10 files changed

+2302
-65
lines changed

10 files changed

+2302
-65
lines changed

build/lib/oauth2/__init__.py

Lines changed: 845 additions & 0 deletions
Large diffs are not rendered by default.

build/lib/oauth2/_version.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# This is the version of this source code.
2+
3+
manual_verstr = "1.5"
4+
5+
6+
7+
auto_build_num = "211"
8+
9+
10+
11+
verstr = manual_verstr + "." + auto_build_num
12+
try:
13+
from pyutil.version_class import Version as pyutil_Version
14+
__version__ = pyutil_Version(verstr)
15+
except (ImportError, ValueError):
16+
# Maybe there is no pyutil installed.
17+
from distutils.version import LooseVersion as distutils_Version
18+
__version__ = distutils_Version(verstr)

build/lib/oauth2/clients/__init__.py

Whitespace-only changes.

build/lib/oauth2/clients/imap.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
"""
2+
The MIT License
3+
4+
Copyright (c) 2007-2010 Leah Culver, Joe Stump, Mark Paschal, Vic Fryzel
5+
6+
Permission is hereby granted, free of charge, to any person obtaining a copy
7+
of this software and associated documentation files (the "Software"), to deal
8+
in the Software without restriction, including without limitation the rights
9+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
copies of the Software, and to permit persons to whom the Software is
11+
furnished to do so, subject to the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included in
14+
all copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22+
THE SOFTWARE.
23+
"""
24+
25+
import oauth2
26+
import imaplib
27+
28+
29+
class IMAP4_SSL(imaplib.IMAP4_SSL):
30+
"""IMAP wrapper for imaplib.IMAP4_SSL that implements XOAUTH."""
31+
32+
def authenticate(self, url, consumer, token):
33+
if consumer is not None and not isinstance(consumer, oauth2.Consumer):
34+
raise ValueError("Invalid consumer.")
35+
36+
if token is not None and not isinstance(token, oauth2.Token):
37+
raise ValueError("Invalid token.")
38+
39+
imaplib.IMAP4_SSL.authenticate(self, 'XOAUTH',
40+
lambda x: oauth2.build_xoauth_string(url, consumer, token))

build/lib/oauth2/clients/smtp.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
"""
2+
The MIT License
3+
4+
Copyright (c) 2007-2010 Leah Culver, Joe Stump, Mark Paschal, Vic Fryzel
5+
6+
Permission is hereby granted, free of charge, to any person obtaining a copy
7+
of this software and associated documentation files (the "Software"), to deal
8+
in the Software without restriction, including without limitation the rights
9+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
copies of the Software, and to permit persons to whom the Software is
11+
furnished to do so, subject to the following conditions:
12+
13+
The above copyright notice and this permission notice shall be included in
14+
all copies or substantial portions of the Software.
15+
16+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22+
THE SOFTWARE.
23+
"""
24+
25+
import oauth2
26+
import smtplib
27+
import base64
28+
29+
30+
class SMTP(smtplib.SMTP):
31+
"""SMTP wrapper for smtplib.SMTP that implements XOAUTH."""
32+
33+
def authenticate(self, url, consumer, token):
34+
if consumer is not None and not isinstance(consumer, oauth2.Consumer):
35+
raise ValueError("Invalid consumer.")
36+
37+
if token is not None and not isinstance(token, oauth2.Token):
38+
raise ValueError("Invalid token.")
39+
40+
self.docmd('AUTH', 'XOAUTH %s' % \
41+
base64.b64encode(oauth2.build_xoauth_string(url, consumer, token)))

build/lib/tests/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)