mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
do not try to package lsprof if not available.
This commit is contained in:
parent
aaa7510117
commit
fc206d2a40
@ -4,7 +4,13 @@
|
||||
# small modifications made
|
||||
|
||||
import sys
|
||||
from _lsprof import Profiler, profiler_entry, profiler_subentry
|
||||
try:
|
||||
from _lsprof import Profiler, profiler_entry, profiler_subentry
|
||||
except ImportError, inst:
|
||||
import packagescan
|
||||
if packagescan.scan_in_progress:
|
||||
raise packagescan.SkipPackage('_lsprof not available')
|
||||
raise
|
||||
|
||||
__all__ = ['profile', 'Stats']
|
||||
|
||||
|
@ -60,8 +60,16 @@ def demandload(scope, modules):
|
||||
if type(scope[f]) == types.ModuleType:
|
||||
requiredmodules[scope[f].__name__] = 1
|
||||
|
||||
class SkipPackage(Exception):
|
||||
def __init__(self, reason):
|
||||
self.reason = reason
|
||||
|
||||
scan_in_progress = False
|
||||
|
||||
def scan(libpath,packagename):
|
||||
""" helper for finding all required modules of package <packagename> """
|
||||
global scan_in_progress
|
||||
scan_in_progress = True
|
||||
# Use the package in the build directory
|
||||
libpath = os.path.abspath(libpath)
|
||||
sys.path.insert(0,libpath)
|
||||
@ -85,7 +93,11 @@ def scan(libpath,packagename):
|
||||
tmp = {}
|
||||
mname,ext = os.path.splitext(m)
|
||||
fullname = packagename+'.'+mname
|
||||
__import__(fullname,tmp,tmp)
|
||||
try:
|
||||
__import__(fullname,tmp,tmp)
|
||||
except SkipPackage, inst:
|
||||
print >> sys.stderr, 'skipping %s: %s' % (fullname, inst.reason)
|
||||
continue
|
||||
requiredmodules[fullname] = 1
|
||||
# Import all extension modules and by that run the fake demandload
|
||||
for m in extmodulefiles:
|
||||
|
Loading…
Reference in New Issue
Block a user