'Post a twitter status message from the authenticated user.
The twitter.Api instance must be authenticated.
https://dev.twitter.com/docs/api/1.1/post/statuses/update
Args:
status:
The message text to be posted.
Must be less than or equal to 140 characters.
in_reply_to_status_id:
The ID of an existing status that the status to be posted is
in reply to.  This implicitly sets the in_reply_to_user_id
attribute of the resulting status to the user ID of the
message being replied to.  Invalid/missing status IDs will be
ignored. [Optional]
latitude:
Latitude coordinate of the tweet in degrees. Will only work
in conjunction with longitude argument. Both longitude and
latitude will be ignored by twitter if the user has a false
geo_enabled setting. [Optional]
longitude:
Longitude coordinate of the tweet in degrees. Will only work
in conjunction with latitude argument. Both longitude and
latitude will be ignored by twitter if the user has a false
geo_enabled setting. [Optional]
place_id:
A place in the world. These IDs can be retrieved from
GET geo/reverse_geocode. [Optional]
display_coordinates:
Whether or not to put a pin on the exact coordinates a tweet
has been sent from. [Optional]
trim_user:
If True the returned payload will only contain the user IDs,
otherwise the payload will contain the full user data item.
[Optional]
Returns:
A twitter.Status instance representing the message posted.'

def PostUpdate(self, status, in_reply_to_status_id=None, latitude=None, longitude=None, place_id=None, display_coordinates=False, trim_user=False):

    if (not self._oauth_consumer):
        raise TwitterError('The    twitter.Api    instance    must    be    authenticated.')
    url = ('%s/statuses/update.json' % self.base_url)
    if (isinstance(status, unicode) or (self._input_encoding is None)):
        u_status = status
    else:
        u_status = unicode(status, self._input_encoding)
    data = {'status': status}
    if in_reply_to_status_id:
        data['in_reply_to_status_id'] = in_reply_to_status_id
    if ((latitude is not None) and (longitude is not None)):
        data['lat'] = str(latitude)
        data['long'] = str(longitude)
    if (place_id is not None):
        data['place_id'] = str(place_id)
    if display_coordinates:
        data['display_coordinates'] = 'true'
    if trim_user:
        data['trim_user'] = 'true'
    json = self._FetchUrl(url, post_data=data)
    data = self._ParseAndCheckTwitter(json)
    return Status.NewFromJsonDict(data)
