From 50d1bbbe4d2458f6d7b289cfc04212c30f42ed34 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 5 May 2023 13:30:17 -0500 Subject: [PATCH] Add "rattail-adjacent" logic for generating projects --- tailbone/views/projects.py | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/tailbone/views/projects.py b/tailbone/views/projects.py index 0cfcd349..8dc119f1 100644 --- a/tailbone/views/projects.py +++ b/tailbone/views/projects.py @@ -29,7 +29,9 @@ from collections import OrderedDict import colander from deform import widget as dfwidget -from rattail.projects import PythonProjectGenerator, PoserProjectGenerator +from rattail.projects import (PythonProjectGenerator, + PoserProjectGenerator, + RattailAdjacentProjectGenerator) from tailbone import forms from tailbone.views import MasterView @@ -132,6 +134,10 @@ class GeneratedProjectView(MasterView): if isinstance(generator, PythonProjectGenerator): self.configure_form_python(form) + # rattail-adjacent projects + if isinstance(generator, RattailAdjacentProjectGenerator): + self.configure_form_rattail_adjacent(form) + # poser-based projects if isinstance(generator, PoserProjectGenerator): self.configure_form_poser(form) @@ -162,7 +168,7 @@ class GeneratedProjectView(MasterView): f.set_helptext('pypi_name', "It's a good idea to use org name as namespace prefix here") f.set_default('pypi_name', "Acme-Poser-Plus") - def configure_form_poser(self, f): + def configure_form_rattail_adjacent(self, f): # extends_config f.set_label('extends_config', "Extend Config") @@ -175,6 +181,13 @@ class GeneratedProjectView(MasterView): dynamic=True) f.set_default('has_cli', True) + # extends_db + f.set_label('extends_db', "Extend DB Schema") + f.set_helptext('extends_db', "For adding custom tables/columns to the core schema") + f.set_default('extends_db', True) + + def configure_form_poser(self, f): + # organization f.set_helptext('organization', 'For use with branding etc.') f.set_default('organization', "Acme Foods") @@ -184,11 +197,6 @@ class GeneratedProjectView(MasterView): f.set_helptext('has_db', "Note that a DB is required for the Web App") f.set_default('has_db', True) - # extends_db - f.set_label('extends_db', "Extend DB Schema") - f.set_helptext('extends_db', "For adding custom tables/columns to the core schema") - f.set_default('extends_db', True) - # has_batch_schema f.set_label('has_batch_schema', "Add Batch Schema") f.set_helptext('has_batch_schema', 'Usually not needed - it\'s for "dynamic" (e.g. import/export) batches') @@ -266,9 +274,16 @@ class GeneratedProjectView(MasterView): ("Options", [ 'extends_config', 'extends_db', + 'has_cli', ]), ]) + # default settings + f.set_default('name', 'rattail-foo') + f.set_default('pkg_name', 'rattail_foo') + f.set_default('pypi_name', 'rattail-foo') + f.set_default('has_cli', False) + # integration_name f.set_helptext('integration_name', "Name of the system to be integrated") f.set_default('integration_name', "Foo")