Merge pull request #460 from jmdaweb/master

Added create_metadata endpoint
This commit is contained in:
Mike Helmick 2017-10-09 16:26:01 -04:00 committed by GitHub
commit 7be654136e
2 changed files with 17 additions and 4 deletions

View file

@ -140,7 +140,11 @@ class Twython(EndpointsMixin, object):
params = params or {}
func = getattr(self.client, method)
params, files = _transparent_params(params)
if isinstance(params, dict):
params, files = _transparent_params(params)
else:
params = params
files = list()
requests_args = {}
for k, v in self.client_args.items():
@ -192,15 +196,16 @@ class Twython(EndpointsMixin, object):
error_message,
error_code=response.status_code,
retry_after=response.headers.get('X-Rate-Limit-Reset'))
content = ''
try:
if response.status_code == 204:
content = response.content
else:
content = response.json()
except ValueError:
raise TwythonError('Response was not valid JSON. \
Unable to decode.')
if response.content != '':
raise TwythonError('Response was not valid JSON. \
Unable to decode.')
return content

View file

@ -14,6 +14,7 @@ This map is organized the order functions are documented at:
https://dev.twitter.com/docs/api/1.1
"""
import json
import os
import warnings
from io import BytesIO
@ -150,6 +151,13 @@ class EndpointsMixin(object):
return self.post('https://upload.twitter.com/1.1/media/upload.json', params=params)
def create_metadata(self, **params):
""" Adds metadata to a media element, such as image descriptions for visually impaired.
Docs: https://developer.twitter.com/en/docs/media/upload-media/api-reference/post-media-metadata-create
"""
params = json.dumps(params)
return self.post("https://upload.twitter.com/1.1/media/metadata/create.json", params=params)
def upload_video(self, media, media_type, media_category=None, size=None, check_progress=False):
"""Uploads video file to Twitter servers in chunks. The file will be available to be attached
to a status for 60 minutes. To attach to a update, pass a list of returned media ids