コード例 #1
0
    def testgetNodeList(self):

        cmd = Command('tag', None)

        node = Node(cmd)

        cp = CommandPack([cmd])

        nlist = cp.getNodeList()

        self.failUnlessEqual(nlist, [node])
コード例 #2
0
    def testgetTargets(self):

        t1 = Target('t1')
        t2 = Target('t2')
        cmd = Command('tag', None, t1)
        cmd2 = Command('tag', None, t2=t2)

        cp = CommandPack([cmd, cmd2])

        tset = set(cp.getTargets())

        self.failUnlessEqual(tset, set([t1, t2]))
コード例 #3
0
    def testgetSources(self):

        s1 = Source('t1')
        s2 = Source('t2')
        cmd = Command('tag', None, s1)
        cmd2 = Command('tag', None, s2=s2)

        cp = CommandPack([cmd, cmd2])

        tset = set(cp.getSources())

        self.failUnlessEqual(tset, set([s1, s2]))
コード例 #4
0
    def pack(cls, command, stdin=True, stdout=True):
        """
        pack a source, command and target into
        a CommandPack instance
        @return: CommandPack instance
        """
        if isinstance(command, (tuple, list)):
            comm = command
        else:
            comm = [command]

        return CommandPack(comm, stdin, stdout)
コード例 #5
0
    def testsetSource(self):

        cp = CommandPack(['comm'])

        self.failUnlessEqual(cp.source, True)

        cp.source = 'tgt'
        self.failUnlessEqual(cp.source, 'tgt')

        cmd = Command('tag', None)
        cp = CommandPack([cmd], in_cont=None)
        self.failUnlessRaises(Exception, setattr, cp, 'source', 'src')

        cmd = Command('tag', None, Source)
        cp = CommandPack([cmd], in_cont=None)

        src = Source('tgt')
        cp.source = src
        self.failUnlessEqual(cp.source, None)
        self.failUnlessEqual(cmd.getSources(), [src])
コード例 #6
0
    def testsetTarget(self):

        cp = CommandPack(['comm'])

        self.failUnlessEqual(cp.target, True)

        cp.target = 'tgt'
        self.failUnlessEqual(cp.target, 'tgt')

        cmd = Command('tag', None)
        cp = CommandPack([cmd], out_cont=None)
        self.failUnlessRaises(Exception, setattr, cp, 'target', 'tgt')

        cmd = Command('tag', None, Target)
        cp = CommandPack([cmd], out_cont=None)

        tgt = Target('tgt')
        cp.target = tgt
        self.failUnlessEqual(cp.target, None)
        self.failUnlessEqual(cmd.getTargets(), [tgt])
コード例 #7
0
    def scalar_reduction(cls, container, tag, *args, **kargs):
        """
        generate a Scalar from a command
        """
        scalar_methods = container.scalar_methods

        scmd = scalar_methods.get_command(tag)

        scalar = Scalar()
        cont = Source(container)
        scal = Target(scalar)

        if cls.env['slimvars']['use_scalar_obj']:

            command = general_command(tag, None, cont, scal, *args, **kargs)
            # set command
            command.func = scmd
            compack = CommandPack([command], None, None)
            cls.env['graphmgr'].graphAppend(compack)
        else:
            scalar = scal.data

        return scalar
コード例 #8
0
ファイル: Scalar.py プロジェクト: LongyanU/SLIMpy
    def gen_new_scal(self,other,func):
        
        scalar = Scalar( )
        trg_scal = Target( scalar )
        src_self = Source( self )
        
        other_obj = self._num_src( other )
        
#        new_func = scalar_helper(func,func_name=func_name)
        
        tag = str(func)
        command = general_command( tag , None, src_self,other_obj,trg_scal )
        command.func = func
        
        if self.env['slimvars']['keep_tb_info']:
            stack = traceback.extract_stack( )
            st_list  = traceback.format_list( stack[:-3] )
            command.tb_info = "".join(st_list)
            
        compack = CommandPack([command], None, None)
        
        self.env['graphmgr'].graphAppend( compack )
    
        return scalar
コード例 #9
0
 def map(cls, source, command):
     """
     default mapping 1 to 1
     """
     return CommandPack([command])