예제 #1
0
 def __position_create(self, ctx, subj, dummy, arg):
     v = int(action.abstract_string(arg))
     if v < 1 or v > 10000:
         print 'position out of range'
         return async .success(errors.out_of_range('1 to 10000', 'set'))
     return piw.trigger(self.__agent.model.set_position(),
                        piw.makelong_nb(v - 1, 0)), None
예제 #2
0
 def __fraction_create(self, ctx, subj, dummy, arg):
     v = float(action.abstract_string(arg))
     if v < 1 or v > 100:
         print 'fraction out of range'
         return async .success(errors.out_of_range('1 to 100', 'set'))
     return piw.trigger(self.__agent.model.set_stepdenominator(),
                        piw.makefloat_nb(v, 0)), None
예제 #3
0
 def create_input(self,ordinal=None):
     o = ordinal or self.find_hole()
     o = int(o)
     if o < 1 or o > MAX_CHANNEL:
         return errors.out_of_range(str(MAX_CHANNEL),'create')
     e = AudioInput(self.__agent,o)
     self[o] = e
     self.__agent.update()
     return e 
예제 #4
0
파일: atom.py 프로젝트: shamharoth/EigenD
 def builtin_set_value(self, value):
     dom = self.get_domain()
     try:
         value = dom.data2value(dom.value2data(value))
     except:
         if dom.numeric:
             range = '%s to %s' % (str(dom.min), str(dom.max))
             return (errors.out_of_range(range, 'set'), )
         return (errors.invalid_value(value, 'set'), )
     self.change_value(value)
예제 #5
0
 def create_channel(self,ordinal=None):
     o = ordinal or self.find_hole()
     o = int(o)
     if o < 1 or o > MAX_CHANNEL:
         return errors.out_of_range(str(MAX_CHANNEL),'create')
     e = self.new_channel(o)
     self[o] = e
     self.channels_changed()
     self.agent.update()
     return e 
예제 #6
0
파일: browse.py 프로젝트: shamharoth/EigenD
 def changeDir(self, subject, arg):
     s = action.abstract_string(arg)
     if s in [
             'dictionary', 'list', 'connection', 'staff', 'image',
             'conversation'
     ]:
         return None
     if 'layer' in s:
         return None
     try:
         dirNum = int(s) - 1
     except ValueError:
         return None
     else:
         print 'numCollections=', self.model.numCollections, dirNum
         if (abs(dirNum) >= self.model.numCollections) or dirNum < 0:
             return async .success(
                 errors.out_of_range(
                     '1 to %s' % str(self.model.numCollections), 'show'))
         self.model.changeDir(abs(dirNum))