1

I'm using spotlight via pyobjc. Which is working well except for when I try to limit the time period using kMDItemContentCreationDate. I think the issue is with my time format. Any help would be greatly appreciated.

    from Cocoa import *
    import sys

    emails = [sys.argv[1], ]
    predicate = "(kMDItemContentType = 'com.apple.mail.emlx') && (" + \
             '||'.join(["((kMDItemAuthorEmailAddresses = '%s'))" % m for m in emails]) + \
              "&& (kMDItemContentCreationDate > '2011-03-23 00:00:00')" + \
              "&& (kMDItemContentCreationDate < '2012-03-24 00:00:00')" + \
              ")"

    query = NSMetadataQuery.alloc().init()
    query.setPredicate_(NSPredicate.predicateWithFormat_(predicate))
    query.setSortDescriptors_(NSArray.arrayWithObject_(NSSortDescriptor.alloc().initWithKey_ascending_('kMDItemContentCreationDate', False)))
    query.startQuery()
    NSRunLoop.currentRunLoop().runUntilDate_(NSDate.dateWithTimeIntervalSinceNow_(5))
    query.stopQuery()
    results = query.results()[:5]

    for item in results:
        print "subject: ", item.valueForAttribute_("kMDItemSubject")
macdhuibh
  • 220
  • 1
  • 2
  • 9

0 Answers0