wiki:Orange25/RefactoringTool

Version 1 (modified by marko, 3 years ago) (diff)

Refactoring tool orange2to25.py

In orange directory there is a orange2to25.py script

  • Use it like this (this will output a diff of proposed changes):
    python orange2to25.py myscripy.py
    
  • To overwrite the myscript.py (a backup will be saved in myscript.py.bak) use:
    python orange2to25.py -w myscripy.py
    
  • To use an aggressive name changer add the '-a' flag (will fix names in the global and local scope, e.g. it will replace ExampleTable (without the orange. prefix) with Orange.data.Table and import the appropriate package (Orange.data))
    python orange2to25.py -w -a myscripy.py
    
  • To write the changed script to a new file use '-o' argument
    python orange2to25.py -w -o mynewandimprovedscript.py myscript.py
    
  • For help type:
    python orange2to25.py --help
    

Adding mapped names and modules

Currently there are only a few MAPPING definitions in the both fixers available. Add all changed names and moved modules to the appropriate file:

  • Add other mapped names to orange/fixer/fix_changed_names.py in the MAPPING global variable (For instance .. "orange.ExampleTable":"Orange.data.Table", ...)
  • Add mapped modules to orange/fixer/fix_orange_imports.py in the MAPPING global variable (For instance ... "orngSVM": Orange.classification.svm", ...)