Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

bundlepmw.py

Help
2008-03-05
2013-02-21
  • Jamie Mazer
    Jamie Mazer
    2008-03-05

    Has anyone updated bundlepwm.py to get it working with python2.5?
    The version packaged with 1.3.2 depends on regsub.gsub() which no
    longer exists..
    Thanks,
    /jamie

     
    • Greg McFarlane
      Greg McFarlane
      2008-03-06

      The fix to this is fairly simple.  In bundlepmw.py change "import regsub" to "import re" and change each of the five occurrences of "regsub.gsub" to "re.sub".

      Hopefully this will make it into the next release...

       
      • Jamie Mazer
        Jamie Mazer
        2008-03-06

        Hi Greg,

        I must be missing something -- I actually did before asking here, but
        the resulting Pmw.py file still contains "import Pmw" commands and
        "Pmw.XXX" references. The resulting file works fine if I go in and
        manually delete all the Pmw references -- looks like the "import
        Pmw\>" and "\<Pmw\." re's don't work.

        Did anything about regexp syntax change between regsub.gsub and
        re.sub?  I can't find anything in the docs that leads me to believe
        there's a difference, but it's been a while since I used re's for
        anything..

        /jamie

         
        • Greg McFarlane
          Greg McFarlane
          2008-03-07

          Woops! You are right.  Instead of "\<" and "\>" in regsub (which mean beginning and end of word), re uses "\b" for both.  Also, since "\b" is special in a string, the "\" has to be escaped like this: "\\".  So the two changed lines are:

          text = re.sub('import Pmw\\b', '', text)
          text = re.sub('\\bPmw\.', '', text)

           
    • Jamie Mazer
      Jamie Mazer
      2008-03-06

      Hate to followup my own post, but if I change:
          text = regsub.gsub('import Pmw\>', '', text)
          text = regsub.gsub('INITOPT = Pmw.INITOPT', '', text)
          text = regsub.gsub('\<Pmw\.', '', text)
      to:
          text = re.sub('import Pmw', '', text)
          text = re.sub('INITOPT = Pmw.INITOPT', '', text)
          text = re.sub('Pmw\\.', '', text)
      in mungeFile(). It looks like it works (no exhaustive testing,
      but it's importable). I'm not sure why the angle brackets
      were there in the first place.. and with the \'s, it seems
      like they're literals to boot, which seems wrong...

      /jamie

       
    • nanotube
      nanotube
      2009-07-07

      Hi,

      This problem is now fixed in my fork git repository, here:
      http://github.com/nanotube/pmw_fixes/tree/

      See also my announcement of the fork:
      https://sourceforge.net/forum/forum.php?thread_id=3325744&forum_id=33675