code: def update(self, id, *args, **kwargs):
          
  
          if not args and not kwargs:
              raise Exception('attributes for DealSource are missing')
  
          attributes = args[0] if args else kwargs
          attributes = dict((k, v) for k, v in attributes.iteritems() if k in self.OPTS_KEYS_TO_PERSIST)
  
          _, _, deal_source = self.http_client.put("/deal_sources/{id}".format(id=id), body=attributes)
          return deal_source
docs: Update a source
  
          Updates source information
          If the specified source does not exist, the request will return an error
          <figure class="notice">
          If you want to update a source, you **must** make sure source's name is unique
          </figure>
  
          :calls: ``put /deal_sources/{id}``
          :param int id: Unique identifier of a DealSource.
          :param tuple *args: (optional) Single object representing DealSource resource which attributes should be updated.
          :param dict **kwargs: (optional) DealSource attributes to update.
          :return: Dictionary that support attriubte-style access and represents updated DealSource resource.
          :rtype: dict