def TEST_SQL_NAMES(): # -------- INIT DATABASE ------------ # # Create new temp database sqldb_fname = 'temp_test_sql_names.sqlite3' sqldb_dpath = utool.util_cplat.get_app_resource_dir('ibeis', 'testfiles') utool.ensuredir(sqldb_dpath) print('Remove Old Temp Database') utool.util_path.remove_file(join(sqldb_dpath, sqldb_fname), dryrun=False) print('New Temp Database') db = SQLDatabaseControl.SQLDatabaseController(sqldb_dpath=sqldb_dpath, sqldb_fname=sqldb_fname) # # Define the schema __define_schema(db) # # -------- RUN INSERTS -------------- print('[TEST] --- INSERT NAMES --- ') test_names = [ 'fred', 'sue', 'Robert\');DROP TABLE Students;--', 'joe', 'rob', ] __insert_names(db, test_names) __insert_names(db, test_names[2:4]) # # -------- RUN SELECT NAMES -------------- print('[TEST] --- SELECT NAMES ---') name_text_results = db.executeone('SELECT name_text FROM names', []) print(' * name_text_results=%r' % name_text_results) #assert name_text_results == test_names, 'unexpected results from select names' # # -------- RUN SELECT NIDS -------------- print('[TEST] --- SELECT NIDS ---') query_names = test_names[::2] + ['missingno'] nid_list = db.executemany( operation=''' SELECT name_rowid FROM names WHERE name_text=? ''', params_iter=((name,) for name in query_names)) # Get the parameter indexes that failed failx_list = [count for count, nid in enumerate(nid_list) if nid is None] assert failx_list == [3] failed_names = [query_names[failx] for failx in failx_list] # NOQA utool.printvar2('failed_names') # We selected a name not in the table. # Its return index is an empty list print('[TEST] nid_list=%r' % nid_list) print('[TEST] query_names=%r' % query_names) print('[TEST] test_names=%r' % test_names) # SQL INTEGERS START AT 1 APPARENTLY #expected_names = [test_names[nid - 1] for nid in nid_list] #assert expected_names == query_names, 'unexpected results from select names' return locals()
def TEST_SQL_NAMES(): # -------- INIT DATABASE ------------ # # Create new temp database sqldb_fname = 'temp_test_sql_names.sqlite3' sqldb_dpath = utool.util_cplat.get_app_resource_dir('ibeis', 'testfiles') utool.ensuredir(sqldb_dpath) print('Remove Old Temp Database') utool.util_path.remove_file(join(sqldb_dpath, sqldb_fname), dryrun=False) print('New Temp Database') db = SQLDatabaseControl.SQLDatabaseController(sqldb_dpath=sqldb_dpath, sqldb_fname=sqldb_fname) # # Define the schema __define_schema(db) # # -------- RUN INSERTS -------------- print('[TEST] --- INSERT NAMES --- ') test_names = [ 'fred', 'sue', 'Robert\');DROP TABLE Students;--', 'joe', 'rob', ] __insert_names(db, test_names) __insert_names(db, test_names[2:4]) # # -------- RUN SELECT NAMES -------------- print('[TEST] --- SELECT NAMES ---') name_text_results = db.executeone('SELECT name_text FROM names', []) print(' * name_text_results=%r' % name_text_results) #assert name_text_results == test_names, 'unexpected results from select names' # # -------- RUN SELECT NIDS -------------- print('[TEST] --- SELECT NIDS ---') query_names = test_names[::2] + ['missingno'] nid_list = db.executemany(operation=''' SELECT name_rowid FROM names WHERE name_text=? ''', params_iter=((name, ) for name in query_names)) # Get the parameter indexes that failed failx_list = [count for count, nid in enumerate(nid_list) if nid is None] assert failx_list == [3] failed_names = [query_names[failx] for failx in failx_list] # NOQA utool.printvar2('failed_names') # We selected a name not in the table. # Its return index is an empty list print('[TEST] nid_list=%r' % nid_list) print('[TEST] query_names=%r' % query_names) print('[TEST] test_names=%r' % test_names) # SQL INTEGERS START AT 1 APPARENTLY #expected_names = [test_names[nid - 1] for nid in nid_list] #assert expected_names == query_names, 'unexpected results from select names' return locals()
def class_reload(): ibs.change_class(IBEISControl.IBEISController) IBEISControl.__ALL_CONTROLLERS__ mod_id_0 = id(IBEISControl) class_id_0 = id(IBEISControl.IBEISController) utool.printvar2('mod_id_0') utool.printvar2('class_id_0') reload_all() mod_id_1 = id(IBEISControl) class_id_1 = id(IBEISControl.IBEISController) utool.printvar2('mod_id_1') utool.printvar2('class_id_1') utool.printvar2('mod_id_0') utool.printvar2('class_id_0')
import sys # NOQA import os # NOQA import platform import site # NOQA if __name__ == '__main__': """ CommandLine: python utool/util_scripts/local_info.py """ for name in filter(lambda x: not x.startswith('_'), dir(platform)): attr = getattr(platform, name) if hasattr(attr, '__call__'): if attr.func_code.co_argcount == 0: utool.printvar2('platform.' + name + '()', typepad=14) utool.printvar2('multiprocessing.cpu_count()') utool.printvar2('sys.platform') utool.printvar2('os.getcwd()') utool.printvar2('utool.is64bit_python()') utool.printvar2('sys.maxint') print('') print('Python Site:') utool.printvar2('site.getsitepackages()') utool.printvar2('site.getusersitepackages()') print('') print('Memory Status:') print(utool.get_memstats_str())