Uploaded image for project: 'Instrument control development'
  1. Instrument control development
  2. INSTRM-272

Convert actorcore to python3

    XMLWordPrintable

    Details

      Description

      This is actually pretty much done. Here are some notes and a list of the leftovers.

      Used python-future's futurize, of course. Removed ply from tron_actorcore: it is now an external dependency like twisted.

      The mildly tricky bits were as expected: a couple of metaclass fiddles in the protocol types, and the bytes--str conversions in twisted.

      twisted deals with bytes. Our CmdrConnection and CommandLink classes wrap all of the twisted interface, and that is where we put the conversions. FYI, the 'latin-1' encoding is 1-1 for all 8-bit uints.

      I had hoped to remove the internal RO package, and use the newer pypi one instead: it is much much closer to being python3 compatible. Unfortunately it is not quite py3-ready, so I will upgrade and patch actorcore's RO instead. There is not much to do there.

      Todo:

      • check/remove the (few) old_div calls added by futurize
      • check/remove the list(...} wrappers added by futurize
      • go back and add future.bytes calls to maintain python 2 compatibility.

      All RO access is via the opscore.actor modules, and the following are the actual RO modules used:

      RO
      RO.AddCallback
      RO.Alg
      RO.Alg.GenericCallback
      RO.Alg.IDGen
      RO.Alg.MatchList
      RO.Alg.MultiDict
      RO.Alg.MultiListIter
      RO.Alg.OrderedDict
      RO.Alg.RandomWalk
      RO.Comm
      RO.Comm.HubConnection
      RO.Comm.TCPConnection
      RO.Comm.TkSocket
      RO.Constants
      RO.MathUtil
      RO.OS
      RO.OS.OSUtil
      RO.OS.getDirs
      RO.OS.getMacDirs
      RO.ParseMsg
      RO.ParseMsg.GetHeader
      RO.ParseMsg.GetKeyword
      RO.ParseMsg.GetString
      RO.ParseMsg.GetValues
      RO.ParseMsg.ParseData
      RO.ParseMsg.ParseMsg
      RO.PhysConst
      RO.SeqUtil
      RO.StringUtil
      RO.SysConst
      RO.TkUtil
      RO.Version
      

        Attachments

          Activity

            People

            • Assignee:
              cloomis cloomis
              Reporter:
              cloomis cloomis
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: