in facebook_business/adobjects/advideo.py [0:0]
def api_update(self, fields=None, params=None, batch=None, success=None, failure=None, pending=False):
from facebook_business.utils import api_utils
if batch is None and (success is not None or failure is not None):
api_utils.warning('`success` and `failure` callback only work for batch call.')
param_types = {
'ad_breaks': 'list',
'allow_bm_crossposting': 'bool',
'allow_crossposting_for_pages': 'list<Object>',
'backdated_time': 'datetime',
'backdated_time_granularity': 'backdated_time_granularity_enum',
'call_to_action': 'Object',
'content_category': 'content_category_enum',
'content_tags': 'list<string>',
'custom_labels': 'list<string>',
'description': 'string',
'direct_share_status': 'unsigned int',
'embeddable': 'bool',
'expiration': 'Object',
'expire_now': 'bool',
'increment_play_count': 'bool',
'name': 'string',
'preferred_thumbnail_id': 'string',
'privacy': 'string',
'publish_to_news_feed': 'bool',
'publish_to_videos_tab': 'bool',
'published': 'bool',
'scheduled_publish_time': 'unsigned int',
'social_actions': 'bool',
'sponsor_id': 'string',
'sponsor_relationship': 'unsigned int',
'tags': 'list<string>',
'target': 'string',
'universal_video_id': 'string',
}
enums = {
'backdated_time_granularity_enum': AdVideo.BackdatedTimeGranularity.__dict__.values(),
'content_category_enum': AdVideo.ContentCategory.__dict__.values(),
}
request = FacebookRequest(
node_id=self['id'],
method='POST',
endpoint='/',
api=self._api,
param_checker=TypeChecker(param_types, enums),
target_class=AdVideo,
api_type='NODE',
response_parser=ObjectParser(reuse_object=self),
)
request.add_params(params)
request.add_fields(fields)
if batch is not None:
request.add_to_batch(batch, success=success, failure=failure)
return request
elif pending:
return request
else:
self.assure_call()
return request.execute()