[oauth] use custom key/secret values during oauth:…
This commit is contained in:
@@ -119,7 +119,6 @@ class blacklist():
|
|||||||
for _, klass in _list_patterns():
|
for _, klass in _list_patterns():
|
||||||
if klass.category in categories:
|
if klass.category in categories:
|
||||||
self.extractors.append(klass)
|
self.extractors.append(klass)
|
||||||
print(self.extractors)
|
|
||||||
|
|
||||||
def __enter__(self):
|
def __enter__(self):
|
||||||
_blacklist.update(self.extractors)
|
_blacklist.update(self.extractors)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
from .common import Extractor, Message
|
from .common import Extractor, Message
|
||||||
from . import deviantart, flickr, reddit, tumblr
|
from . import deviantart, flickr, reddit, tumblr
|
||||||
from .. import text, util
|
from .. import text, util, config
|
||||||
import os
|
import os
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
|
|
||||||
@@ -24,6 +24,10 @@ class OAuthBase(Extractor):
|
|||||||
Extractor.__init__(self)
|
Extractor.__init__(self)
|
||||||
self.client = None
|
self.client = None
|
||||||
|
|
||||||
|
def oauth_config(self, key, default=None):
|
||||||
|
return config.interpolate(
|
||||||
|
("extractor", self.subcategory, key), default)
|
||||||
|
|
||||||
def recv(self):
|
def recv(self):
|
||||||
"""Open local HTTP server and recv callback parameters"""
|
"""Open local HTTP server and recv callback parameters"""
|
||||||
import socket
|
import socket
|
||||||
@@ -66,7 +70,7 @@ class OAuthBase(Extractor):
|
|||||||
import webbrowser
|
import webbrowser
|
||||||
url += "?" + urllib.parse.urlencode(params)
|
url += "?" + urllib.parse.urlencode(params)
|
||||||
browser = self.config("browser", True)
|
browser = self.config("browser", True)
|
||||||
if not browser or (browser and not webbrowser.open(url)):
|
if not browser or not webbrowser.open(url):
|
||||||
print("Please open this URL in your browser:")
|
print("Please open this URL in your browser:")
|
||||||
print(url, end="\n\n", flush=True)
|
print(url, end="\n\n", flush=True)
|
||||||
return self.recv()
|
return self.recv()
|
||||||
@@ -155,8 +159,10 @@ class OAuthDeviantart(OAuthBase):
|
|||||||
yield Message.Version, 1
|
yield Message.Version, 1
|
||||||
|
|
||||||
self._oauth2_authorization_code_grant(
|
self._oauth2_authorization_code_grant(
|
||||||
deviantart.DeviantartAPI.CLIENT_ID,
|
self.oauth_config(
|
||||||
deviantart.DeviantartAPI.CLIENT_SECRET,
|
"client-id", deviantart.DeviantartAPI.CLIENT_ID),
|
||||||
|
self.oauth_config(
|
||||||
|
"client-secret", deviantart.DeviantartAPI.CLIENT_SECRET),
|
||||||
"https://www.deviantart.com/oauth2/authorize",
|
"https://www.deviantart.com/oauth2/authorize",
|
||||||
"https://www.deviantart.com/oauth2/token",
|
"https://www.deviantart.com/oauth2/token",
|
||||||
"browse",
|
"browse",
|
||||||
@@ -171,8 +177,8 @@ class OAuthFlickr(OAuthBase):
|
|||||||
OAuthBase.__init__(self, match)
|
OAuthBase.__init__(self, match)
|
||||||
self.session = util.OAuthSession(
|
self.session = util.OAuthSession(
|
||||||
self.session,
|
self.session,
|
||||||
flickr.FlickrAPI.API_KEY,
|
self.oauth_config("api-key", flickr.FlickrAPI.API_KEY),
|
||||||
flickr.FlickrAPI.API_SECRET,
|
self.oauth_config("api-secret", flickr.FlickrAPI.API_SECRET),
|
||||||
)
|
)
|
||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
@@ -194,7 +200,7 @@ class OAuthReddit(OAuthBase):
|
|||||||
|
|
||||||
self.session.headers["User-Agent"] = reddit.RedditAPI.USER_AGENT
|
self.session.headers["User-Agent"] = reddit.RedditAPI.USER_AGENT
|
||||||
self._oauth2_authorization_code_grant(
|
self._oauth2_authorization_code_grant(
|
||||||
reddit.RedditAPI.CLIENT_ID,
|
self.oauth_config("client-id", reddit.RedditAPI.CLIENT_ID),
|
||||||
"",
|
"",
|
||||||
"https://www.reddit.com/api/v1/authorize",
|
"https://www.reddit.com/api/v1/authorize",
|
||||||
"https://www.reddit.com/api/v1/access_token",
|
"https://www.reddit.com/api/v1/access_token",
|
||||||
@@ -210,8 +216,8 @@ class OAuthTumblr(OAuthBase):
|
|||||||
OAuthBase.__init__(self, match)
|
OAuthBase.__init__(self, match)
|
||||||
self.session = util.OAuthSession(
|
self.session = util.OAuthSession(
|
||||||
self.session,
|
self.session,
|
||||||
tumblr.TumblrAPI.API_KEY,
|
self.oauth_config("api-key", tumblr.TumblrAPI.API_KEY),
|
||||||
tumblr.TumblrAPI.API_SECRET,
|
self.oauth_config("api-secret", tumblr.TumblrAPI.API_SECRET),
|
||||||
)
|
)
|
||||||
|
|
||||||
def items(self):
|
def items(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user