docs: def get_calc_id(db, datadir, job_id=None):
      """
      Return the latest calc_id by looking both at the datastore
      and the database.
  
      :param db: a :class:`openquake.server.dbapi.Db` instance
      :param datadir: the directory containing the datastores
      :param job_id: a job ID; if None, returns the latest job ID
      """
      calcs = datastore.get_calc_ids(datadir)
      calc_id = 0 if not calcs else calcs[-1]
      if job_id is None:
          try:
              job_id = db('SELECT seq FROM sqlite_sequence WHERE name="job"',
                          scalar=True)
          except NotFound:
              job_id = 0
      return max(calc_id, job_id)