storing force curves.
"""
+import logging
import os.path
+
import numpy
from .command_stack import CommandStack
self.command_stack = CommandStack()
self._hooke = None # Hooke instance for Curve.load()
+ def __str__(self):
+ return str(self.__unicode__())
+
+ def __unicode__(self):
+ return u'<%s %s>' % (self.__class__.__name__, self.name)
+
+ def __repr__(self):
+ return self.__str__()
+
def set_hooke(self, hooke=None):
if hooke != None:
self._hooke = hooke
:meth:`hooke.command_stack.CommandStack.execute`.
"""
self.set_hooke(hooke)
+ log = logging.getLogger('hooke')
+ log.debug('loading curve %s with driver %s' % (self.name, self.driver))
data,info = self.driver.read(self.path, self.info)
self.data = data
for key,value in info.items():
self.info[key] = value
- if self.hooke != None:
- # TODO: set 'curve' argument explicitly for CurveCommands
- self.command_stack.execute(self.hooke)
+ if self._hooke != None:
+ self.command_stack.execute(self._hooke)
+ elif len(self.command_stack) > 0:
+ log.warn(
+ 'could not execute command stack for %s without Hooke instance'
+ % self.name)
def unload(self):
"""Release memory intensive :attr:`.data`.
"""
+ log = logging.getLogger('hooke')
+ log.debug('unloading curve %s' % self.name)
self.data = None