def pre(self, command, output_dir, vars): """ Overrides :meth:`pyramid.scaffold.template.Template.pre`, adding several variables to the default variables list (including ``random_string``, and ``package_logger``). It also prevents common misnamings (such as naming a package "site" or naming a package logger "root". """ if vars["package"] == "site": raise ValueError( 'Sorry, you may not name your package "site". ' 'The package name "site" has a special meaning in ' 'Python. Please name it anything except "site".' ) vars["random_string"] = native_(binascii.hexlify(os.urandom(20))) package_logger = vars["package"] if package_logger == "root": # Rename the app logger in the rare case a project is named 'root' package_logger = "app" vars["package_logger"] = package_logger return Template.pre(self, command, output_dir, vars)
def post(self, command, output_dir, vars): # pragma: no cover """ Overrides :meth:`pyramid.scaffold.template.Template.post`, to print "Welcome to Pyramid. Sorry for the convenience." after a successful scaffolding rendering.""" self.out("Welcome to Pyramid. Sorry for the convenience.") return Template.post(self, command, output_dir, vars)