code: def upload(self, force=False):
          
          self.package and self.release
          try:
              return self.aserver_api.upload(self.username, self.project, self.version,
                                         basename(self.filepath), open(self.filepath, 'rb'),
                                         self.filepath.split('.')[-1])
          except errors.Conflict:
              if force:
                  self.remove()
                  return self.upload()
              else:
                  msg = "Conflict: {} already exist in {}/{}".format(self.filepath,
                                                                     self.project,
                                                                     self.version)
                  raise errors.BinstarError(msg)
docs: Uploads a notebook
          :param force: True/False
          :returns {}