本文整理汇总了Python中Foundation.NSAutoreleasePool类的典型用法代码示例。如果您正苦于以下问题:Python NSAutoreleasePool类的具体用法?Python NSAutoreleasePool怎么用?Python NSAutoreleasePool使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了NSAutoreleasePool类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: readGlyphsFile
def readGlyphsFile(filePath):
print "Import Glyphs File"
pool = NSAutoreleasePool.alloc().init()
GlyphsDoc = NSDictionary.alloc().initWithContentsOfFile_(filePath)
if GlyphsDoc is None:
print "Could not load .glyphs file."
pool.drain()
return
loadGlyphsInfo()
from FL import fl, Font
folder, base = os.path.split(filePath)
base = base.replace(".glyphs", ".vfb")
dest = os.path.join(folder, base)
f = Font( )
fl.Add(f)
global convertName
try:
convertName = GlyphsDoc["disablesNiceNames"] != None
except:
pass
if not setFontInfo(f, GlyphsDoc):
return False
readGlyphs(f, GlyphsDoc)
readKerning(f, GlyphsDoc)
setLegacyNames(f)
readFeatures(f, GlyphsDoc)
fl.UpdateFont()
f.modified = 0
pool.drain()
示例2: callLater
def callLater(delay, func, *args, **kwargs):
"""call a function on the main thread after a delay (async)"""
pool = NSAutoreleasePool.alloc().init()
obj = PyObjCAppHelperCaller.alloc().initWithArgs_((func, args, kwargs))
obj.callLater_(delay)
del obj
del pool
示例3: get_modified
def get_modified(self, obj):
with self.lock:
try:
if self.dirty.get(obj, False):
pool = NSAutoreleasePool.alloc().init()
old_password = self.oldvalues.get(obj, self.default)
new_password = self.values.get(obj, self.default)
account = (account for account, group in chain(*(attr.values.iteritems() for attr in Account.__dict__.itervalues() if isinstance(attr, SettingsGroupMeta))) if group is obj).next()
if self.label is None:
label = '%s (%s)' % (NSApp.delegate().applicationName, account.id)
else:
label = '%s %s (%s)' % (NSApp.delegate().applicationName, self.label, account.id)
k = EMGenericKeychainItem.genericKeychainItemForService_withUsername_(label, account.id)
if k is None and new_password:
EMGenericKeychainItem.addGenericKeychainItemForService_withUsername_password_(label, account.id, new_password)
elif k is not None:
if new_password:
k.setPassword_(new_password)
else:
k.removeFromKeychain()
return ModifiedValue(old=old_password, new=new_password)
else:
return None
finally:
try:
self.oldvalues[obj] = self.values[obj]
except KeyError:
self.oldvalues.pop(obj, None)
self.dirty[obj] = False
示例4: get_country_code
def get_country_code():
try:
if platform == 'linux':
l = locale.getdefaultlocale()[0]
if l is not None:
return l.split(LOCALE_SPLITCHAR, 1)[1][:2].upper()
elif platform == 'mac':
from Foundation import NSAutoreleasePool, NSLocale, NSLocaleCountryCode
pool = NSAutoreleasePool.alloc().init()
try:
return NSLocale.currentLocale().objectForKey_(NSLocaleCountryCode).upper()
finally:
del pool
else:
from dropbox.win32.version import WIN2K, WINDOWS_VERSION
if WINDOWS_VERSION != WIN2K:
GEO_ISO2 = 4
nation = ctypes.windll.kernel32.GetUserGeoID(16)
buf = ctypes.create_string_buffer(20)
if ctypes.windll.kernel32.GetGeoInfoA(nation, GEO_ISO2, ctypes.byref(buf), ctypes.sizeof(buf), 0):
return buf.value.upper()
except Exception:
unhandled_exc_handler()
return 'US'
示例5: hideAndClear
def hideAndClear():
# Will be run from worker thread, create own NSAutoreleasePool
pool = NSAutoreleasePool.alloc().init()
self.password.SetValue("")
self.status.SetLabel("")
self.Hide()
del pool
示例6: _doPostWithParams_
def _doPostWithParams_(self, params):
script, message = params
pool = NSAutoreleasePool.alloc().init()
try:
script.post_message(message)
except Exception, e:
print "Failed to post to script:", e
示例7: callAfter
def callAfter(func, *args, **kwargs):
"""
Call a function on the Main thread (async).
"""
pool = NSAutoreleasePool.alloc().init()
runner = PyObjCMessageRunner.alloc().initWithPayload_((func, args, kwargs))
runner.callAfter()
del runner
del pool
示例8: restart
def restart():
report_bad_assumption('Trying to restart finder.')
if has_progress_windows():
raise FinderBusyError()
pool = NSAutoreleasePool.alloc().init()
try:
return FinderRestarterHelper.alloc().initAndRestartFinder()
finally:
del pool
示例9: hideAndClear
def hideAndClear():
# Will be run from worker thread, create own NSAutoreleasePool
if sys.platform == "darwin":
pool = NSAutoreleasePool.alloc().init()
self.password.SetValue("")
self.status.SetLabel("")
self.Hide()
if sys.platform == "darwin":
del pool
示例10: wrapped_execute
def wrapped_execute(self, msg, lines):
"""wrapped_execute"""
try:
p = NSAutoreleasePool.alloc().init()
result = super(AutoreleasePoolWrappedThreadedEngineService,
self).wrapped_execute(msg, lines)
finally:
p.drain()
return result
示例11: testBasic
def testBasic(self):
# This is mostly a regression tests, the function used to crash on
# this...
if objc.platform != 'MACOSX':
return
pool = NSAutoreleasePool.alloc().init()
s = NSLocalizedString(b"hello world".decode('ascii'), b"".decode('ascii'))
del pool
self.assertEqual (s, b"hello world".decode('ascii'))
示例12: readGlyphsFile
def readGlyphsFile(filePath):
print "Import Glyphs File"
pool = None
try:
from Foundation import NSAutoreleasePool, NSDictionary
except ImportError:
# on Windows, PyObjC is not available
with open(filePath, "rb") as f:
data = f.read()
if data.startswith("<?xml"):
# use the built-in plistlib module for XML plist
from plistlib import readPlistFromString
GlyphsDoc = readPlistFromString(data)
else:
# use glyphsLib's Parser for ASCII plist.
# Download it from: https://github.com/googlei18n/glyphsLib
from glyphsLib.parser import Parser
GlyphsDoc = Parser(dict_type=dict).parse(data)
else:
# on OS X, use NSDictionary
pool = NSAutoreleasePool.alloc().init()
GlyphsDoc = NSDictionary.alloc().initWithContentsOfFile_(filePath)
if not GlyphsDoc:
print "Could not load .glyphs file."
if pool:
pool.drain()
return
from FL import fl, Font
folder, base = os.path.split(filePath)
base = base.replace(".glyphs", ".vfb")
dest = os.path.join(folder, base)
f = Font()
fl.Add(f)
global convertName
try:
convertName = GlyphsDoc["disablesNiceNames"] != None
except:
pass
if not setFontInfo(f, GlyphsDoc):
return False
readGlyphs(f, GlyphsDoc)
readKerning(f, GlyphsDoc)
setLegacyNames(f)
readFeatures(f, GlyphsDoc)
fl.UpdateFont()
f.modified = 0
if pool:
pool.drain()
示例13: main_thread
def main_thread(func, *args, **kwargs):
""" Schedue `func` to be called on the main thread. """
pool = NSAutoreleasePool.new()
obj = MainThreadHelper.new()
obj.func = lambda: func(*args, **kwargs)
selector = objc.selector(obj.onMainThread, signature='[email protected]:')
later = obj.performSelectorOnMainThread_withObject_waitUntilDone_
later(selector, None, False)
示例14: run
def run(self):
# start streaming acquisition
try:
from Foundation import NSAutoreleasePool
pool = NSAutoreleasePool.alloc().init()
except ImportError:
pass # Windows
# acquisition loop
while self.monitor.running:
#print "Stream thread tryin to enqueue", time.clock()
self.serial_queue.enqueue(self.acquire_stream)
示例15: open
def open(self, url, new = 0, autoraise = True):
pool = NSAutoreleasePool.alloc().init()
try:
fake_url = NSURL.URLWithString_('http:')
os_status, app_ref, appurl = LSGetApplicationForURL(fake_url, kLSRolesAll, None, None)
if os_status != 0:
raise Exception('No browser default?')
self._name = app_ref.as_pathname().encode('utf-8')
finally:
del pool
return super(DefaultMacBrowser, self).open(url, new, autoraise)