Query Spotlight для диапазона дат через PyObjC - PullRequest
1 голос
/ 24 марта 2012

Я использую прожектор через pyobjc.Который работает хорошо, за исключением случаев, когда я пытаюсь ограничить период времени, используя kMDItemContentCreationDate.Я думаю, что проблема с моим форматом времени.Любая помощь будет принята с благодарностью.

    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")
...