projects
/
hooke.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Store a copy of params in CurveCommand._add_to_command_stack.
[hooke.git]
/
hooke
/
plugin
/
curve.py
diff --git
a/hooke/plugin/curve.py
b/hooke/plugin/curve.py
index 931dca3e69ef6e033da4d034ea28467c32263ec2..b287ee4fa11bd5ad96f10de2269c6523ebd81bad 100644
(file)
--- a/
hooke/plugin/curve.py
+++ b/
hooke/plugin/curve.py
@@
-41,15
+41,20
@@
from .playlist import current_playlist_callback
# Define common or complicated arguments
# Define common or complicated arguments
-def current_curve_callback(hooke, command, argument, value):
+def current_curve_callback(hooke, command, argument, value
, load=True
):
if value != None:
return value
playlist = current_playlist_callback(hooke, command, argument, value)
if value != None:
return value
playlist = current_playlist_callback(hooke, command, argument, value)
- curve = playlist.current()
+ curve = playlist.current(
load=load
)
if curve == None:
raise Failure('No curves in %s' % playlist)
return curve
if curve == None:
raise Failure('No curves in %s' % playlist)
return curve
+def unloaded_current_curve_callback(hooke, command, argument, value):
+ return current_curve_callback(
+ hooke=hooke, command=command, argument=argument, value=value,
+ load=False)
+
CurveArgument = Argument(
name='curve', type='curve', callback=current_curve_callback,
help="""
CurveArgument = Argument(
name='curve', type='curve', callback=current_curve_callback,
help="""
@@
-132,7
+137,7
@@
class CurveCommand (Command):
pass # no need to place duplicate calls on the stack.
else:
curve.command_stack.append(CommandMessage(
pass # no need to place duplicate calls on the stack.
else:
curve.command_stack.append(CommandMessage(
- self.name,
params
))
+ self.name,
dict(params)
))
class BlockCommand (CurveCommand):
class BlockCommand (CurveCommand):
@@
-446,7
+451,7
@@
Name of the new column for storing the difference (without units, defaults to
def _run(self, hooke, inqueue, outqueue, params):
self._add_to_command_stack(params)
def _run(self, hooke, inqueue, outqueue, params):
self._add_to_command_stack(params)
- params = self._
_
setup_params(hooke=hooke, params=params)
+ params = self._setup_params(hooke=hooke, params=params)
data_A = self._get_column(hooke=hooke, params=params,
block_name='block A',
column_name='column A')
data_A = self._get_column(hooke=hooke, params=params,
block_name='block A',
column_name='column A')
@@
-459,7
+464,7
@@
Name of the new column for storing the difference (without units, defaults to
column_name='output column',
values=out)
column_name='output column',
values=out)
- def _
_
setup_params(self, hooke, params):
+ def _setup_params(self, hooke, params):
curve = self._curve(hooke, params)
if params['block A'] == None:
params['block A'] = curve.data[0].info['name']
curve = self._curve(hooke, params)
if params['block A'] == None:
params['block A'] = curve.data[0].info['name']
@@
-521,7
+526,7
@@
central differencing.
def _run(self, hooke, inqueue, outqueue, params):
self._add_to_command_stack(params)
def _run(self, hooke, inqueue, outqueue, params):
self._add_to_command_stack(params)
- params = self._
_
setup_params(hooke=hooke, params=params)
+ params = self._setup_params(hooke=hooke, params=params)
x_data = self._get_column(hooke=hooke, params=params,
column_name='x column')
f_data = self._get_column(hooke=hooke, params=params,
x_data = self._get_column(hooke=hooke, params=params,
column_name='x column')
f_data = self._get_column(hooke=hooke, params=params,
@@
-532,7
+537,7
@@
central differencing.
column_name='output column',
values=d)
column_name='output column',
values=d)
- def _
_
setup_params(self, hooke, params):
+ def _setup_params(self, hooke, params):
curve = self._curve(hooke, params)
x_name,x_unit = split_data_label(params['x column'])
f_name,f_unit = split_data_label(params['f column'])
curve = self._curve(hooke, params)
x_name,x_unit = split_data_label(params['x column'])
f_name,f_unit = split_data_label(params['f column'])
@@
-586,7
+591,7
@@
Otherwise, the chunks are end-to-end, and not overlapping.
def _run(self, hooke, inqueue, outqueue, params):
self._add_to_command_stack(params)
def _run(self, hooke, inqueue, outqueue, params):
self._add_to_command_stack(params)
- params = self._
_
setup_params(hooke=hooke, params=params)
+ params = self._setup_params(hooke=hooke, params=params)
data = self._get_column(hooke=hooke, params=params)
bounds = params['bounds']
if bounds != None:
data = self._get_column(hooke=hooke, params=params)
bounds = params['bounds']
if bounds != None:
@@
-610,7
+615,7
@@
Otherwise, the chunks are end-to-end, and not overlapping.
values=power)
outqueue.put(b)
values=power)
outqueue.put(b)
- def _
_
setup_params(self, hooke, params):
+ def _setup_params(self, hooke, params):
if params['output block'] in self._block_names(hooke, params):
raise Failure('output block %s already exists in %s.'
% (params['output block'],
if params['output block'] in self._block_names(hooke, params):
raise Failure('output block %s already exists in %s.'
% (params['output block'],
@@
-634,6
+639,11
@@
class ClearStackCommand (CurveCommand):
super(ClearStackCommand, self).__init__(
name='clear curve command stack',
help=self.__doc__, plugin=plugin)
super(ClearStackCommand, self).__init__(
name='clear curve command stack',
help=self.__doc__, plugin=plugin)
+ i,arg = [(i,arg) for i,arg in enumerate(self.arguments)
+ if arg.name == 'curve'][0]
+ arg = copy.copy(arg)
+ arg.callback = unloaded_current_curve_callback
+ self.arguments[i] = arg
def _run(self, hooke, inqueue, outqueue, params):
curve = self._curve(hooke, params)
def _run(self, hooke, inqueue, outqueue, params):
curve = self._curve(hooke, params)