<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_milestone(self, milestone_id, title, deadline, party_id, notify, move_upcoming_milestones=None, move_upcoming_milestones_off_weekends=None):
 """ Modifies a single milestone. You can use this to shift the deadline of a single milestone, and optionally shift the deadlines of subsequent milestones as well. """

        path = '/milestones/update/%u' % milestone_id
        req = ET.Element('request')
        req.append(
            self._create_milestone_elem(title, deadline, party_id, notify))
        if move_upcoming_milestones is not None:
            ET.SubElement(req, 'move-upcoming-milestones').text \
                = str(bool()).lower()
        if move_upcoming_milestones_off_weekends is not None:
            ET.SubElement(req, 'move-upcoming-milestones-off-weekends').text \
                = str(bool()).lower()
        return self._request(path, req)