demisjohn / pyFIMM

Python Interface to PhotonDesign's FimmWave/FimmProp software.
15 stars 4 forks source link

Upgrade to compatibility with v6.2.2 #40

Closed demisjohn closed 8 years ago

demisjohn commented 8 years ago

From Vincent Brulis: We have upgraded the command line interface to allow it to call functions inline, for instance: app.[…].fdtd.fluxvposition(…).get() in OmniSim.

As a result, all functions must now be called with brackets, even if they do not have arguments. For instance: wg.evlist.update wg.evlist[1].neff will no longer work, instead you will need to use: wg.evlist.update() wg.evlist[1].neff()

I have written a Python script that will allow users to check their scripts and update them semi-automatically; the script identifies all the lines of code that could cause problems and gets you to check them one by one and agree to the changes, whilst keeping a back up of the old files.

You will need to run this on your pyFIMM library to allow it to work with the new version; running the script on pyFIMM will still allow it to run with previous versions as it is merely adding brackets where they were previously optional. I just ran the script on pyFIMM as a test and there was only a modest number of changes to apply.

You can find more details in the Changes Logs of the new FIMMWAVE manual once you receive it.

demisjohn commented 8 years ago

Fixed in 0a957522e0086bf6321adadc9e2362d951e062eb

demisjohn commented 8 years ago

Would be nice if someone can check backwards compatibility. It should work in theory.

demisjohn commented 8 years ago

Eric. S has been using pyFIMM with an older version, at it appers to work flawlessly, so it appears we are backwards compatible.