Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
else:
commentstr = ''
if user_message:
user_message += ' -- '
message = '%sTrajectory: `%s`, Time: `%s`, %s' % \
(user_message, traj.v_name, traj.v_time, commentstr)
# Detect changes:
diff = index.diff(None)
if diff:
if git_fail:
# User requested fail instead of a new commit
raise pex.GitDiffError('Found not committed changes!')
# Make the commit
repo.git.add('-u')
commit = index.commit(message)
new_commit = True
else:
# Take old commit
commit = repo.commit(None)
new_commit = False
# Add the commit info to the trajectory
add_commit_variables(traj, commit)
return new_commit, commit.hexsha
:param explore_iterable: An iterable specifying the exploration range
For example:
>>> param = Parameter('Im.an.example', data=33.33, comment='Wooohoo!')
>>> param._explore([3.0,2.0,1.0])
>>> param._expand([42.0, 43.42])
>>> param.f_get_range()
>>> [3.0, 2.0, 1.0, 42.0, 43.42]
:raises TypeError, ParameterLockedException
"""
if self.v_locked:
raise pex.ParameterLockedException('Parameter `%s` is locked!' % self.v_full_name)
if not self.f_has_range():
raise TypeError('Your Parameter `%s` is not an array and can therefore '
'not be expanded.' % self._name)
data_list = self._data_sanity_checks(explore_iterable)
self._explored_range.extend(data_list)
self.f_lock()
def _shrink(self):
if self.v_locked:
raise pex.ParameterLockedException('Parameter %s is locked!' % self.v_full_name)
if not self.f_has_range():
raise TypeError('Cannot shrink Parameter without a range.')
if self.f_is_empty():
raise TypeError('Cannot shrink empty Parameter.')
del self._explored_range
self._explored_range = []
self._explored = False
max_depth=max_depth, in_search=True,
with_links=with_links)
result_node = None
result_depth = float('inf')
for depth, name, child in nodes_iterator:
if depth > result_depth:
# We can break here because we enter a deeper stage of the tree and we
# cannot find matching node of the same depth as the one we found
break
if key == name:
# If result_node is not None means that we care about uniqueness and the search
# has found more than a single solution.
if result_node is not None:
raise pex.NotUniqueNodeError('Node `%s` has been found more than once within '
'the same depth %d. '
'Full name of first occurrence is `%s` and of '
'second `%s`'
% (key, child.v_depth, result_node.v_full_name,
child.v_full_name))
result_node = child
result_depth = depth
return result_node, result_depth
self._all_remove_parameter_or_result_or_group(stuff_to_store,*args,**kwargs)
elif msg == pypetconstants.GROUP:
self._grp_store_group(stuff_to_store,*args,**kwargs)
elif msg == pypetconstants.REMOVE_INCOMPLETE_RUNS:
self._trj_remove_incomplete_runs(stuff_to_store,*args,**kwargs)
elif msg == pypetconstants.TREE:
self._tree_store_tree(stuff_to_store,*args,**kwargs)
elif msg == pypetconstants.LIST:
self._srvc_store_several_items(stuff_to_store,*args,**kwargs)
else:
raise pex.NoSuchServiceError('I do not know how to handle `%s`' % msg)
self._srvc_closing_routine(opened)
except:
self._srvc_closing_routine(True)
self._logger.error('Failed storing `%s`' % str(stuff_to_store))
raise
def _prepare_experiment(self):
"""Called by the environment to make some initial configurations before performing the
individual runs.
Checks if all parameters marked for presetting were preset. If not raises a
DefaultReplacementError.
Locks all parameters.
Removal of potential results of previous runs in case the trajectory was expanded to avoid
mixing up undesired shortcuts in natural naming.
"""
if len(self._changed_default_parameters):
raise pex.PresettingError(
'The following parameters were supposed to replace a '
'default value, but it was never tried to '
'add default values with these names: %s' %
str(self._changed_default_parameters))
self.f_lock_parameters()
self.f_lock_derived_parameters()
# If the trajectory is ought to be expanded we remove the subtrees of previous results
# since they won't be used during an experiment
if 'results' in self._children:
results = self._children['results']
if 'runs' in results._children:
runs = results._children['runs']
for node_name in runs._children.keys():