def main(): cnx = db_connect() vol_id = 'vol0004' file_id = 85948 (vol_id, file_id) = ('vol0004' , 86182) sql = "select path_from_vol_id_file_id(%r, %d )" % (vol_id, file_id) r = db_execute_sql(cnx, sql) print r[0]
def do_args(args, options): """do_args is the high-level, self-contained routine most like the command-line invocation""" cnx = db_connect() required_fields = ['vol_id', 'folder_id', 'file_name', 'file_id', 'file_size', 'file_create_date', 'file_mod_date', 'file_uti' ] try: for basepath in args: for arg_dict in do_arg_gen(basepath, cnx, options): # depth 0 should be a fully-realized level if (arg_dict['depth'] < 0): if not ('directory_is_up_to_date' in arg_dict) or not arg_dict['directory_is_up_to_date']: sql_dict = GetDR(arg_dict, required_fields) sql_dict['file_mod_date'] = "'1970-01-01 00:00:00'" # args are escaped and quoted at this point add_file_sql = ("insert into files " "(vol_id, folder_id, file_name, file_id, file_size, file_create_date, file_mod_date, file_uti) " "values " "( %(vol_id)s, %(folder_id)s, %(file_name)s, %(file_id)s, %(file_size)s, %(file_create_date)s, " "%(file_mod_date)s, %(file_uti)s ) " ) # execute_update_query(cnx, add_file_sql , sql_dict, label='(depth < 0)', verbose_level_threshold=3 ) db_execute_sql(cnx, add_file_sql % sql_dict, label='(depth < 0)', verbose_level_threshold=2) GPR.pr7z( arg_dict ) elif 'sql_action' in arg_dict: if arg_dict['sql_action'] in ["update_directory", "insert"]: # technically, we are updating (ie, completing) the directory # before we do the directory entries? consistency problem if we fail? add_file_sql = ("insert into files " "(vol_id, folder_id, file_name, file_id, file_size, file_create_date, file_mod_date, file_uti) " "values " "( %(vol_id)s, %(folder_id)s, %(file_name)s, %(file_id)s, %(file_size)s, %(file_create_date)s, " "%(file_mod_date)s, %(file_uti)s ) " ) # execute_update_query(cnx, add_file_sql , sql_dict, label=arg_dict['sql_action'], verbose_level_threshold=2) # sql and dict are "%"'ed inside function db_execute(cnx, add_file_sql, arg_dict, required_fields, label="do_args" + arg_dict['sql_action'], verbose_level_threshold=2) else: sql_dict = GetDR(arg_dict, required_fields) GPR.print_it(add_file_sql % sql_dict, 3) GPR.pr7z( arg_dict ) elif (arg_dict['depth'] == 0): GPR.pr7z( arg_dict , verbose_level_threshold=1) else: GPR.pr7z( arg_dict , verbose_level_threshold=2) except MyError, err: print err.description