You could easily do this with the classic combination Array + Curve modifiers.
Since your metal sheet seems to be cut in a repeating pattern start by defining a mesh shaped as one module of said pattern.
Make use of a Mirror modifier, if it is symmetrical.
Add two Bezier Curve objects to your scene, one defining the larger radius of the desired shape, the other defining the shorter radius and the section of the torus like object.
Make sure the smaller curve is set to 2D in the Properties Window so it doesn't accidentally create gaps. Also make sure both curves are at the same scene position and world coordinate as the pattern mesh.
It also helps if the curve origin is set at one of the end vertex for the section.
Now to the pattern mesh add one Array modifier set to Fit Curve, and pick the smaller "section" curve. Then add Curve modifier pick the same Bezier object.
Adjust spacing and rotations as necessary if the deformation is unexpected.
Repeat the above steps of Array + Curve for the larger curve.
Now adjust the shape and deformations of the mesh by entering Edit Mode in either of the curves and playing around with its shape. Move vertex around or alter their Radius property for a scaling or collapsing effect.
Disclaimer: The gaping deformations that naturally happen by stretching a metal mesh won't be recreated using this technique, but you can manually model them while defining your base pattern object, or apply the modifiers and sculpt them over (a copy of) the final mesh if you don't need a non destructive workflow.
Also see related How to model braided nylon sleeve