def pre(self, command, output_dir, vars): """ Overrides ``pyramid.scaffold.template.Template.pre``, adding several variables to the default variables list. Also prevents common misnamings (such as naming a package "site" or naming a package logger "root"). """ ret = Template.pre(self, command, output_dir, vars) self._set_package_in_vars(command, vars) 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".') 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 ret
def pre(self, command, output_dir, vars): """ Overrides ``pyramid.scaffold.template.Template.pre``, adding several variables to the default variables list. Also prevents common misnamings (such as naming a package "site" or naming a package logger "root"). """ ret = Template.pre(self, command, output_dir, vars) self._set_package_in_vars(command, vars) 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'.") 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 ret
def pre(self, command, output_dir, vars): 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 pre(self, command, output_dir, vars): vars['random_string'] = os.urandom(20).encode('hex') 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 pre(self, command, output_dir, vars): 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 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".') 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 vars['package_dirname'] = os.path.dirname(vars['package_full_name']) vars['test_package_full_name'] = re.sub(r'\/', '/test_', vars['package_full_name']) if vars['test_package_full_name'][0:3] != 'test' and vars[ 'test_package_full_name'][0:4] != '/test': vars['test_package_full_name'] = re.sub( r'^', 'test_', vars['test_package_full_name']) vars['test_package_dirname'] = re.sub(r'\/', '/test_', vars['package_dirname']) if vars['test_package_dirname'][0:3] != 'test' and vars[ 'test_package_dirname'][0:4] != '/test': vars['test_package_dirname'] = re.sub(r'^', 'test_', vars['test_package_dirname']) if vars['package_dirname'] == '' or vars['package_dirname'] == '.': vars['test_package_dirname'] = '.' vars['package_full_name_dot'] = re.sub(r'\/', '.', vars['package_full_name']) vars['package_dirname_dot'] = re.sub(r'\/', '.', vars['package_dirname']) vars['package_dirname_dot_with_app'] = 'app.' + vars[ 'package_dirname_dot'] if vars['package_dirname'] == '' or vars['package_dirname'] == '.': vars['package_dirname_dot_with_app'] = 'app' logging.warning('command: ' + repr(command)) logging.warning('output_dir: ' + repr(output_dir)) logging.warning('vars: ' + repr(vars)) vars['project_camelcase'] = underscore_to_camelcase(vars['project']) vars[ 'project_camelcase_uppercase'] = underscore_to_camelcase_uppercase( vars['project']) the_tmp = re.sub(ur'\.', '_', vars['project']) vars['project_underscore'] = re.sub(ur'-', '_', the_tmp) return Template.pre(self, command, output_dir, vars)
def pre(self, command, output_dir, vars_): """ Overrides ``pyramid.scaffold.template.Template.pre``, adding several variables to the default variables list. Also prevents common misnamings (such as naming a package "site" or naming a package logger "root"). """ self._get_vars(vars_, "package", "Get a package name: ") self._get_vars( vars_, "srid", "Spatial Reference System Identifier (e.g. 21781): ", int, ) srid = vars_["srid"] extent = self._epsg2bbox(srid) self._get_vars( vars_, "extent", "Extent (minx miny maxx maxy): in EPSG: {srid} projection, default is " "[{bbox[0]} {bbox[1]} {bbox[2]} {bbox[3]}]: ".format( srid=srid, bbox=extent) if extent else "Extent (minx miny maxx maxy): in EPSG: {srid} projection: ". format(srid=srid)) match = re.match( r"([\d.]+)[,; ] *([\d.]+)[,; ] *([\d.]+)[,; ] *([\d.]+)", vars_["extent"]) if match is not None: extent = [match.group(n + 1) for n in range(4)] vars_["extent"] = ",".join(extent) vars_["extent_mapserver"] = " ".join(extent) vars_["extent_viewer"] = json.dumps(extent) ret = Template.pre(self, command, output_dir, vars_) 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'.") 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 geomapfish_version = pkg_resources.get_distribution( 'c2cgeoportal_commons').version vars_["geomapfish_version"] = geomapfish_version vars_["geomapfish_main_version"] = '.'.join( geomapfish_version.split('.')[:2]) return ret
def pre(self, command, output_dir, vars): 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 pre(self, command, output_dir, vars): 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 pre(self, command, output_dir, vars): """ Overrides :meth:`pyramid.scaffolds.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". """ 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 pre(self, command, output_dir, vars_): """ Overrides ``pyramid.scaffold.template.Template.pre``, adding several variables to the default variables list. Also prevents common misnamings (such as naming a package "site" or naming a package logger "root"). """ self._get_vars(vars_, "package", "Get a package name: ") self._get_vars( vars_, "srid", "Spatial Reference System Identifier (e.g. 21781): ", int, ) srid = vars_["srid"] extent = self._epsg2bbox(srid) self._get_vars( vars_, "extent", "Extent (minx miny maxx maxy): in EPSG: {srid} projection, default is " "[{bbox[0]} {bbox[1]} {bbox[2]} {bbox[3]}]: ".format(srid=srid, bbox=extent) if extent else "Extent (minx miny maxx maxy): in EPSG: {srid} projection: ".format(srid=srid) ) match = re.match(r"([\d.]+)[,; ] *([\d.]+)[,; ] *([\d.]+)[,; ] *([\d.]+)", vars_["extent"]) if match is not None: extent = [match.group(n + 1) for n in range(4)] vars_["extent"] = ",".join(extent) vars_["extent_mapserver"] = " ".join(extent) vars_["extent_viewer"] = json.dumps(extent) ret = Template.pre(self, command, output_dir, vars_) 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'.") 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 c2cgeoportal_version = pkg_resources.get_distribution('c2cgeoportal_commons') \ .parsed_version._version.release vars_["geomapfish_version"] = "{}.{}".format(c2cgeoportal_version[0], c2cgeoportal_version[1]) return ret
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".') 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 vars['package_dirname'] = os.path.dirname(vars['package_full_name']) vars['test_package_full_name'] = re.sub(r'\/', '/test_', vars['package_full_name']) if vars['test_package_full_name'][0:3] != 'test' and vars['test_package_full_name'][0:4] != '/test': vars['test_package_full_name'] = re.sub(r'^', 'test_', vars['test_package_full_name']) vars['test_package_dirname'] = re.sub(r'\/', '/test_', vars['package_dirname']) if vars['test_package_dirname'][0:3] != 'test' and vars['test_package_dirname'][0:4] != '/test': vars['test_package_dirname'] = re.sub(r'^', 'test_', vars['test_package_dirname']) if vars['package_dirname'] == '' or vars['package_dirname'] == '.': vars['test_package_dirname'] = '.' vars['package_full_name_dot'] = re.sub(r'\/', '.', vars['package_full_name']) vars['package_dirname_dot'] = re.sub(r'\/', '.', vars['package_dirname']) vars['package_dirname_dot_with_app'] = 'app.' + vars['package_dirname_dot'] if vars['package_dirname'] == '' or vars['package_dirname'] == '.': vars['package_dirname_dot_with_app'] = 'app' logging.warning('command: ' + repr(command)) logging.warning('output_dir: ' + repr(output_dir)) logging.warning('vars: ' + repr(vars)) vars['project_camelcase'] = underscore_to_camelcase(vars['project']) vars['project_camelcase_uppercase'] = underscore_to_camelcase_uppercase(vars['project']) the_tmp = re.sub(ur'\.', '_', vars['project']) vars['project_underscore'] = re.sub(ur'-', '_', the_tmp) return Template.pre(self, command, output_dir, vars)
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 pre(self, command, output_dir, vars): """ Overrides :meth:`pyramid.scaffolds.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.scaffolds.template.Template.post`, to print "Welcome to Pyramid. Sorry for the convenience." after a successful scaffolding rendering.""" separator = "=" * 79 msg = dedent(""" %(separator)s Tutorials: http://docs.pylonsproject.org/projects/pyramid_tutorials/en/latest/ Documentation: http://docs.pylonsproject.org/projects/pyramid/en/latest/ Twitter: https://twitter.com/trypyramid Mailing List: https://groups.google.com/forum/#!forum/pylons-discuss Welcome to Pyramid. Sorry for the convenience. %(separator)s """ % {'separator': separator}) self.out(msg) return Template.post(self, command, output_dir, vars)
def post(self, command, output_dir, vars): # pragma: no cover """ Overrides :meth:`pyramid.scaffolds.template.Template.post`, to print "Welcome to Pyramid. Sorry for the convenience." after a successful scaffolding rendering.""" if os.path.exists(os.path.join(self.template_dir(), ".gitignore")): # .gitignore needs special handling because leading dot shutil.copy(os.path.join(self.template_dir(), ".gitignore"), output_dir) separator = "=" * 79 msg = dedent( """ %(separator)s Welcome to Websauna. See README.rst for further information. %(separator)s """ % {'separator': separator}) self.out(msg) return Template.post(self, command, output_dir, vars)
def post(self, command, output_dir, vars): """ Overrides :meth:`pyramid.scaffold.template.Template.post`, to print "Welcome to PyCK. Sorry for the convenience." after a successful scaffolding rendering.""" # Unzip the projectname/scripts/newapp_scaffold.zip self.out('\n Extracting the new app creation templates\n') pkg_name = vars['package'] extract_path = "%s/%s/scripts" % (pkg_name, pkg_name) zipfilepath = "%s/newapp_scaffold.zip" % extract_path z = zipfile.ZipFile(zipfilepath) z.extractall(extract_path) os.unlink(zipfilepath) self.out('Welcome to PyCK. Sorry for the convenience :-)') return Template.post(self, command, output_dir, vars)
def post(self, command, output_dir, vars): # pragma: no cover """ Overrides :meth:`pyramid.scaffolds.template.Template.post`, to print "Welcome to Pyramid. Sorry for the convenience." after a successful scaffolding rendering.""" separator = "=" * 79 msg = dedent( """ %(separator)s Tutorials: http://docs.pylonsproject.org/projects/pyramid_tutorials/en/latest/ Documentation: http://docs.pylonsproject.org/projects/pyramid/en/latest/ Twitter: https://twitter.com/trypyramid Mailing List: https://groups.google.com/forum/#!forum/pylons-discuss Welcome to Pyramid. Sorry for the convenience. %(separator)s """ % {'separator': separator}) self.out(msg) return Template.post(self, command, output_dir, vars)
def pre(self, command, output_dir, vars): """ Overrides `pre` method to verify if package name is not equals of anything package. """ package_name = os.path.abspath('.').split('/')[-1] blacklist_names = ('site', package_name) if vars['package'] in blacklist_names: msg = """ Sorry, you may not name your "{0}". This name "{0}" has been defined. Please name it anything except "{0}". """.format(vars['package']) raise ValueError(msg) vars['random_string'] = native_(binascii.hexlify(os.urandom(20))) vars['root_project'] = package_name 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.scaffolds.template.Template.post`, to print "Welcome to Pyramid. Sorry for the convenience." after a successful scaffolding rendering.""" separator = "X" * 79 msg = dedent(""" %(separator)s Tutorials: http://docs.pylonsproject.org/projects/pyramid_tutorials Documentation: http://docs.pylonsproject.org/projects/pyramid Twitter (tips & updates): http://twitter.com/pylons Mailing List: http://groups.google.com/group/pylons-discuss Creator of this scaffold: Mario Idival Twitter/Github: @marioidival Welcome to Pyramid. Sorry for the convenience. %(separator)s """ % {'separator': separator}) self.out(msg) return Template.post(self, command, output_dir, vars)
def _makeOne(self, name='whatever'): from pyramid.scaffolds.template import Template return Template(name)
def post(self, command, output_dir, vars): self.out('Welcome to pyramid_appengine. Go HACK!!!') return Template.post(self, command, output_dir, vars)
def post(self, command, output_dir, vars): # pragma: no cover self.out('Welcome to Pyramid. Sorry for the convenience.') return Template.post(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)