diff --git a/interfaces/cython/cantera/mixmaster/CompositionFrame.py b/interfaces/cython/cantera/mixmaster/CompositionFrame.py index 8d28a5fa2..b3fbdc3b0 100644 --- a/interfaces/cython/cantera/mixmaster/CompositionFrame.py +++ b/interfaces/cython/cantera/mixmaster/CompositionFrame.py @@ -1,7 +1,13 @@ -from Tkinter import * +import sys + +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * + from Cantera import * -from SpeciesInfo import SpeciesInfo +from .SpeciesInfo import SpeciesInfo #from KineticsFrame import KineticsFrame _CUTOFF = 1.e-15 diff --git a/interfaces/cython/cantera/mixmaster/ControlPanel.py b/interfaces/cython/cantera/mixmaster/ControlPanel.py index b2dc7769c..ae7166b2e 100644 --- a/interfaces/cython/cantera/mixmaster/ControlPanel.py +++ b/interfaces/cython/cantera/mixmaster/ControlPanel.py @@ -1,11 +1,20 @@ +from __future__ import print_function + from types import * -from Tkinter import * -from ScrolledText import ScrolledText + +import sys +if sys.version_info.major == 3: + from tkinter import * + from tkinter.scrolledtext import ScrolledText +else: + from Tkinter import * + from ScrolledText import ScrolledText + #import datawindow #import filewindow def ff(): - print ' hi ' + print(' hi ') class ControlWindow(Frame): fncs = [ff]*10 @@ -90,23 +99,23 @@ class ControlWindow(Frame): return filemenu def testevent(event): - print 'event ',event.value + print('event ',event.value) -def make_menu(name, menubar, list): +def make_menu(name, menubar, lst): nc = len(name) button=Menubutton(menubar, text=name, width=nc+4, padx=3,pady=1) button.pack(side=LEFT) menu = Menu(button,tearoff=FALSE) m = menu i = 0 - for entry in list: + for entry in lst: i += 1 if entry == 'separator': menu.add_separator({}) - elif type(entry)==ListType: + elif isinstance(entry, list): for num in entry: menu.entryconfig(num,state=DISABLED) - elif type(entry[1]) != ListType: + elif not isinstance(entry[1], list): if i == 20: i = 0 submenu = Menu(button,tearoff=FALSE) @@ -143,7 +152,6 @@ def menuitem_state(button, *statelist): pass class ArgumentWindow(Toplevel): - import tkMessageBox def __init__(self, sim, **options): Toplevel.__init__(self, sim.cwin) self.resizable(FALSE,FALSE) diff --git a/interfaces/cython/cantera/mixmaster/DataFrame.py b/interfaces/cython/cantera/mixmaster/DataFrame.py index a1aa5118d..1dbfd8c19 100644 --- a/interfaces/cython/cantera/mixmaster/DataFrame.py +++ b/interfaces/cython/cantera/mixmaster/DataFrame.py @@ -1,12 +1,18 @@ -import os, math, string -from Tkinter import * +import os, math, string, sys + +if sys.version_info.major == 3: + from tkinter import * + from tkinter.filedialog import askopenfilename +else: + from Tkinter import * + from tkFileDialog import askopenfilename + from Cantera import * from Cantera.num import * from Cantera import num -from tkFileDialog import askopenfilename -from GraphFrame import Graph -from DataGraph import DataGraph, plotLimits -from ControlPanel import make_menu +from .GraphFrame import Graph +from .DataGraph import DataGraph, plotLimits +from .ControlPanel import make_menu U_LOC = 1 @@ -180,7 +186,7 @@ class DataFrame(Frame): if self.data[P_LOC,0] == 0.0: self.data[P_LOC,:] = ones(self.np,'d')*OneAtm - print 'Warning: no pressure data. P set to 1 atm.' + print('Warning: no pressure data. P set to 1 atm.') self.sc.config(cnf={'from':0,'to':self.np-1}) if self.loc.get() <= 0: diff --git a/interfaces/cython/cantera/mixmaster/DataGraph.py b/interfaces/cython/cantera/mixmaster/DataGraph.py index 2b4e76a40..ba098cd09 100644 --- a/interfaces/cython/cantera/mixmaster/DataGraph.py +++ b/interfaces/cython/cantera/mixmaster/DataGraph.py @@ -1,5 +1,10 @@ +import sys + +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * -from Tkinter import * import math from Cantera.num import * diff --git a/interfaces/cython/cantera/mixmaster/Edit.py b/interfaces/cython/cantera/mixmaster/Edit.py index d95b50aae..205856fa6 100644 --- a/interfaces/cython/cantera/mixmaster/Edit.py +++ b/interfaces/cython/cantera/mixmaster/Edit.py @@ -1,10 +1,16 @@ -from Tkinter import * +from __future__ import print_function +import sys -from ElementFrame import getElements -from utilities import handleError +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * + +from .ElementFrame import getElements +from .utilities import handleError from Cantera import * -from config import * -from SpeciesFrame import getSpecies +from .config import * +from .SpeciesFrame import getSpecies def testit(): pass @@ -25,7 +31,7 @@ class EditFrame(Frame): def __init__(self, master, app): Frame.__init__(self, master) self.mix = app.mix - print self.mix, dir(self.mix) + print(self.mix, dir(self.mix)) self.app = app self.master = master self.master.title("Cantera Mechanism Editor") @@ -76,8 +82,8 @@ class EditFrame(Frame): c, r = 0, r + 1 def getspecies(self): - print getSpecies(self.mix.speciesNames(), - self.mix.speciesNames()) + print(getSpecies(self.mix.speciesNames(), + self.mix.speciesNames())) def editSpecies(self, event=None): e = Toplevel(event.widget.master) @@ -145,7 +151,7 @@ class EditFrame(Frame): for fr in e.children.values(): for item in fr.children.values(): try: - print item.cget('selection') + print(item.cget('selection')) except: pass e.destroy() diff --git a/interfaces/cython/cantera/mixmaster/ElementFrame.py b/interfaces/cython/cantera/mixmaster/ElementFrame.py index e0c0a5ed9..9678c1598 100644 --- a/interfaces/cython/cantera/mixmaster/ElementFrame.py +++ b/interfaces/cython/cantera/mixmaster/ElementFrame.py @@ -3,9 +3,13 @@ # the selected elements # -from Tkinter import * +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * + from types import * -import tkMessageBox import string from Cantera import * @@ -140,15 +144,15 @@ class ElementPropertyFrame(Frame): sticky=W, padx=10) Label(self, - text=`el.atomicNumber`).grid(column=1, - row=n, - sticky=W, - padx=10) + text=repr(el.atomicNumber)).grid(column=1, + row=n, + sticky=W, + padx=10) Label(self, - text=`el.atomicWeight`).grid(column=2, - row=n, - sticky=W, - padx=10) + text=repr(el.atomicWeight)).grid(column=2, + row=n, + sticky=W, + padx=10) n = n + 1 @@ -179,4 +183,4 @@ def showElementProperties(ellist): if __name__ == "__main__": - print getElements() + print(getElements()) diff --git a/interfaces/cython/cantera/mixmaster/GraphFrame.py b/interfaces/cython/cantera/mixmaster/GraphFrame.py index d473cb41d..e84569a85 100644 --- a/interfaces/cython/cantera/mixmaster/GraphFrame.py +++ b/interfaces/cython/cantera/mixmaster/GraphFrame.py @@ -1,5 +1,9 @@ +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * -from Tkinter import * import math class Graph(Frame): @@ -59,8 +63,8 @@ class Graph(Frame): relief=SUNKEN,bd=1) self.canvas.create_text(4,2,text=self.maxY,anchor=NW) self.canvas.create_text(4,self.graph_h,text=self.minY,anchor=SW) - self.ml["text"] = `minX` - self.mr["text"] = `maxX` + self.ml["text"] = repr(minX) + self.mr["text"] = repr(maxX) self.canvas.pack() self.last_points = [] @@ -125,4 +129,4 @@ if __name__=='__main__': #print("finished") g.pauseWhenFinished() h.pauseWhenFinished() - print g + print(g) diff --git a/interfaces/cython/cantera/mixmaster/ImportFrame.py b/interfaces/cython/cantera/mixmaster/ImportFrame.py index 6208aa197..904508705 100644 --- a/interfaces/cython/cantera/mixmaster/ImportFrame.py +++ b/interfaces/cython/cantera/mixmaster/ImportFrame.py @@ -1,8 +1,14 @@ -import os, math -from Tkinter import * +import os, math,sys + +if sys.version_info.major == 3: + from tkinter import * + from tkinter.filedialog import askopenfilename +else: + from Tkinter import * + from tkFileDialog import askopenfilename + from Cantera import * #from Cantera.ck2ctml import ck2ctml -from tkFileDialog import askopenfilename class ImportFrame(Frame): def __init__(self,top): @@ -84,7 +90,7 @@ class ImportFrame(Frame): else: nm = ff outfile = p+os.sep+nm+'.xml' try: - print 'not supported.' + print('not supported.') #ck2ctml(infile = ckfile, thermo = thermdb, # transport = trandb, outfile = outfile, # id = nm) @@ -92,7 +98,7 @@ class ImportFrame(Frame): return except: - print 'Errors were encountered. See log file ck2ctml.log' + print('Errors were encountered. See log file ck2ctml.log') self.hide() return diff --git a/interfaces/cython/cantera/mixmaster/KineticsFrame.py b/interfaces/cython/cantera/mixmaster/KineticsFrame.py index 80728b72d..40a777426 100644 --- a/interfaces/cython/cantera/mixmaster/KineticsFrame.py +++ b/interfaces/cython/cantera/mixmaster/KineticsFrame.py @@ -1,8 +1,15 @@ -import os, math -from Tkinter import * +from __future__ import print_function + +import os, math, sys + +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * + from Cantera import * -from SpeciesInfo import SpeciesInfo +from .SpeciesInfo import SpeciesInfo from Cantera import rxnpath import webbrowser @@ -241,7 +248,7 @@ class ReactionKineticsFrame(Frame): def show(self,e=None,b=None,c=None): v = self.vis.get() - print e,b,c + print(e,b,c) #if v == 0: # self.hide() # return diff --git a/interfaces/cython/cantera/mixmaster/MechManager.py b/interfaces/cython/cantera/mixmaster/MechManager.py index 7a1843f0c..9e0135100 100644 --- a/interfaces/cython/cantera/mixmaster/MechManager.py +++ b/interfaces/cython/cantera/mixmaster/MechManager.py @@ -1,7 +1,13 @@ from Cantera import * -from Tkinter import * -from ControlPanel import ControlWindow -from ControlPanel import make_menu, menuitem_state + +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * + +from .ControlPanel import ControlWindow +from .ControlPanel import make_menu, menuitem_state #from Cantera.Examples.Tk import _mechdir import os diff --git a/interfaces/cython/cantera/mixmaster/Mix.py b/interfaces/cython/cantera/mixmaster/Mix.py index b0b95317f..0d6ee9aaa 100644 --- a/interfaces/cython/cantera/mixmaster/Mix.py +++ b/interfaces/cython/cantera/mixmaster/Mix.py @@ -1,6 +1,6 @@ from Cantera import GasConstant, OneAtm from Cantera.num import zeros, ones -from utilities import handleError +from .utilities import handleError def spdict(phase, x): nm = phase.speciesNames() diff --git a/interfaces/cython/cantera/mixmaster/NewFlowFrame.py b/interfaces/cython/cantera/mixmaster/NewFlowFrame.py index 0ac5791a6..7c14c06b2 100644 --- a/interfaces/cython/cantera/mixmaster/NewFlowFrame.py +++ b/interfaces/cython/cantera/mixmaster/NewFlowFrame.py @@ -1,7 +1,12 @@ -from Tkinter import * from Cantera import * -from SpeciesInfo import SpeciesInfo +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * + +from .SpeciesInfo import SpeciesInfo _CUTOFF = 1.e-15 _ATOL = 1.e-15 diff --git a/interfaces/cython/cantera/mixmaster/SpeciesFrame.py b/interfaces/cython/cantera/mixmaster/SpeciesFrame.py index 8b0ee0765..b514617c2 100644 --- a/interfaces/cython/cantera/mixmaster/SpeciesFrame.py +++ b/interfaces/cython/cantera/mixmaster/SpeciesFrame.py @@ -3,10 +3,13 @@ # the selected elements # -from Tkinter import * -from types import * -import tkMessageBox +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * +from types import * from Cantera import * class SpeciesFrame(Frame): @@ -171,4 +174,4 @@ def showElementProperties(ellist): if __name__ == "__main__": - print getSpecies() + print(getSpecies()) diff --git a/interfaces/cython/cantera/mixmaster/SpeciesInfo.py b/interfaces/cython/cantera/mixmaster/SpeciesInfo.py index 5eff48a4c..92668036f 100644 --- a/interfaces/cython/cantera/mixmaster/SpeciesInfo.py +++ b/interfaces/cython/cantera/mixmaster/SpeciesInfo.py @@ -1,9 +1,14 @@ -from Tkinter import * +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * + import re, math from Cantera import * -from Units import temperature, specificEnergy, specificEntropy -from UnitChooser import UnitVar -from GraphFrame import Graph +from .Units import temperature, specificEnergy, specificEntropy +from .UnitChooser import UnitVar +from .GraphFrame import Graph def testit(): pass @@ -44,7 +49,7 @@ class SpeciesInfo(Label): Label(self.eframe,text='Atoms:')\ .grid(row=0,column=0,sticky=N+W) for el, c in self.sp.composition(): - Label(self.eframe,text=`int(c)`+' '+el).grid(row=0,column=r) + Label(self.eframe,text=repr(int(c))+' '+el).grid(row=0,column=r) r = r + 1 diff --git a/interfaces/cython/cantera/mixmaster/ThermoFrame.py b/interfaces/cython/cantera/mixmaster/ThermoFrame.py index fbc42606b..f4170b747 100644 --- a/interfaces/cython/cantera/mixmaster/ThermoFrame.py +++ b/interfaces/cython/cantera/mixmaster/ThermoFrame.py @@ -1,12 +1,17 @@ from Cantera import * -from Tkinter import * -from Units import temperature, pressure, density, specificEnergy, specificEntropy -from UnitChooser import UnitVar -from ThermoProp import ThermoProp -from utilities import handleError +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * + +from .Units import temperature, pressure, density, specificEnergy, specificEntropy +from .UnitChooser import UnitVar +from .ThermoProp import ThermoProp +from .utilities import handleError _PRESSURE = 1 _TEMPERATURE = 0 diff --git a/interfaces/cython/cantera/mixmaster/ThermoProp.py b/interfaces/cython/cantera/mixmaster/ThermoProp.py index bd37ffd5f..b37d1922f 100644 --- a/interfaces/cython/cantera/mixmaster/ThermoProp.py +++ b/interfaces/cython/cantera/mixmaster/ThermoProp.py @@ -1,5 +1,10 @@ -from Tkinter import * -from UnitChooser import UnitVar +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * + +from .UnitChooser import UnitVar _tv = ['Temperature','Internal Energy','Enthalpy'] _pv = ['Pressure', 'Density'] diff --git a/interfaces/cython/cantera/mixmaster/TransportFrame.py b/interfaces/cython/cantera/mixmaster/TransportFrame.py index 29473754a..38a8c8212 100644 --- a/interfaces/cython/cantera/mixmaster/TransportFrame.py +++ b/interfaces/cython/cantera/mixmaster/TransportFrame.py @@ -1,4 +1,8 @@ -from Tkinter import * +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * class TransportFrame(Frame): def show(self, i, frame, row, col): diff --git a/interfaces/cython/cantera/mixmaster/UnitChooser.py b/interfaces/cython/cantera/mixmaster/UnitChooser.py index 17bcb97eb..602007b96 100644 --- a/interfaces/cython/cantera/mixmaster/UnitChooser.py +++ b/interfaces/cython/cantera/mixmaster/UnitChooser.py @@ -1,4 +1,9 @@ -from Tkinter import * +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * + import re class UnitVar(Frame): diff --git a/interfaces/cython/cantera/mixmaster/Units/SI.py b/interfaces/cython/cantera/mixmaster/Units/SI.py index a363b248a..29a0c5e3f 100644 --- a/interfaces/cython/cantera/mixmaster/Units/SI.py +++ b/interfaces/cython/cantera/mixmaster/Units/SI.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -from unit import unit, dimensionless +from .unit import unit, dimensionless # # The basic SI units @@ -75,39 +75,39 @@ yocto = 1e-24 if __name__ == "__main__": - print "The 7 base SI units:" - print " meter: %s" % meter - print " kilogram: %s" % kilogram - print " second: %s" % second - print " ampere: %s" % ampere - print " kelvin: %s" % kelvin - print " mole: %s" % mole - print " candela: %s" % candela - print - print "The 21 SI derived units with special names:" - print " radian: %s" % radian - print " steradian: %s" % steradian - print " hertz: %s" % hertz + print("The 7 base SI units:") + print(" meter: %s" % meter) + print(" kilogram: %s" % kilogram) + print(" second: %s" % second) + print(" ampere: %s" % ampere) + print(" kelvin: %s" % kelvin) + print(" mole: %s" % mole) + print(" candela: %s" % candela) + print("") + print("The 21 SI derived units with special names:") + print(" radian: %s" % radian) + print(" steradian: %s" % steradian) + print(" hertz: %s" % hertz) - print " newton: %s" % newton - print " pascal: %s" % pascal - print " joule: %s" % joule - print " watt: %s" % watt + print(" newton: %s" % newton) + print(" pascal: %s" % pascal) + print(" joule: %s" % joule) + print(" watt: %s" % watt) - print " coulomb: %s" % coulomb - print " volt: %s" % volt - print " farad: %s" % farad - print " ohm: %s" % ohm - print " siemens: %s" % siemens - print " weber: %s" % weber - print " tesla: %s" % tesla - print " henry: %s" % henry + print(" coulomb: %s" % coulomb) + print(" volt: %s" % volt) + print(" farad: %s" % farad) + print(" ohm: %s" % ohm) + print(" siemens: %s" % siemens) + print(" weber: %s" % weber) + print(" tesla: %s" % tesla) + print(" henry: %s" % henry) - print " degree Celsius: %s" % celsius + print(" degree Celsius: %s" % celsius) - print " lumen: %s" % lumen - print " lux: %s" % lux + print(" lumen: %s" % lumen) + print(" lux: %s" % lux) - print " becquerel: %s" % becquerel - print " gray: %s" % gray - print " sievert: %s" % sievert + print(" becquerel: %s" % becquerel) + print(" gray: %s" % gray) + print(" sievert: %s" % sievert) diff --git a/interfaces/cython/cantera/mixmaster/Units/density.py b/interfaces/cython/cantera/mixmaster/Units/density.py index ef89cbbe7..ea8ce6dda 100644 --- a/interfaces/cython/cantera/mixmaster/Units/density.py +++ b/interfaces/cython/cantera/mixmaster/Units/density.py @@ -1,4 +1,5 @@ -import SI, math +import math +from . import SI # # Definitions of common density units diff --git a/interfaces/cython/cantera/mixmaster/Units/energy.py b/interfaces/cython/cantera/mixmaster/Units/energy.py index 7f7d2f084..247500ee3 100644 --- a/interfaces/cython/cantera/mixmaster/Units/energy.py +++ b/interfaces/cython/cantera/mixmaster/Units/energy.py @@ -1,4 +1,4 @@ -from SI import joule +from .SI import joule # # Definitions of common energy units diff --git a/interfaces/cython/cantera/mixmaster/Units/force.py b/interfaces/cython/cantera/mixmaster/Units/force.py index 6a9a6bdbc..5b36f6846 100644 --- a/interfaces/cython/cantera/mixmaster/Units/force.py +++ b/interfaces/cython/cantera/mixmaster/Units/force.py @@ -1,4 +1,4 @@ -from SI import meter +from .SI import meter # # Definitions of common force units diff --git a/interfaces/cython/cantera/mixmaster/Units/length.py b/interfaces/cython/cantera/mixmaster/Units/length.py index 37c58228a..ae025a95a 100644 --- a/interfaces/cython/cantera/mixmaster/Units/length.py +++ b/interfaces/cython/cantera/mixmaster/Units/length.py @@ -1,5 +1,5 @@ -from SI import meter -from SI import nano, milli, centi, kilo +from .SI import meter +from .SI import nano, milli, centi, kilo # # Definitions of common length units diff --git a/interfaces/cython/cantera/mixmaster/Units/mass.py b/interfaces/cython/cantera/mixmaster/Units/mass.py index 35451f4da..8b4e01d1d 100644 --- a/interfaces/cython/cantera/mixmaster/Units/mass.py +++ b/interfaces/cython/cantera/mixmaster/Units/mass.py @@ -1,4 +1,4 @@ -from SI import kilogram +from .SI import kilogram # # Definitions of common mass units diff --git a/interfaces/cython/cantera/mixmaster/Units/power.py b/interfaces/cython/cantera/mixmaster/Units/power.py index 2fac3b872..b8228575c 100644 --- a/interfaces/cython/cantera/mixmaster/Units/power.py +++ b/interfaces/cython/cantera/mixmaster/Units/power.py @@ -1,4 +1,4 @@ -from SI import watt, kilo +from .SI import watt, kilo # # Definitions of common power units diff --git a/interfaces/cython/cantera/mixmaster/Units/pressure.py b/interfaces/cython/cantera/mixmaster/Units/pressure.py index 35397006f..5c80c34ff 100644 --- a/interfaces/cython/cantera/mixmaster/Units/pressure.py +++ b/interfaces/cython/cantera/mixmaster/Units/pressure.py @@ -1,4 +1,4 @@ -import SI +from . import SI # # Definitions of common pressure units diff --git a/interfaces/cython/cantera/mixmaster/Units/specificEnergy.py b/interfaces/cython/cantera/mixmaster/Units/specificEnergy.py index 1adde01c9..f0dfc8dec 100644 --- a/interfaces/cython/cantera/mixmaster/Units/specificEnergy.py +++ b/interfaces/cython/cantera/mixmaster/Units/specificEnergy.py @@ -1,4 +1,4 @@ -import SI, energy, mass +from . import SI, energy, mass # # Definitions of common energy units diff --git a/interfaces/cython/cantera/mixmaster/Units/specificEntropy.py b/interfaces/cython/cantera/mixmaster/Units/specificEntropy.py index ab8204a2c..046a498d8 100644 --- a/interfaces/cython/cantera/mixmaster/Units/specificEntropy.py +++ b/interfaces/cython/cantera/mixmaster/Units/specificEntropy.py @@ -1,4 +1,4 @@ -import SI, energy, mass +from . import SI, energy, mass units = ['J__kg_K', 'kJ__kg_K', 'cal__g_K'] diff --git a/interfaces/cython/cantera/mixmaster/Units/speed.py b/interfaces/cython/cantera/mixmaster/Units/speed.py index ca32bd62e..93374c83a 100644 --- a/interfaces/cython/cantera/mixmaster/Units/speed.py +++ b/interfaces/cython/cantera/mixmaster/Units/speed.py @@ -1,5 +1,5 @@ -from time import hour -from length import nautical_mile +from .time import hour +from .length import nautical_mile # # Definitions of common speed units diff --git a/interfaces/cython/cantera/mixmaster/Units/temperature.py b/interfaces/cython/cantera/mixmaster/Units/temperature.py index d4339a118..865070d45 100644 --- a/interfaces/cython/cantera/mixmaster/Units/temperature.py +++ b/interfaces/cython/cantera/mixmaster/Units/temperature.py @@ -1,4 +1,4 @@ -import SI +from . import SI K = SI.kelvin R = (9.0/5.0)*K diff --git a/interfaces/cython/cantera/mixmaster/Units/time.py b/interfaces/cython/cantera/mixmaster/Units/time.py index 3b96a9e0c..b7f980fb2 100644 --- a/interfaces/cython/cantera/mixmaster/Units/time.py +++ b/interfaces/cython/cantera/mixmaster/Units/time.py @@ -1,4 +1,4 @@ -from SI import second +from .SI import second # # Definitions of common time units diff --git a/interfaces/cython/cantera/mixmaster/Units/unit.py b/interfaces/cython/cantera/mixmaster/Units/unit.py index 427192a85..b8096a168 100644 --- a/interfaces/cython/cantera/mixmaster/Units/unit.py +++ b/interfaces/cython/cantera/mixmaster/Units/unit.py @@ -1,6 +1,6 @@ import operator -class unit: +class unit(object): _zero = (0,) * 7 _negativeOne = (-1, ) * 7 @@ -37,8 +37,10 @@ class unit: return unit(value, derivation) - def __div__(self, other): + return self.__truediv__(other) + + def __truediv__(self, other): if type(other) == type(0) or type(other) == type(0.0): return unit(self.value/other, self.derivation) @@ -77,6 +79,9 @@ class unit: return unit.__mul__(self, other) def __rdiv__(self, other): + return self.__rtruediv__(other) + + def __rtruediv__(self, other): if type(other) != type(0) and type(other) != type(0.0): raise BadOperation(self, other) diff --git a/interfaces/cython/cantera/mixmaster/Units/volume.py b/interfaces/cython/cantera/mixmaster/Units/volume.py index 8c491eca3..c614c8ee4 100644 --- a/interfaces/cython/cantera/mixmaster/Units/volume.py +++ b/interfaces/cython/cantera/mixmaster/Units/volume.py @@ -1,4 +1,4 @@ -from length import meter, centimeter, foot, inch +from .length import meter, centimeter, foot, inch # # Definitions of common volume units diff --git a/interfaces/cython/cantera/mixmaster/__init__.py b/interfaces/cython/cantera/mixmaster/__init__.py index 58c70d95b..f8b58374a 100644 --- a/interfaces/cython/cantera/mixmaster/__init__.py +++ b/interfaces/cython/cantera/mixmaster/__init__.py @@ -1,4 +1,4 @@ # from Cantera import * -from main import MixMaster +#from .main import MixMaster diff --git a/interfaces/cython/cantera/mixmaster/flowpanel.py b/interfaces/cython/cantera/mixmaster/flowpanel.py index 4efdfcf92..dde60c79e 100644 --- a/interfaces/cython/cantera/mixmaster/flowpanel.py +++ b/interfaces/cython/cantera/mixmaster/flowpanel.py @@ -1,7 +1,11 @@ # functionality imports -from Tkinter import * +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * from Cantera.gui import menu, newflow @@ -27,7 +31,7 @@ class App: self.newbutton.grid(row = 1, column = 1) def notyet(self): - print 'not yet!' + print('not yet!') def newflow(self): diff --git a/interfaces/cython/cantera/mixmaster/main.py b/interfaces/cython/cantera/mixmaster/main.py index 434cd8ee2..f1f3e61ee 100644 --- a/interfaces/cython/cantera/mixmaster/main.py +++ b/interfaces/cython/cantera/mixmaster/main.py @@ -10,29 +10,37 @@ _app_version = '1.0' # functionality imports -from Tkinter import * -import tkMessageBox +import sys +if sys.version_info.major == 3: + from tkinter import * + from tkinter import messagebox + from tkinter.filedialog import askopenfilename +else: + from Tkinter import * + import tkMessageBox as messagebox + from tkFileDialog import askopenfilename + import sys, os, string # Cantera imports from Cantera import * from Cantera.num import zeros -import utilities from Cantera.gases import IdealGasMix +from . import utilities # local imports -from TransportFrame import TransportFrame -from CompositionFrame import MixtureFrame -from ThermoFrame import ThermoFrame -from ImportFrame import ImportFrame -from DataFrame import DataFrame -from KineticsFrame import SpeciesKineticsFrame, ReactionKineticsFrame, ReactionPathFrame +from .TransportFrame import TransportFrame +from .CompositionFrame import MixtureFrame +from .ThermoFrame import ThermoFrame +from .ImportFrame import ImportFrame +from .DataFrame import DataFrame +from .KineticsFrame import SpeciesKineticsFrame, ReactionKineticsFrame, ReactionPathFrame #from Edit import EditFrame -from MechManager import MechManager, _autoload -from UnitChooser import UnitVar -from ControlPanel import ControlWindow -from ControlPanel import make_menu, menuitem_state -from Mix import Mix, Species +from .MechManager import MechManager, _autoload +from .UnitChooser import UnitVar +from .ControlPanel import ControlWindow +from .ControlPanel import make_menu, menuitem_state +from .Mix import Mix, Species def testit(): return @@ -44,7 +52,6 @@ class MixMaster: sys.exit(0) def openmech(self): - from tkFileDialog import askopenfilename pathname = askopenfilename(filetypes=[("Cantera Input Files", "*.cti"), ("XML Files", "*.xml *.ctml"), ("All Files", "*.*")]) @@ -81,7 +88,7 @@ class MixMaster: def addWindow(self, name, w): """Add a new window, or replace an existing one.""" wstate = '' - if self._windows.has_key(name): + if name in self._windows: try: wstate = self._windows[name].master.state() self._windows[name].master.destroy() @@ -304,8 +311,8 @@ class MixMaster: def aboutmix(self): - m = tkMessageBox.showinfo(title = 'About MixMaster', - message = """ + m = messagebox.showinfo(title = 'About MixMaster', + message = """ MixMaster version """+_app_version+""" diff --git a/interfaces/cython/cantera/mixmaster/menu.py b/interfaces/cython/cantera/mixmaster/menu.py index 569c9e881..904f93f87 100644 --- a/interfaces/cython/cantera/mixmaster/menu.py +++ b/interfaces/cython/cantera/mixmaster/menu.py @@ -1,17 +1,20 @@ -from Tkinter import * +import sys +if sys.version_info.major == 3: + from tkinter import * +else: + from Tkinter import * -def make_menu(name, menubar, list): - from types import * +def make_menu(name, menubar, lst): button=Menubutton(menubar, text=name, padx=3,pady=1) button.pack(side=LEFT, anchor=W) menu = Menu(button,tearoff=FALSE) - for entry in list: + for entry in lst: if entry == 'separator': menu.add_separator({}) - elif type(entry)==ListType: + elif isinstance(entry, list): for num in entry: menu.entryconfig(num,state=DISABLED) - elif type(entry[1]) != ListType: + elif not isinstance(entry[1], list): if len(entry) == 2 or entry[2] == 'command': menu.add_command(label=entry[0], command=entry[1]) diff --git a/interfaces/cython/cantera/mixmaster/newflow.py b/interfaces/cython/cantera/mixmaster/newflow.py index 2da711a20..78defa2ad 100644 --- a/interfaces/cython/cantera/mixmaster/newflow.py +++ b/interfaces/cython/cantera/mixmaster/newflow.py @@ -1,7 +1,15 @@ -from Tkinter import * -from tkFileDialog import askopenfilename -import tkMessageBox +import sys +if sys.version_info.major == 3: + from tkinter import * + from tkinter.filedialog import askopenfilename + from tkinter import messagebox +else: + from Tkinter import * + import tkMessageBox as messagebox + from tkFileDialog import askopenfilename + + from Cantera.gases import IdealGasMix from Cantera import * @@ -104,8 +112,8 @@ class NewFlowDialog: self.gas = IdealGasMix(import_file = infile) except: - tkMessageBox.showerror('Create Gas', - 'Error reading file %s. See log file for more information.' % infile) + messagebox.showerror('Create Gas', + 'Error reading file %s. See log file for more information.' % infile) #self.flow = Flow1D(flow_type = ftype, flow_geom = fgeom, # pressure = p, grid = gr, gas = g) diff --git a/interfaces/cython/cantera/mixmaster/utilities.py b/interfaces/cython/cantera/mixmaster/utilities.py index f498520c1..e2a07fcc3 100644 --- a/interfaces/cython/cantera/mixmaster/utilities.py +++ b/interfaces/cython/cantera/mixmaster/utilities.py @@ -3,8 +3,12 @@ import os, sys import types, traceback try: - from Tkinter import Tk - import tkMessageBox + if sys.version_info.major == 3: + from tkinter import Tk + from tkinter import messagebox + else: + from Tkinter import Tk + import tkMessageBox _hasTk = 1 except: _hasTk = 0 @@ -13,14 +17,14 @@ except: def write_CSV(f,x): """write list x to file f in comma-separated-value format.""" for e in x: - f.write( `e`+',') + f.write( repr(e)+',') f.write('\n') def _print_value(name, value, unitstr): - print string.rjust(name, 15)+ \ + print(string.rjust(name, 15)+ \ string.rjust('%10.5e' %value, 15) + ' ' + \ - string.ljust(unitstr,5), + string.ljust(unitstr,5)) def hasTk(): try: @@ -32,8 +36,8 @@ def hasTk(): def handleError(message = '', window = None, fatal = 0, warning = 0, options = None): if warning: - tkMessageBox.showwarning(title = 'Warning', message = message, - parent = window) + messagebox.showwarning(title = 'Warning', message = message, + parent = window) else: - m = tkMessageBox.showerror(title = 'Error', message = message, - parent = window) + m = messagebox.showerror(title = 'Error', message = message, + parent = window)