code: def upload_url(self):
          
          if self.put_upload_url:
              return self.put_upload_url
          else:
              response = GettRequest().get("/files/%s/%s/upload?accesstoken=%s" % (self.sharename, self.fileid, self.user.access_token()))
              if response.http_status == 200:
                  return response.response['puturl']
docs: This method generates URLs which allow overwriting a file's content with new content. The output is suitable
          for use in the ``send_data()`` method below.
  
          Input:
              * None
  
          Output:
              * A URL (string)
  
          Example::
  
              file = client.get_file("4ddfds", 0)
              file.send_data(put_url=file.upload_url, data=open("example.txt", "rb").read())