Example #1
0
File: app.py Project: rsmz/lut
    def run(self):
        t = lut.load(self.cli['table'])
        do_build = False
        
        if self.cli['method'] in [None, 'linear', 'cosine']:
            t.method = self.cli['method']
            do_build = True
        if self.cli['range']:
            t.range = self.cli['range']
            do_build = True
        if self.cli['size']:
            t.size = self.cli['size']
            do_build = True

        if do_build:
            t.build()
            
        if self.cli['file']:
            values = []
            with open(self.cli['file']) as f:
                strings = f.read().replace('\n', ' ').replace(',', ' ').split()
                values = [float(s) for s in strings if s] 
            
            result = t.get(values)
        else:    
            result = t.get(self.cli['value'])
            
        sys.stdout.write(str(result) + '\n')
        
        return 0
Example #2
0
File: test_lut.py Project: rsmz/lut
 def test_load(self):
     d = {
         "range": [10, 20],
         "size": 100,
         "table": [
             [0,   150],
             [0.5, 200],
             [1,   234]
         ]
     }
     
     t = lut.load(d)
     
     self.assertTrue(100 <= t.size)
     self.assertEqual([10, 20], t.range)
     self.assertEqual(234, t.get(20))
Example #3
0
File: test_lut.py Project: rsmz/lut
    def test_loadf(self):
        s = '''{
            "range": [10, 20],
            "size": 100,
            "table": [
                [0,   150],
                [0.5, 200],
                [1,   234]
            ]
        }'''
        
        fn = 'tmp.json'
        with open(fn, 'w') as f:
            f.write(s)
        
        t = lut.load(fn)
        
        self.assertTrue(100 <= t.size)
        self.assertEqual([10, 20], t.range)
        self.assertEqual(234, t.get(20))
 
        import os
        if os.path.exists(fn):
            os.remove(fn)