[reddit] allow users to override the API User-Agent
Only overriding the Client-ID is not enough if you want to follow Reddit's API access rules [1]. [1] https://github.com/reddit/reddit/wiki/API#rules
This commit is contained in:
@@ -599,8 +599,8 @@ Description
|
|||||||
=========== =====
|
=========== =====
|
||||||
|
|
||||||
|
|
||||||
extractor.reddit.client-id
|
extractor.reddit.client-id & .user-agent
|
||||||
--------------------------
|
----------------------------------------
|
||||||
=========== =====
|
=========== =====
|
||||||
Type ``string``
|
Type ``string``
|
||||||
Description
|
Description
|
||||||
|
|||||||
@@ -110,11 +110,21 @@ class RedditAPI():
|
|||||||
self.extractor = extractor
|
self.extractor = extractor
|
||||||
self.comments = extractor.config("comments", 500)
|
self.comments = extractor.config("comments", 500)
|
||||||
self.morecomments = extractor.config("morecomments", False)
|
self.morecomments = extractor.config("morecomments", False)
|
||||||
self.client_id = extractor.config("client-id", self.CLIENT_ID)
|
|
||||||
self.refresh_token = extractor.config("refresh-token")
|
self.refresh_token = extractor.config("refresh-token")
|
||||||
self.log = extractor.log
|
self.log = extractor.log
|
||||||
self.session = extractor.session
|
self.session = extractor.session
|
||||||
self.session.headers["User-Agent"] = self.USER_AGENT
|
|
||||||
|
client_id = extractor.config("client-id", self.CLIENT_ID)
|
||||||
|
user_agent = extractor.config("user-agent", self.USER_AGENT)
|
||||||
|
|
||||||
|
if (client_id == self.CLIENT_ID) ^ (user_agent == self.USER_AGENT):
|
||||||
|
self.client_id = None
|
||||||
|
self.log.warning(
|
||||||
|
"Conflicting values for 'client-id' and 'user-agent': "
|
||||||
|
"override either both or non of them.")
|
||||||
|
else:
|
||||||
|
self.client_id = client_id
|
||||||
|
self.session.headers["User-Agent"] = user_agent
|
||||||
|
|
||||||
def submission(self, submission_id):
|
def submission(self, submission_id):
|
||||||
"""Fetch the (submission, comments)=-tuple for a submission id"""
|
"""Fetch the (submission, comments)=-tuple for a submission id"""
|
||||||
|
|||||||
Reference in New Issue
Block a user