diff --git a/pykat/SIfloat.py b/pykat/SIfloat.py index cac016f0623c82601cb7b6c072cb0e3c5b56b010..aa65c9ec2313f68deb721d7508182e61368c5937 100644 --- a/pykat/SIfloat.py +++ b/pykat/SIfloat.py @@ -1,3 +1,8 @@ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals + import os import re import pykat.exceptions as pkex diff --git a/pykat/colours.py b/pykat/colours.py index cc65b2f77c41b757c5de407ecd8b7f8ca6315b86..94291cd35ad1ff93bbaac365fe6ca089161ecea6 100644 --- a/pykat/colours.py +++ b/pykat/colours.py @@ -4,6 +4,10 @@ Created on Mon Jan 28 10:43:18 2013 @author: Daniel """ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals class colours: HEADER = '\033[95m' @@ -19,4 +23,4 @@ class colours: self.OKGREEN = '' self.WARNING = '' self.FAIL = '' - self.ENDC = '' \ No newline at end of file + self.ENDC = '' diff --git a/pykat/commands.py b/pykat/commands.py index 6f0f1c89dfb111a55d78e3efcda25923b305dc4a..e770408a801d4fbc70c57be0870fc5d7e7dbbc66 100644 --- a/pykat/commands.py +++ b/pykat/commands.py @@ -4,11 +4,19 @@ Created on Mon Jan 28 11:58:09 2013 @author: Daniel """ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals + import numpy from numpy import min,max -import exceptions -from components import * -from structs import * +import pykat.external.six as six +if six.PY2: + import exceptions +from pykat.components import * +from pykat.structs import * + from pykat.param import Param, putter import pykat.exceptions as pkex from collections import namedtuple diff --git a/pykat/components.py b/pykat/components.py index fa2e91503c8a55ace8be17ce009c270095c15354..de6b365aa9632589b31f9ebde1fedb82abbf7d3e 100644 --- a/pykat/components.py +++ b/pykat/components.py @@ -4,7 +4,18 @@ Created on Mon Jan 28 11:10:01 2013 @author: Daniel """ -import exceptions +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals + +from pykat import USE_GUI, HAS_OPTIVIS, NoGUIException + +import pykat.external.six as six + +if six.PY2: + import exceptions + import pykat.exceptions as pkex import pykat from pykat.node_network import * diff --git a/pykat/detectors.py b/pykat/detectors.py index 1726b30f8b97f59ed27f9e002c06dac41c95179d..31bf62cb7e9fbe176c7d7b62d109bf4c58bdd336 100644 --- a/pykat/detectors.py +++ b/pykat/detectors.py @@ -4,14 +4,24 @@ Created on Fri Feb 01 0split()9:09:10 2013 @author: Daniel """ -import exceptions +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals + +import pykat.external.six as six +if six.PY2: + import exceptions + import abc from pykat.node_network import * from pykat.param import Param from pykat.SIfloat import SIfloat -import collections +import pykat.external.six as six import pykat.exceptions as pkex + +import collections import warnings import copy @@ -60,7 +70,7 @@ class BaseDetector(object) : self._alternate_beam.append(False) self._requested_nodes.append(n) - elif isinstance(nodes, str): + elif isinstance(nodes, six.string_types): # if we don't have a collection if nodes[-1]=='*': self._alternate_beam.append(True) @@ -146,7 +156,7 @@ class BaseDetector(object) : def _getScaleCmds(self, rtn): if self.scale != None: - if isinstance(self.scale, str): + if isinstance(self.scale, six.string_types): rtn.append("scale {1} {0}".format(self.name, self.scale)) elif isinstance(self.scale, (list, tuple)): for s in self.scale: @@ -372,9 +382,11 @@ class pd(Detector1): fs = [self.__f1, self.__f2, self.__f3, self.__f4, self.__f5] ps = [self.__phi1, self.__phi2, self.__phi3, self.__phi4, self.__phi5] - + + print("-------------------------------------------------------") for i in range(num_demods): f = 'f{0}'.format(i+1) + print("i {0} fs {1} f {2} keys {3}".format(i,len(fs),f, kwargs.keys())) if f in kwargs: fs[i].value = kwargs[f] @@ -434,7 +446,7 @@ class pd(Detector1): # check if we are setting no phase that this is only on the last # demodulation phase. raise pkex.BasePyKatException("Only last demodulation phase can be set to None") - elif isinstance(value, str) and not isinstance(value,float) and value.lower() != "max": + elif isinstance(value, six.string_types) and not isinstance(value,float) and value.lower() != "max": raise pkex.BasePyKatException("Demodulation phase can only be set to a 'max' or a number (or None if the last demodulation phase)") setattr(self, '_'+ self.__class__.__name__ +'__phi' + num, value) @@ -878,4 +890,4 @@ class qhd(Detector2): for p in self._params: rtn.extend(p.getFinesseText()) - return rtn \ No newline at end of file + return rtn diff --git a/pykat/exceptions.py b/pykat/exceptions.py index c1f620be084d1e200c3f0c14a8edafc77e565ccf..1382809d9777529702e0030a1e9e78e30eba5fce 100644 --- a/pykat/exceptions.py +++ b/pykat/exceptions.py @@ -1,4 +1,11 @@ -import exceptions +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals + +import pykat.external.six as six +if six.PY2: + import exceptions import os class BasePyKatException(Exception): diff --git a/pykat/finesse.py b/pykat/finesse.py index 573fcccac792797e1c5f997fe247ccc84fdd69a3..0551f59a899608a7aebc963782a756a9a248037c 100644 --- a/pykat/finesse.py +++ b/pykat/finesse.py @@ -23,6 +23,11 @@ Contact at ddb@star.sr.bham.ac.uk @author: Daniel Brown """ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals + import sys import os import subprocess @@ -50,6 +55,8 @@ from pykat.commands import Command, xaxis from pykat.SIfloat import * from pykat.param import Param, AttrParam +import pykat.external.six as six + import pykat.exceptions as pkex from pykat import USE_GUI, NoGUIException @@ -737,7 +744,7 @@ class kat(object): # manually add the line to the block contents self.__blocks[self.__currentTag].contents.append(line) - if obj != None and not isinstance(obj, str): + if obj != None and not isinstance(obj, six.string_types): if self.hasNamedObject(obj.name): getattr(self, obj.name).remove() print "Removed existing object '{0}' of type {1} to add line '{2}'".format(obj.name, obj.__class__, line) @@ -1049,13 +1056,14 @@ class kat(object): r.xlabel = hdr[0] r.ylabel = hdr[1] - r.zlabels = map(str.strip, hdr[2:]) - + r.zlabels = [s.strip for s in hdr[2:]] + #r.zlabels = map(str.strip, hdr[2:]) else: [r.x,r.y,hdr] = self.readOutFile(outfile) r.xlabel = hdr[0] - r.ylabels = map(str.strip, hdr[1:]) + r.ylabels = [s.strip for s in hdr[1:]] + #r.ylabels = map(str.strip, hdr[1:]) // replaced 090415 adf if save_kat: if kat_name == None: @@ -1271,7 +1279,7 @@ class kat(object): for key in self.__blocks: objs = self.__blocks[key].contents for obj in objs: - if isinstance(obj, str): + if isinstance(obj, six.string_types): if fragment in obj: print " ** removing line '{0}'".format(obj) objs.remove(obj) @@ -1284,13 +1292,33 @@ class kat(object): pykat object that create similar commands so becareful. """ self.__blocks[block].contents.append(line) + + def printExtraLines(self): + """ + This prints all the Finesse commands that have not been parsed + into pykat objects. This should be used for reference only. To + add or remove extra lines use the addLine and removeLine methods. + """ + found = False + + for key in self.__blocks: + objs = self.__blocks[key].contents + for obj in objs: + if isinstance(obj, six.string_types): + print(obj) + found = True + + if not found: + print("No extra lines were found") + +>>>>>>> starting cnversion to pykat2 and 3 compatibility def generateKatScript(self) : """ Generates the kat file which can then be run """ def writeBlock(): for obj in objs: - if isinstance(obj, str): + if isinstance(obj, six.string_types): out.append(obj + '\n') elif isinstance(obj, Component) or isinstance(obj, Detector) or isinstance(obj, Command): @@ -1364,7 +1392,7 @@ class kat(object): out.append("vacuum {0}\n".format(" ".join(objs))) - elif isinstance(self.vacuum, str): + elif isinstance(self.vacuum, six.string_types): out.append("vacuum {0}\n".format(self.vacuum)) else: pkex.BasePyKatException("Couldn't understand vacuum input list") diff --git a/pykat/node_network.py b/pykat/node_network.py index d35f45f7723130e0cc8502145049304833ca86f7..ae543e2444da93cdaf64948cec36eb9c1c7a9744 100644 --- a/pykat/node_network.py +++ b/pykat/node_network.py @@ -4,6 +4,10 @@ Created on Sun Jan 27 10:02:41 2013 @author: Daniel """ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals from pykat import USE_GUI, NoGUIException diff --git a/pykat/param.py b/pykat/param.py index 31fe7c36839d30d32e0db1946062aa94ceda8d8e..785092a41672f0876480c1008bf25bb034647647 100644 --- a/pykat/param.py +++ b/pykat/param.py @@ -1,3 +1,8 @@ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals + import abc import pykat.exceptions as pkex import weakref diff --git a/pykat/plotting.py b/pykat/plotting.py index 10e6cc1a7ba9a1662c2743962778d1fe06e56bcf..7abd88cfdc0eeb6ef4a60a561b08202b21bb9ebf 100644 --- a/pykat/plotting.py +++ b/pykat/plotting.py @@ -4,6 +4,10 @@ Created on Sat Feb 02 10:35:04 2013 @author: Daniel """ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals import numpy as np import matplotlib @@ -80,4 +84,4 @@ class pp(): # for Palatino and other serif fonts use: #font = {'family':'serif','serif':['Palatino']} SCREEN_TITLE = True # show title on screen? - PRINT_TITLE = False # show title in saved file? \ No newline at end of file + PRINT_TITLE = False # show title in saved file? diff --git a/pykat/profiling.py b/pykat/profiling.py index c6302a2f3d9e8b857fd30ce9f5c96083af92bdf2..4d1a7b9fdc9ae9a6fc761634ea7813a95b411bff 100644 --- a/pykat/profiling.py +++ b/pykat/profiling.py @@ -1,3 +1,8 @@ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals + import numpy as np import pylab as pl @@ -24,4 +29,4 @@ def plotReducedPerformanceData(perfdata, ordered=False): pl.xlabel("Time [s]") pl.title("Timing data for FINESSE") - return labels, times, fig \ No newline at end of file + return labels, times, fig diff --git a/pykat/structs.py b/pykat/structs.py index d8838afbf36f703861cf719d2926e953707e75bd..90c5fb844fa656bd4ad7e59bcc4caed3c0b213ce 100644 --- a/pykat/structs.py +++ b/pykat/structs.py @@ -4,7 +4,11 @@ Created on Mon Jan 28 12:00:29 2013 @author: Daniel """ +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals class Scale: linear = 'lin' - logarithmic = 'log' \ No newline at end of file + logarithmic = 'log'