Beispiel #1
0
    def test_attributesetting(self):
        c = ConfigThing()
        try:  #TODO this isn't the "proper" way to do this test
            c.a = 4,  #shoudl fail]
            self.fail('Should have raised an Assertion Error')
        except AttributeError:
            pass

        c.register('a', [])
        c.a.append(3)  #should succeed
Beispiel #2
0
def parse_obslog(file):
    with open(file, 'r') as f:
        lines = f.readlines()

    ret = []
    for l in lines:
        ct = ConfigThing(json.loads(l).items())
        ct.register('utc',
                    datetime.strptime(ct.utc, "%Y%m%d%H%M%S"),
                    update=True)
        ret.append(ct)
    return ret
Beispiel #3
0
 def test_get(self):
     c = ConfigThing().registerfromkvlist(
         (('a', 1), ('b.c.d', 3), ('b.c.c', 2), ('b.d', 0)), namespace='')
     self.assertEqual(c.get('a'), 1)
     self.assertEqual(c.get('b.c.d'), 3)
     c.unregister('b.c.d')
     self.assertRaises(KeyError, c.get, 'b.c.d', inherit=False)
     self.assertEqual(c.get('b.c.d', default=50), 50)
     self.assertEqual(c.get('b.c.d', inherit=True), 0)
Beispiel #4
0
 def test_keyisvalid(self):
     c = ConfigThing()
     self.assertTrue(c.keyisvalid('a.b.c'))
     self.assertTrue(c.keyisvalid('a'))
     for r in RESERVED:
         self.assertFalse(c.keyisvalid('a.b.c' + r))
     self.assertFalse(c.keyisvalid('a.b.c.'))
     self.assertFalse(c.keyisvalid('.a'))
Beispiel #5
0
 def test_registerfromkvlist(self):
     c = ConfigThing()
     kvlist = (('a.b.c.d', 1), ('a', 2), ('b.c.d', 3))
     c.registerfromkvlist(kvlist, namespace='')
     self.assertRaises(AttributeError, lambda: c.a.b.c.d
                       )  #.a was replaced by the kv pair that followed it
     # clobbering the whole tree
     self.assertIs(c.a, 2)
     self.assertIs(c.b.c.d, 3)
     c = ConfigThing()
     c.registerfromkvlist(kvlist, 'z')
     self.assertIs(c.z.b.c.d, 3)
Beispiel #6
0
 def test_unregister(self):
     c = ConfigThing()
     c.register('foo.bar', 1, comment='a comment')
     c.unregister('foo.bar')
     self.assertRaises(KeyError, lambda: c.foo.bar)
     self.assertRaises(KeyError, lambda: c['foo.bar._c'])
Beispiel #7
0
 def test_register(self):
     c = ConfigThing()
     c.register('a.b.c.d.e', [])
     self.assertEqual(c.a.b.c.d.e, [])
     c.register('a.b.c.d.e', 4)
     self.assertEqual(c.a.b.c.d.e, [])
     c.register('a.b.c.d.e', 4, update=True)
     self.assertEqual(c.a.b.c.d.e, 4)
     c.register('foo.bar', 1, comment='a comment')
     self.assertEqual(c.comment('foo.bar'), 'a comment')
     c.register('baz', 1)
     self.assertIsNone(c.comment('baz'))
Beispiel #8
0
 def test_update(self):
     c = ConfigThing()
     self.assertRaises(KeyError, c.update, 'a', 4)
     c.register('a', 0)
     c.update('a', 4)
     self.assertEqual(c.a, 4)
Beispiel #9
0
def registersettings(cfgObj):
    cfgObj.register('beammap.sweep.imgfiledirectory', '')
    cfgObj.register('beammap.sweep.initialbeammap', '')
    cfgObj.register('beammap.sweep.roughbeammap', '')
    cfgObj.register('detector.nrow', 146)
    cfgObj.register('detector.ncol', 140)

    c = ConfigThing()
    c.register('type', 'x', allowed=('x', 'y'))
    c.register('direction', '+', allowed=('+', '-'))
    c.register('speed', 3)
    c.register('duration', 500)
    c.register('start', 1527724450)
    cfgObj.register('beammap.sweep.sweeps', [c])
Beispiel #10
0
    log = getLogger('Sweep')

    parser = argparse.ArgumentParser(
        description='MKID Beammap Analysis Utility')
    parser.add_argument('cfgfile',
                        type=str,
                        default='sweep.cfg',
                        help='Configuration file for beammap sweeps')
    parser.add_argument('-cc',
                        default=False,
                        action='store_true',
                        dest='use_cc',
                        help='run in Xcor mode')
    args = parser.parse_args()

    thisconfig = ConfigThing()
    importoldconfig(thisconfig, args.cfgfile, namespace='beammap.sweep')
    _consolidateconfig(thisconfig.beammap.sweep)
    #registersettings()

    log.info('Starting rough beammap')
    b = RoughBeammap(thisconfig)

    if args.use_cc:  #Cross correllation mode
        b.loadRoughBeammap()
        b.concatImages('x', False)
        b.concatImages('y', False)
        b.findLocWithCrossCorrelation('x')
        b.findLocWithCrossCorrelation('y')
        b.refinePeakLocs('x',
                         b.config.beammap.sweep.fittype,