Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
try:
targets = eval(targets)
except:
pass
ret = []
for target_def in targets:
if isinstance(target_def, basestring):
# Create a default target object, with the string as the attribute
target = Target(**{default_attribute: target_def})
else:
d = getattr(target_def, "__dict__", target_def)
if default_attribute not in d:
raise DistutilsOptionError(
"This target class requires an attribute '%s'"
% (default_attribute,))
target = Target(**d)
target.validate()
ret.append(target)
return ret
def _make_py2app_cmd(dist_dir,distribution,options,exes):
exe = exes[0]
extra_exes = exes[1:]
cmd = py2app(distribution)
for (nm,val) in options.iteritems():
setattr(cmd,nm,val)
cmd.dist_dir = dist_dir
cmd.app = [Target(script=exe.script,dest_base=exe.name)]
cmd.extra_scripts = [e.script for e in extra_exes]
cmd.finalize_options()
cmd.plist["CFBundleExecutable"] = exe.name
old_run = cmd.run
def new_run():
# py2app munges the environment in ways that break things.
old_deployment_target = os.environ.get("MACOSX_DEPLOYMENT_TARGET",None)
old_run()
if old_deployment_target is None:
os.environ.pop("MACOSX_DEPLOYMENT_TARGET",None)
else:
os.environ["MACOSX_DEPLOYMENT_TARGET"] = old_deployment_target
# We need to script file to have the same name as the exe, which
# it won't if they have changed it explicitly.
resdir = os.path.join(dist_dir,distribution.get_name()+".app","Contents/Resources")
scriptf = os.path.join(resdir,exe.name+".py")
def FixupTargets(targets, default_attribute):
if not targets:
return targets
try:
targets = eval(targets)
except:
pass
ret = []
for target_def in targets:
if isinstance(target_def, basestring):
# Create a default target object, with the string as the attribute
target = Target(**{default_attribute: target_def})
else:
d = getattr(target_def, "__dict__", target_def)
if default_attribute not in d:
raise DistutilsOptionError(
"This target class requires an attribute '%s'"
% (default_attribute,))
target = Target(**d)
target.validate()
ret.append(target)
return ret