def checkHandleAndSynchronize(default=None):
 def wrap(f):
  def invoke_func(*args, **kwargs):
   download = args[0]
   with download.dllock:
    if (download.handle and download.handle.is_valid()):
     return f(*args, **kwargs)
   return default
  return invoke_func
 return wrap

def checkHandleAndSynchronize ( default = None ) : def wrap ( f ) : def invoke_func ( * args , ** kwargs ) : download = args [ 0 ] with download . dllock : if ( download . handle and download . handle . is_valid ( ) ) : return f ( * args , ** kwargs ) return default return invoke_func return wrap
return the libtorrent handle if its available .