'Post a twitter status message from the authenticated user.
The twitter.Api instance must be authenticated.
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]
Returns:
A twitter.Status instance representing the message posted.'

def PostUpdate(self, status, in_reply_to_status_id=None):

    if (not self._username):
        raise TwitterError('The    twitter.Api    instance    must    be    authenticated.')
    url = (TWITTER_API_ROOT + 'statuses/update.json')
    if (len(status.decode('utf-8')) > CHARACTER_LIMIT):
        raise TwitterError(('Text    must    be    less    than    or    equal    to    %d    characters.    Consider    using    PostUpdates.' % CHARACTER_LIMIT))
    data = {'status': status}
    if in_reply_to_status_id:
        data['in_reply_to_status_id'] = in_reply_to_status_id
    json = self._FetchUrl(url, post_data=data)
    data = simplejson.loads(json)
    self._CheckForTwitterError(data)
    return Status.NewFromJsonDict(data)
