code: def uploadByParts(self, registerID, filePath, commit=True):
          
          url = self._url + "/%s/uploadPart" % registerID
          params = {
              "f" : "json"
          }
          with open(filePath, 'rb') as f:
              mm = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
              size = 1000000
              steps =  int(os.fstat(f.fileno()).st_size / size)
              if os.fstat(f.fileno()).st_size % size > 0:
                  steps += 1
              for i in range(steps):
                  files = {}
                  tempFile = os.path.join(os.environ['TEMP'], "split.part%s" % i)
                  if os.path.isfile(tempFile):
                      os.remove(tempFile)
                  with open(tempFile, 'wb') as writer:
                      writer.write(mm.read(size))
                      writer.flush()
                      writer.close()
                  del writer
                  files['file'] = tempFile
                  params['partNum'] = i + 1
                  res = self._post(url=url,
                                    param_dict=params,
                                    files=files,
                                    securityHandler=self._securityHandler,
                                    proxy_url=self._proxy_url,
                                    proxy_port=self._proxy_port)
                  os.remove(tempFile)
                  del files
              del mm
          return self.commit(registerID)
docs: loads the data by small parts. If commit is set to true,
          then parts will be merged together.  If commit is false, the
          function will return the registerID so a manual commit can occur.
  
          If the user's file is over 10mbs, the uploadByParts should be used.
  
          Inputs:
           registerID - ID of the registered item
           filePath - path of the file to upload
           commit - default True, lets the function know if server will piece
            the file back together on the server side.
          Output:
            dictionary or string