def upload_dropbox()

in utilities/networking.py [0:0]


def upload_dropbox(lfilename, dfilename, max_tries=7):
  """
  Upload local file lfilename to dropbox location dfilename
  Implements exponential backoff
  """
  if not DROPBOX_FOUND:
    print('Dropbox API not found')
    return False
  dbx = dropbox.Dropbox(dropbox_app_key)
  ddir, _ = osp.split(dfilename)
  ddir_exists = True
  try:
    dbx.files_get_metadata(ddir)
  except dropbox.exceptions.ApiError as err:
    ddir_exists = False
  if not ddir_exists:
    try:
      dbx.files_create_folder(ddir)
    except dropbox.exceptions.ApiError as err:
      print('*** API error', err)
      dbx.close()
      return False
  mtime = osp.getmtime(lfilename)
  with open(lfilename, 'rb') as f:
    ldata = f.read()
  upload_tries = 0
  while upload_tries < max_tries:
    try:
      res = dbx.files_upload(
          ldata, dfilename,
          dropbox.files.WriteMode.overwrite,
          client_modified=datetime.datetime(*time.gmtime(mtime)[:6]),
          mute=True)
      print('uploaded as', res.name.encode('utf8'))
      dbx.close()
      return True
    except dropbox.exceptions.ApiError as err:
      print('*** API error', err)
      dbx.close()
      return False
    except ConnectionError as err:
      t = exponential_backoff(upload_tries)
      print('*** Requests Connection error, sleeping for {:f} s'.format(t), err)
      time.sleep(t)
      upload_tries += 1
  print('*** Max upload tries exceeded')
  dbx.close()
  return False