def do_metadata_query(q): query = NSMetadataQuery.alloc().init() query.setPredicate_(NSPredicate.predicateWithFormat_( q )) scopes = [NSMetadataQueryLocalComputerScope] # or [NSMetadataQueryUserHomeScope] query.setSearchScopes_( scopes ) do_run_query_loop(query) print "query.resultCount() is:", query.resultCount() return query
def do_metadata_query(): query = NSMetadataQuery.alloc().init() q = 'kMDItemKind = "Aperture Library"' query.setPredicate_(NSPredicate.predicateWithFormat_( q )) scopes = [NSMetadataQueryLocalComputerScope] # scopes = [NSMetadataQueryUserHomeScope] query.setSearchScopes_( scopes ) do_run_query_loop(query) # process results n = query.resultCount() print "query.resultCount() is:", query.resultCount() config = { 'user': '******', 'password': '', 'host': '127.0.0.1', 'database': 'files', 'buffered': True } try: cnx = mysql.connector.connect(**config) except mysql.connector.Error as err: if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: print("Username or password %r and %r?" % (config['user'], config['password'])) elif err.errno == errorcode.ER_BAD_DB_ERROR: print "Database %r does not exist." % config['database'] else: print 'err:', err for i in range(n): item = query.resultAtIndex_(i) # print "item.attributes(): ", item.attributes() # kMDItemContentTypeTree, kMDItemContentType, kMDItemKind, # kMDItemDisplayName, kMDItemAlternateNames, kMDItemDateAdded, # kMDItemContentCreationDate, kMDItemContentModificationDate, kMDItemFSName, # kMDItemFSSize, kMDItemFSCreationDate, kMDItemFSContentChangeDate, # kMDItemFSOwnerUserID, kMDItemFSOwnerGroupID, kMDItemFSNodeCount, kMDItemFSInvisible, # kMDItemFSTypeCode, kMDItemFSCreatorCode, kMDItemFSFinderFlags, kMDItemFSHasCustomIcon, # kMDItemFSIsExtensionHidden, kMDItemFSIsStationery, kMDItemFSLabel d1 = item.valuesForAttributes_( [ 'kMDItemFSName', 'kMDItemDisplayName', 'kMDItemPath', 'kMDItemKind', 'kMDItemContentType', 'kMDItemDateAdded', 'kMDItemFSCreationDate', 'kMDItemContentTypeTree', 'kMDItemFSContentChangeDate']) basepath = d1['kMDItemPath'] # # call do_fs_basepath # try: basepath = "/Users/donb/projects/lsdb-master" print "\nbasepath:", basepath, "\n" for fs_dict in do_fs_basepath(cnx, basepath ): # , force_folder_scan=True pass # print "do_fs_basepath:", fs_dict['file_name'].decode('utf8') sys.exit() (vol_id, item_dict, insert_result) = do_cnx_basepath(cnx, basepath ,verbose_level = 0 ) file_id = item_dict['NSFileSystemFileNumber'] # print (vol_id, file_id, str(insert_result)) # ('vol0010', 27444211, 'existing') except MyError, err: print err.description db_fields_dict = do_aperture_library(i, basepath, vol_id, file_id) if db_fields_dict: # print_dict(db_fields_dict) sql = ("insert into aperture_libs " "(databaseUuid, external_masters_count, file_id, " " vol_id, masterCount, versionCount, lib_version) " "values ( %(databaseUuid)s, %(external_masters_count)s, %(file_id)s, " "%(vol_id)s, %(masterCount)s, %(versionCount)s, %(lib_version)s ) " # "on duplicate key update " # "vol_total_capacity = values(vol_total_capacity), " # "vol_available_capacity = values(vol_available_capacity)" ); # print sql % db_fields_dict (l , vol_id) = execute_insert_query(cnx, sql, db_fields_dict, 1)