Source code for provy.more.debian.web.tornado

#!/usr/bin/python
# -*- coding: utf-8 -*-

'''
Roles in this namespace are meant to provide `Tornado <http://www.tornadoweb.org/>`_ app server utility methods for Debian distributions.
'''

from provy.core import Role
from provy.more.debian.package.aptitude import AptitudeRole
from provy.more.debian.package.pip import PipRole


[docs]class TornadoRole(Role): ''' This role provides `Tornado <http://www.tornadoweb.org/>`_ app server management utilities for Debian distributions. Example: :: from provy.core import Role from provy.more.debian import TornadoRole class MySampleRole(Role): def provision(self): self.provision_role(TornadoRole) '''
[docs] def provision(self): ''' Installs `Tornado <http://www.tornadoweb.org/>`_ and its dependencies. This method should be called upon if overriden in base classes, or `Tornado <http://www.tornadoweb.org/>`_ won't work properly in the remote server. Example: :: from provy.core import Role from provy.more.debian import TornadoRole class MySampleRole(Role): def provision(self): self.provision_role(TornadoRole) ''' with self.using(AptitudeRole) as role: role.ensure_up_to_date() role.ensure_package_installed('python-pycurl') with self.using(PipRole) as role: role.ensure_package_installed('tornado')