Added create_metadata endpoint #460

Merged
jmdaweb merged 3 commits from master into master 2017-10-09 13:26:01 -07:00
2 changed files with 17 additions and 4 deletions

View file

@ -140,7 +140,11 @@ class Twython(EndpointsMixin, object):
params = params or {}
michaelhelmick commented 2017-10-09 08:56:10 -07:00 (Migrated from github.com)

Can you make this if isinstance(params, dict)

Can you make this `if isinstance(params, dict)`
func = getattr(self.client, method)
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,13 +196,14 @@ class Twython(EndpointsMixin, object):
error_message,
michaelhelmick commented 2017-10-09 08:55:33 -07:00 (Migrated from github.com)

Can you make this line:

if response.content != '' (spaces around operator and single quotes

Can you make this line: `if response.content != ''` (spaces around operator and single quotes
michaelhelmick commented 2017-10-09 08:55:55 -07:00 (Migrated from github.com)

content = '' Space around operators and single quotes

`content = ''` Space around operators and single quotes
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:
if response.content != '':
raise TwythonError('Response was not valid JSON. \
Unable to decode.')

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