• 
      

    Mark proxy properties on scmtools.models.Tool as deprecated.

    Review Request #12331 — Created June 3, 2022 and submitted

    Information

    Review Board
    release-5.0.x

    Reviewers

    The Tool model has a handful of properties which proxy things which
    are provided by the SCMTool subclass. This was used a long time ago to
    make it easier to render things in templates (since trying to access the
    class in the template would end up instantiating it). We haven't used
    templates for this stuff in a long time, and all our code accesses these
    via the scmtool_class property rather than these proxies.

    This change adds a wrapper which will raise a deprecation warning if any
    of these properties are accessed via the tool.

    • Opened a shell, enabled all warnings, and then accessed properties via
      the tool instance. Saw that I got the correct results, and that the
      deprecation warning was raised.
    • Ran unit tests.
    Summary ID
    Mark proxy properties on scmtools.models.Tool as deprecated.
    The Tool model has a handful of properties which proxy things which are provided by the SCMTool subclass. This was used a long time ago to make it easier to render things in templates (since trying to access the class in the template would end up instantiating it). We haven't used templates for this stuff in a long time, and all our code accesses these via the `scmtool_class` property rather than these proxies. This change adds a wrapper which will raise a deprecation warning if any of these properties are accessed via the tool. Testing Done: - Opened a shell, enabled all warnings, and then accessed properties via the tool instance. Saw that I got the correct results, and that the deprecation warning was raised. - Ran unit tests.
    2be21b1f7fefb87908fad246f7abe6d5947dc0ff
    Description From Last Updated

    I've landed my deprecation updates change, so this can go.

    chipx86 chipx86

    Can you add a Version Added?

    chipx86 chipx86

    We should probably use functools.wraps to ensure all the function attributes are set right.

    chipx86 chipx86

    You don't need warnings anymore. You can just call RemovedInReviewBoard60Warning.warn(...) with the string.

    chipx86 chipx86
    chipx86
    1. 
        
    2. reviewboard/deprecation.py (Diff revision 1)
       
       
      Show all issues

      I've landed my deprecation updates change, so this can go.

    3. reviewboard/scmtools/models.py (Diff revision 1)
       
       
       
       
       
       
       
      Show all issues

      Can you add a Version Added?

    4. reviewboard/scmtools/models.py (Diff revision 1)
       
       
      Show all issues

      We should probably use functools.wraps to ensure all the function attributes are set right.

    5. reviewboard/scmtools/models.py (Diff revision 1)
       
       
       
       
       
       
       
       
      Show all issues

      You don't need warnings anymore. You can just call RemovedInReviewBoard60Warning.warn(...) with the string.

    6. 
        
    david
    chipx86
    1. Ship It!
    2. 
        
    david
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-5.0.x (eaa58b9)