# import os # from typing import Tuple, Any # from spider.exec_eval import exec_on_db # from spider.process_sql import get_schema # # TIMEOUT = 60 # # class Sqlite(): # def __init__(self, db_dir: str) -> None: # self.db_dir = db_dir # # def get_default_db(self, db_name: str): # return os.path.join(self.db_dir, db_name, db_name + ".sqlite") # # def get_all_dbs(self, default_db: str): # db_dir = os.path.dirname(default_db) # databases = [os.path.join(db_dir, basename) for basename in os.listdir(db_dir) if '.sqlite' in basename] # return databases # # def get_schema(self, db: str): # return get_schema(db) # # def exec_on_db(self, db: str, query: str,) -> Tuple[str, Any]: # return exec_on_db(db, query, timeout) # # if __name__ == "__main__": # import asyncio # import argparse # # parser = argparse.ArgumentParser() # # parser.add_argument('--db', dest='db', type=str, help="the root directory that contains all the databases and test suites") # parser.add_argument('--db_name', dest='db_name', type=str, help="subject directory under root directory") # # args = parser.parse_args() # # db_accessor = Sqlite(args.db) # # db_name = args.db_name # default_db = db_accessor.get_default_db(db_name) # print(default_db) # # all_dbs = db_accessor.get_all_dbs(default_db) # print(all_dbs) # # schema = db_accessor.get_schema(default_db) # print(schema) # # flag, denotation = asyncio.run(db_accessor.exec_on_db(default_db, 'select 1')) # print(flag) # print(denotation)