Beispiel #1
0
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
Beispiel #2
0
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)