Is it possible to create a procedural spiral around a tube? I have been struggling to create a bump that goes spiraling around a tube, sort of like a toilet paper tube.

Basically, it is a line that wraps around the tube several times, continuously.

I cannot figure out the math to make it happen.
I've googled one BlenderArtists solution, that also works reasonably well for a tube.
All credits to PyBlend

You can use an Empty to control it.
Otherwise it uses object's origin point.