in facebook_business/adobjects/page.py [0:0]
def create_picture(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.')
from facebook_business.adobjects.profilepicturesource import ProfilePictureSource
param_types = {
'android_key_hash': 'string',
'burn_media_effect': 'bool',
'caption': 'string',
'composer_session_id': 'string',
'frame_entrypoint': 'string',
'has_umg': 'bool',
'height': 'unsigned int',
'ios_bundle_id': 'string',
'media_effect_ids': 'list<int>',
'media_effect_source_object_id': 'int',
'msqrd_mask_id': 'string',
'photo': 'string',
'picture': 'string',
'profile_pic_method': 'string',
'profile_pic_source': 'string',
'proxied_app_id': 'int',
'qn': 'string',
'reuse': 'bool',
'scaled_crop_rect': 'Object',
'set_profile_photo_shield': 'string',
'sticker_id': 'int',
'sticker_source_object_id': 'int',
'suppress_stories': 'bool',
'width': 'unsigned int',
'x': 'unsigned int',
'y': 'unsigned int',
}
enums = {
}
request = FacebookRequest(
node_id=self['id'],
method='POST',
endpoint='/picture',
api=self._api,
param_checker=TypeChecker(param_types, enums),
target_class=ProfilePictureSource,
api_type='EDGE',
response_parser=ObjectParser(target_class=ProfilePictureSource, api=self._api),
)
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()