diff --git a/python/check_lock.py b/python/check_lock.py index b3da071..16803c6 100644 --- a/python/check_lock.py +++ b/python/check_lock.py @@ -1,3 +1,7 @@ +from __future__ import division +from __future__ import print_function +from builtins import range +from past.utils import old_div from numpy import * from mce import mce @@ -8,10 +12,9 @@ m = mce() n_frames = 100 dm = m.read('rc1', 'data_mode')[0] -data = array(m.read_frames(n_frames, data_only=True)).transpose() \ - / scales[dm] +data = old_div(array(m.read_frames(n_frames, data_only=True)).transpose(), scales[dm]) for i in range(30): - print '%4i %10.2f %10.2f' % (i, data[i].mean(), data[i].std()) + print('%4i %10.2f %10.2f' % (i, data[i].mean(), data[i].std())) diff --git a/python/mcelib/pymce/__init__.py b/python/mcelib/pymce/__init__.py index 1ec1be9..3640f06 100644 --- a/python/mcelib/pymce/__init__.py +++ b/python/mcelib/pymce/__init__.py @@ -1,7 +1,8 @@ +from __future__ import absolute_import import mcelib -from basic import BasicMCE -import compat -import const +from .basic import BasicMCE +from . import compat +from . import const class MCE(BasicMCE): pass diff --git a/python/mcelib/pymce/basic.py b/python/mcelib/pymce/basic.py index 7e26b84..25f35f2 100644 --- a/python/mcelib/pymce/basic.py +++ b/python/mcelib/pymce/basic.py @@ -1,5 +1,13 @@ +from __future__ import division +from __future__ import print_function +from __future__ import absolute_import +from builtins import str +from builtins import zip +from builtins import range +from past.utils import old_div +from builtins import object import mcelib -import const +from . import const import numpy @@ -8,7 +16,7 @@ except: mce_data = None -class BasicMCE: +class BasicMCE(object): """ Minimal connection to the MCE library. @@ -68,7 +76,7 @@ def card_list(self, cards): if isinstance(cards, str): _card = const.RC_CODES.get(cards.lower(), None) if _card == None: - print "Could not parse card string '%s'"%_card + print("Could not parse card string '%s'"%_card) return None if _card == -1: cards = [i+1 for i in range(len(const.RCS_BITS))] @@ -82,8 +90,8 @@ def card_list(self, cards): (sum([(c<=0) or (c>const.MAX_RC) for c in cards]) == 0) and \ (sum([cards[i]-cards[i-1]<=0 for i in range(1,len(cards))]) == 0) if not ok: - print "Could not decode cards argument", cards_in - print "... got as far as ", cards + print("Could not decode cards argument", cards_in) + print("... got as far as ", cards) return None return cards @@ -91,7 +99,7 @@ def read_raw(self, count, cards=None, n_rows=None): # Decode cards list -- ends up as a list of card numbers [1,2] cards = self.card_list(cards) if cards == None: - raise ValueError, "Invalid card list %s" % str(cards) + raise ValueError("Invalid card list %s" % str(cards)) frame_size = self.frame_size(cards, n_rows) card_code = sum([1<<(c-1) for c in cards]) # Create array, read. @@ -114,8 +122,8 @@ def read_data(self, count=1, cards=None, fields=None, extract=False, return None # To go any further we need mce_data if mce_data == None: - raise RuntimeError, "mce_data module is required to process data "\ - "(pass raw_frames=True to suppress)." + raise RuntimeError("mce_data module is required to process data "\ + "(pass raw_frames=True to suppress).") d.fast_axis = 'dets' # Before _GetPayloadInfo(), populate self.header using info @@ -140,7 +148,7 @@ def read_data(self, count=1, cards=None, fields=None, extract=False, d.data.shape = (d.n_rows, d.n_cols*d.n_rc, -1) d.fast_axis = 'time' if fields != None: - d.data = dict(zip(fields, d.extract(fields, unfilter=unfilter))) + d.data = dict(list(zip(fields, d.extract(fields, unfilter=unfilter)))) return d def lock_query(self): @@ -188,7 +196,7 @@ def extract(self, field, unfilter=False): ftype = self.mce.read('rc1', 'fltr_type')[0] fpara = self.mce.read('rc1', 'fltr_coeff') filt = mce_data.MCEButterworth.from_params(ftype, fpara) - return data / filt.gain() + return old_div(data, filt.gain()) return data # Replace _rfMCEParam, and load stuff right from the MCE diff --git a/python/mcelib/test/_test.py b/python/mcelib/test/_test.py index e2843e3..1c0f0bd 100644 --- a/python/mcelib/test/_test.py +++ b/python/mcelib/test/_test.py @@ -1,4 +1,6 @@ +from __future__ import print_function # Use this tree's build by default! +from builtins import object import sys sys.path.insert(1, '../build/lib.linux-i686-2.6') @@ -6,13 +8,13 @@ import os err = os.system('make -q -C ..') if err != 0: - print '.. is out of date! make?' - print + print('.. is out of date! make?') + print() # Utility: import time -class timer: +class timer(object): def __init__(self): self.t0 = time.time() def get(self): diff --git a/python/mcelib/test/test_basic.py b/python/mcelib/test/test_basic.py index fe3adb7..da59b68 100644 --- a/python/mcelib/test/test_basic.py +++ b/python/mcelib/test/test_basic.py @@ -1,3 +1,4 @@ +from __future__ import print_function import sys sys.path.append('../build/lib.linux-i686-2.6') @@ -11,16 +12,16 @@ "RCS", 2] -print "These should work:" +print("These should work:") for c in card_args: - print " Decoding %s to:" % repr(c) - print " ", mce.card_list(c) + print(" Decoding %s to:" % repr(c)) + print(" ", mce.card_list(c)) -print "These should not work:" +print("These should not work:") for c in [[3,1], 'sdfa']: - print " Decoding %s to:" % repr(c) - print " ", mce.card_list(c) + print(" Decoding %s to:" % repr(c)) + print(" ", mce.card_list(c)) data = mce.read_raw(10) -print data[:,5] +print(data[:,5]) diff --git a/python/mcelib/test/test_data.py b/python/mcelib/test/test_data.py index fa05571..6b25306 100644 --- a/python/mcelib/test/test_data.py +++ b/python/mcelib/test/test_data.py @@ -1,28 +1,29 @@ +from __future__ import print_function import _test from pymce import MCE mce = MCE() -print 'Basic read' +print('Basic read') data = mce.read_raw(10) -print ' ARZ: ', data[:,5] -print +print(' ARZ: ', data[:,5]) +print() -print 'Frame data object' +print('Frame data object') data = mce.read_data(10) -print data.data.shape -print +print(data.data.shape) +print() -print 'Rectangle extract' +print('Rectangle extract') data = mce.read_data(10, extract=True) -print data.data.shape -print +print(data.data.shape) +print() -print 'Row-col form' +print('Row-col form') data = mce.read_data(10, row_col=True) -print data.data.shape -print +print(data.data.shape) +print() -print 'Invalid read?' +print('Invalid read?') data = mce.read_data(10, cards=[1,3]) -print ' We got None: ', data==None +print(' We got None: ', data==None) diff --git a/python/mcelib/test/test_lib.py b/python/mcelib/test/test_lib.py index 2d15056..4f23f42 100644 --- a/python/mcelib/test/test_lib.py +++ b/python/mcelib/test/test_lib.py @@ -1,37 +1,41 @@ """ Low-level library connection demonstration. """ +from __future__ import division +from __future__ import print_function +from builtins import range +from past.utils import old_div import _test from pymce import mcelib -print 'Connecting...' +print('Connecting...') m = mcelib.connect() -print ' ', m -print -print 'write...' +print(' ', m) +print() +print('write...') mcelib.write(m, "cc", "led", 0, [7]) -print +print() -print 'read...' -print ' %x' % mcelib.read(m, "cc", "fw_rev", 0, -1)[0] -print +print('read...') +print(' %x' % mcelib.read(m, "cc", "fw_rev", 0, -1)[0]) +print() -print 'write invalid command' -print ' should return False; returns: ', mcelib.write(m, 'cc', 'ledx', 0, [7]) -print +print('write invalid command') +print(' should return False; returns: ', mcelib.write(m, 'cc', 'ledx', 0, [7])) +print() -print 'data...' +print('data...') import numpy z = numpy.zeros(10000, 'int32') mcelib.read_data(m, 1, 1, z) -print ' %x' % z[0] +print(' %x' % z[0]) -print 'command timing' +print('command timing') N = 10000 t = _test.timer() for i in range(N): mcelib.write(m, 'cc', 'led', 0, [7]) -print ' write rate: ', (N/t.get()) +print(' write rate: ', (old_div(N,t.get()))) diff --git a/python/noise_setup.py b/python/noise_setup.py index 3acac1e..c63a360 100644 --- a/python/noise_setup.py +++ b/python/noise_setup.py @@ -1,3 +1,7 @@ +from __future__ import division +from __future__ import print_function +from builtins import range +from past.utils import old_div import mce from numpy import * @@ -112,7 +116,7 @@ def freeze_servo(self, row=0, n_frames=10, degain=False): # Mod out the flux quantum q = self.flux_quanta[row] if degain: - data += q/2 + data += old_div(q,2) data = (data % q + q) % q # Prepare adc_offset new_adc = zeros(self.adc_offsets.shape) @@ -138,7 +142,7 @@ def one_row(self): o.add_option('--no-status', action='store_true') opts, args = o.parse_args() m = xmce(load_status=not opts.no_status) - print 'm is your object.' + print('m is your object.') if opts.no_status: - print 'run m._load_status() before using.' + print('run m._load_status() before using.') diff --git a/python/servo.py b/python/servo.py index c6f8134..1931ea5 100644 --- a/python/servo.py +++ b/python/servo.py @@ -1,6 +1,12 @@ +from __future__ import division +from __future__ import print_function +from builtins import zip +from builtins import range +from past.utils import old_div +from builtins import object from mce import * -class Ramp: +class Ramp(object): def __init__(self, this_mce, card, param, param_offset=0, param_count=8, start = 0, count = 1, step = 0. ): self.card = card @@ -29,7 +35,7 @@ def WriteNext(self): self.i = self.i + 1 return True -class MCEStage: +class MCEStage(object): SQ1_fb = 1 SQ2_fb = 2 SA_fb = 3 @@ -48,7 +54,7 @@ def __str__(self): -class ColumnServo: +class ColumnServo(object): """ Class for servoing MCE parameters on a per-column basis. Class handles frame acquisition and manipulation of SA, SQ2, or SQ1 @@ -81,7 +87,7 @@ def __init__(self, this_mce, stage, gain=0.1, gain_set=None, columns=None, raise ServoException('len(gain_list) != n_columns') # Get rcs based on columns - rcs = [ i for i in range(4) if [ c/8 for c in self.columns ].count(i) > 0 ] + rcs = [ i for i in range(4) if [ old_div(c,8) for c in self.columns ].count(i) > 0 ] if len(rcs) > 1: self.channel_set = ChannelSet('rcs') else: @@ -116,7 +122,7 @@ def Servo(self): return self.ServoStep() while self.ServoStep(update_ramp=True): - print self.ramp.i + print(self.ramp.i) def ServoStep(self, update_ramp=True, write_values=True, read_data=True): done = True @@ -132,7 +138,7 @@ def ServoStep(self, update_ramp=True, write_values=True, read_data=True): for (c,d) in zip(self.columns, d): self.values[c] += int(self.gain*d) - print self.values + print(self.values) if write_values: self.mce.write(self.card, self.param, self.values) @@ -142,7 +148,7 @@ def ServoStep(self, update_ramp=True, write_values=True, read_data=True): m = mce() r = Ramp(m, 'sq2', 'fb', param_offset=8, param_count=8, start = 0, count = 400, step = 160) -s = ColumnServo(m, MCEStage.SA_fb, columns = range(8,16), +s = ColumnServo(m, MCEStage.SA_fb, columns = list(range(8,16)), ramp = r) s.Start() diff --git a/swig/chan.py b/swig/chan.py index 307a0dd..1e9defd 100644 --- a/swig/chan.py +++ b/swig/chan.py @@ -2,6 +2,8 @@ # Some code based on embedding_in_ex.py by Jeremy O'Donoghue +from __future__ import print_function +from builtins import str import wx import mce from mceViewport import * @@ -73,7 +75,7 @@ def Go(self, even): p = ca.acq(col, row, n_frames) trim = int(self.trim.GetValue()) - print "Trim is %i" % trim + print("Trim is %i" % trim) if trim > 0: p.x_limits = (0, trim) else: @@ -83,7 +85,7 @@ def Go(self, even): self.viewport.Update(p) def Destroy(self, force=False): - print 'Caught!' + print('Caught!') self.fig.Close(force) wx.Frame.Destroy(self, force) diff --git a/swig/ex.py b/swig/ex.py index d5903b1..62043e2 100644 --- a/swig/ex.py +++ b/swig/ex.py @@ -4,6 +4,8 @@ # communicate.py +from __future__ import print_function +from builtins import str import wx from mceViewport import * from mce_acquisitions import * @@ -127,7 +129,7 @@ def __init__(self, parent, id, title, mce): self.target.Show() def Destroy(self, force=False): - print 'Caught!' + print('Caught!') self.fig.Close(force) wx.Frame.Destroy(self, force) diff --git a/swig/interservo.py b/swig/interservo.py index a5c7dcd..dfbfc8d 100644 --- a/swig/interservo.py +++ b/swig/interservo.py @@ -1,12 +1,19 @@ +from __future__ import division +from __future__ import print_function +from future import standard_library +standard_library.install_aliases() +from builtins import zip +from builtins import range +from past.utils import old_div from mce import * from mce_runfile import * from glob import glob -import sys, commands +import sys, subprocess from numpy import * def expt_param(key, dtype=None): src = '/data/cryo/current_data/experiment.cfg' - line = commands.getoutput('mas_param -s %s get %s' % (src, key)) + line = subprocess.getoutput('mas_param -s %s get %s' % (src, key)) s = line.split(' ') if dtype == None or dtype == 'string': return s @@ -14,7 +21,7 @@ def expt_param(key, dtype=None): return [ int(ss) for ss in s if ss != ''] if dtype == 'float': return [ float(ss) for ss in s if ss != ''] - raise ValueError, 'can\'t handle dtype=\'%s\' '%dtype + raise ValueError('can\'t handle dtype=\'%s\' '%dtype) def reservo(m, param, gains=None, rows=None, steps=10): @@ -29,7 +36,7 @@ def reservo(m, param, gains=None, rows=None, steps=10): dx = [g*d for d,g in zip(dy, gains)] x = m.read(param[0], param[1]) x_new = [int(a+b) for (a,b) in zip(x,dx)] - print x_new + print(x_new) m.write(param[0], param[1], x_new) done = True @@ -54,7 +61,7 @@ def get_historical_offset(folder, stage='ssa', rows=None): def write_adc_offset(m, ofs, fill=True, n_rows=33): for c in range(32): - m.write('rc%i'%((c/8)+1), 'adc_offset%i'%(c%8), [ofs[c]]*41) + m.write('rc%i'%((old_div(c,8))+1), 'adc_offset%i'%(c%8), [ofs[c]]*41) def get_line(m, rows=None): @@ -82,7 +89,7 @@ def four_to_32(four): """ % sys.argv[0] if len(sys.argv)!=3: - print usage + print(usage) sys.exit(1) stage = sys.argv[1] @@ -118,11 +125,11 @@ def four_to_32(four): err = [ get_line(m, rows) for i in range(n_check)] err = array(err) - print 'Initial error (%i): %10.2f' % (n_check, mean(abs(mean(err,axis=0)))) + print('Initial error (%i): %10.2f' % (n_check, mean(abs(mean(err,axis=0))))) - print 'Servoing \'%s %s\' for %i steps...' % (param[0],param[1],n_servo) + print('Servoing \'%s %s\' for %i steps...' % (param[0],param[1],n_servo)) for i in range(n_servo): reservo(m, param, gains=gains) err = array([ get_line(m, rows) for i in range(n_check)]) - print 'Final error (%i): %10.2f' % (n_check, mean(abs(mean(err,axis=0)))) + print('Final error (%i): %10.2f' % (n_check, mean(abs(mean(err,axis=0))))) diff --git a/swig/mce.py b/swig/mce.py index 3ebdb93..3da5b51 100644 --- a/swig/mce.py +++ b/swig/mce.py @@ -1,8 +1,13 @@ +from __future__ import division +from __future__ import print_function # mce.py # vim: ts=4 sw=4 et # This module exposes mce_context_t as an mce object. +from builtins import range +from builtins import object +from past.utils import old_div import os import subprocess from mce_library import * @@ -25,7 +30,7 @@ def __init__(self, value): def __str__(self): return repr(self.value) -class ChannelSet: +class ChannelSet(object): """ Defines a set of channels and offers information to Mce class on how to acquire them. @@ -37,20 +42,20 @@ def __init__(self, rc='', rcs_cards=0xf): self.has_list = False self.channel_list = [[],[]] - self.rows = range(41) + self.rows = list(range(41)) if rc != '': self.columns = self.columns_from_cards(self.cards_from_list([ rc ])) else: - self.columns = range(32) + self.columns = list(range(32)) def cards_span(self): """ Returns card_bits for acq necessary to acquire the ChannelSet channels. """ - max_card = max(self.columns)/8 - min_card = min(self.columns)/8 + max_card = old_div(max(self.columns),8) + min_card = old_div(min(self.columns),8) if max_card != min_card: return self.cards_from_list(['rcs']) return self.cards_from_list([ 'rc%i' % (max_card+1) ]) @@ -87,7 +92,7 @@ def cards_from_list(self, card_list): elif c == "rc3": cards |= 0x4 elif c == "rc4": cards |= 0x8 else: - raise ParamError, 'Unknown card ' + cc + raise ParamError('Unknown card ' + cc) return cards def columns_from_cards(self, cards): @@ -96,13 +101,13 @@ def columns_from_cards(self, cards): """ c = [] if cards & 0x1: - c.extend(range(0,8)) + c.extend(list(range(0,8))) if cards & 0x2: - c.extend(range(8,16)) + c.extend(list(range(8,16))) if cards & 0x4: - c.extend(range(16,24)) + c.extend(list(range(16,24))) if cards & 0x8: - c.extend(range(24,32)) + c.extend(list(range(24,32))) return c def extract_channels(self, data): @@ -123,7 +128,7 @@ def item(self, index): if self.has_list: return self.channel_list[index] else: - return [ self.columns[index / len(self.rows)], + return [ self.columns[old_div(index, len(self.rows))], self.rows[index % len(self.rows)] ] def frame_indices(self): @@ -142,7 +147,7 @@ def frame_indices(self): (r - rs[0])*(cs[1] - cs[0] + 1) + c - cs[0] for r in self.rows for c in self.columns ] -class mce: +class mce(object): """ Object representing an MCE. """ @@ -179,7 +184,7 @@ def lookup(self, card, para): p = mce_param_t() err = mcecmd_load_param(self.context, p, card, para) if err != 0: - raise ParamError, mcelib_error_string(err) + raise ParamError(mcelib_error_string(err)) return p def read(self, card, para, count=-1, offset=0, array=True): @@ -194,7 +199,7 @@ def read(self, card, para, count=-1, offset=0, array=True): err = mcecmd_read_range(self.context, p, offset, \ u32_from_int_p(d.cast()), count) if (err != 0): - raise MCEError, mcelib_error_string(err) + raise MCEError(mcelib_error_string(err)) if array == False: return d[0] @@ -206,7 +211,7 @@ def write(self, card, para, data, offset=0): count = len(data) if count > p.param.count - offset: - raise ParamError, "Count is too big for parameter." + raise ParamError("Count is too big for parameter.") d = intarray(count) for i in range(count): d[i] = data[i] @@ -214,18 +219,18 @@ def write(self, card, para, data, offset=0): err = mcecmd_write_range(self.context, p, offset, u32_from_int_p(d.cast()), count) if err != 0: - raise MCEError, mcelib_error_string(err) + raise MCEError(mcelib_error_string(err)) def reset(self, dsp_reset=False, mce_reset=True): if mce_reset: error = mcecmd_hardware_reset(self.context) if error != 0: - raise MCEError, "Hardware reset: " + mcelib_error_string(err) + raise MCEError("Hardware reset: " + mcelib_error_string(err)) if dsp_reset: error = mcecmd_interface_reset(self.context) if error != 0: - raise MCEError, "PCI card reset: " + mcelib_error_string(err) + raise MCEError("PCI card reset: " + mcelib_error_string(err)) def card_count(self, cards): return (cards & 0x1 != 0) + (cards & 0x2 != 0) + \ (cards & 0x4 != 0) + (cards & 0x8 != 0) @@ -233,7 +238,7 @@ def card_count(self, cards): def read_frames(self, count, channel_set=False, data_only=False): # Channel_sets aren't supported yet; they need to be smarter. if channel_set != False: - print 'Sorry, channel_set=False only!' + print('Sorry, channel_set=False only!') return None else: try: @@ -243,13 +248,13 @@ def read_frames(self, count, channel_set=False, data_only=False): if rc & (1 << bits): cards |= (1 << i) except: - print 'Could not query rcs_to_report_data register.' + print('Could not query rcs_to_report_data register.') cards = 0xf channel_set = ChannelSet(rcs_cards=cards) n_cols = 8*self.card_count(cards) num_rows_rep = self.read('cc', 'num_rows_reported', array=False) - channel_set.rows = range(num_rows_rep) - channel_set.columns = range(n_cols) + channel_set.rows = list(range(num_rows_rep)) + channel_set.columns = list(range(n_cols)) indices = channel_set.frame_indices() n_extra = 44 @@ -287,7 +292,7 @@ def read_channel(self, count=1, channel_set=False): index = channel_set.frame_indices() if (len(index) != 1): - print 'ChannelSet must have exactly one channel!' + print('ChannelSet must have exactly one channel!') return -1 # Calculate index of target data diff --git a/swig/mceViewport.py b/swig/mceViewport.py index 41db7b8..649e3ee 100644 --- a/swig/mceViewport.py +++ b/swig/mceViewport.py @@ -1,3 +1,6 @@ +from __future__ import print_function +from builtins import range +from builtins import object import wx import matplotlib @@ -7,7 +10,7 @@ FigureManager from matplotlib.figure import Figure -class mcePlotInput: +class mcePlotInput(object): """ Structure to contain MCE data for the purposes of plotting. """ @@ -57,7 +60,7 @@ def GetToolBar(self): def Update(self, mce_data): y = mce_data.y - x = range(len(y)) + x = list(range(len(y))) ll = self.axes.lines if len(ll) > 0: del ll[0] @@ -65,7 +68,7 @@ def Update(self, mce_data): self.axes.plot(x, y) if mce_data.x_limits != None: - print 'Setting x-lims to', mce_data.x_limits + print('Setting x-lims to', mce_data.x_limits) self.axes.set_xlim(mce_data.x_limits) self.axes.set_title(mce_data.name) diff --git a/swig/mce_acquisitions.py b/swig/mce_acquisitions.py index c99aae5..8d867d6 100644 --- a/swig/mce_acquisitions.py +++ b/swig/mce_acquisitions.py @@ -1,10 +1,14 @@ +from __future__ import division +from builtins import range +from past.utils import old_div +from builtins import object from mce import ChannelSet from mceViewport import mcePlotInput from numarray import * from numarray.fft import * -class mceChannelAcq: +class mceChannelAcq(object): def __init__(self, mce): self.mce = mce @@ -23,7 +27,7 @@ def acq(self, col, row, n_frames): return pi -class mceChannelSetAcq: +class mceChannelSetAcq(object): def __init__(self, mce): self.mce = mce @@ -39,7 +43,7 @@ def acq(self, channel_set, n_frames): return pi -class mceColumnAcq: +class mceColumnAcq(object): def __init__(self, mce): self.mce = mce @@ -58,7 +62,7 @@ def acq(self, col, n_frames): return pi -class mceColumnCorrAcq: +class mceColumnCorrAcq(object): def __init__(self, mce): self.mce = mce @@ -80,7 +84,7 @@ def acq(self, col1, col2, n_frames): f1 = fft(c1 - c1.mean()) f2 = fft(c2 - c2.mean()) cc = inverse_fft(f1*conjugate(f2)) - cc = cc / cc[0] + cc = old_div(cc, cc[0]) pi = mcePlotInput() pi.y = cc.real diff --git a/swig/test.py b/swig/test.py index 5b845c2..99ea044 100644 --- a/swig/test.py +++ b/swig/test.py @@ -1,3 +1,4 @@ +from __future__ import print_function from mce import * # from embedding_in_wx import PlotFigure @@ -6,16 +7,16 @@ #print g h = ChannelSet(rc = 'rc2') -print 'Setting rows...' +print('Setting rows...') h.rows = [1, 2, 8, 9] -print h.columns -print h.rows -print h.cards_span() -print h.data_size() -print h.acq_size() +print(h.columns) +print(h.rows) +print(h.cards_span()) +print(h.data_size()) +print(h.acq_size()) g = m.read_frame(h) -print g[1] +print(g[1]) from pylab import * diff --git a/swig/test/test_lib.py b/swig/test/test_lib.py index 9654ff9..852e153 100644 --- a/swig/test/test_lib.py +++ b/swig/test/test_lib.py @@ -1,3 +1,4 @@ +from __future__ import print_function import sys sys.path.append(sys.path[0] + '/..') @@ -13,4 +14,4 @@ d = u32array(32) mcecmd_read_block(c, p, 1, d.cast()) -print "%x" % int(d[0]) +print("%x" % int(d[0])) diff --git a/swig/test/test_mce.py b/swig/test/test_mce.py index c2e8fb8..50d08df 100644 --- a/swig/test/test_mce.py +++ b/swig/test/test_mce.py @@ -1,3 +1,5 @@ +from __future__ import print_function +from builtins import range import sys sys.path.append(sys.path[0] + '/..') @@ -5,23 +7,23 @@ m = mce() -print 'This will fail:' +print('This will fail:') try: m.read("sa", "biasf") -except ParamError, e: - print e +except ParamError as e: + print(e) -print 'This will not:' +print('This will not:') try: sa_bias = m.read("sa", "bias") except: - print "...that really should have worked." + print("...that really should have worked.") else: - print 'sa_bias = ', sa_bias + print('sa_bias = ', sa_bias) for i in range(10): m.write('sa', 'fb', [i for j in range(32)]) a = m.read_frame(data_only=True) - print i, a[0] + print(i, a[0]) -print 'done' +print('done') diff --git a/swig/xcorr.py b/swig/xcorr.py index d8a84fa..02174a5 100644 --- a/swig/xcorr.py +++ b/swig/xcorr.py @@ -2,6 +2,8 @@ # Some code based on embedding_in_ex.py by Jeremy O'Donoghue +from __future__ import print_function +from builtins import str import wx import mce from mceViewport import * @@ -74,7 +76,7 @@ def Go(self, even): p = ca.acq(col1, col2, n_frames) trim = int(self.trim.GetValue()) - print "Trim is %i" % trim + print("Trim is %i" % trim) if trim > 0: p.x_limits = (0, trim) else: @@ -84,7 +86,7 @@ def Go(self, even): self.viewport.Update(p) def Destroy(self, force=False): - print 'Caught!' + print('Caught!') self.fig.Close(force) wx.Frame.Destroy(self, force)