From c22a055c416ffccb6457f4ee94baafcaae19edb2 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Fri, 5 May 2023 00:47:48 -0500 Subject: [PATCH] Add basic generator for CORE-POS "Poser" projects --- corporal/projects/corepos_poser.py | 43 +++++++++++++++++++ .../lane_plugins/PoserDemo/PoserDemo.php | 34 +++++++++++++++ .../office_plugins/PoserDemo/PoserDemo.php | 33 ++++++++++++++ setup.py | 2 +- 4 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 corporal/projects/corepos_poser.py create mode 100644 corporal/projects/corepos_poser/lane_plugins/PoserDemo/PoserDemo.php create mode 100644 corporal/projects/corepos_poser/office_plugins/PoserDemo/PoserDemo.php diff --git a/corporal/projects/corepos_poser.py b/corporal/projects/corepos_poser.py new file mode 100644 index 0000000..d03db69 --- /dev/null +++ b/corporal/projects/corepos_poser.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8; -*- +""" +CORE-POS "Poser" project generator +""" + +import os + +from rattail.projects import ProjectGenerator + + +class COREPOSPoserProjectGenerator(ProjectGenerator): + """ + Generator for CORE-POS "Poser" projects + """ + key = 'corepos_poser' + + def generate_project(self, output, context, **kwargs): + + ############################## + # office plugins + ############################## + + office_plugins = os.path.join(output, 'office_plugins') + os.makedirs(office_plugins) + + demo_plugin = os.path.join(office_plugins, 'PoserDemo') + os.makedirs(demo_plugin) + + self.generate('office_plugins/PoserDemo/PoserDemo.php', + os.path.join(demo_plugin, 'PoserDemo.php')) + + ############################## + # lane plugins + ############################## + + lane_plugins = os.path.join(output, 'lane_plugins') + os.makedirs(lane_plugins) + + demo_plugin = os.path.join(lane_plugins, 'PoserDemo') + os.makedirs(demo_plugin) + + self.generate('lane_plugins/PoserDemo/PoserDemo.php', + os.path.join(demo_plugin, 'PoserDemo.php')) diff --git a/corporal/projects/corepos_poser/lane_plugins/PoserDemo/PoserDemo.php b/corporal/projects/corepos_poser/lane_plugins/PoserDemo/PoserDemo.php new file mode 100644 index 0000000..b8f9ed4 --- /dev/null +++ b/corporal/projects/corepos_poser/lane_plugins/PoserDemo/PoserDemo.php @@ -0,0 +1,34 @@ + array('default'=>'Bar', 'label'=>'Foo', + 'description'=>'Some important foo-related setting'), + ); + + public $plugin_description = 'Plugin to demo Poser customization'; +} diff --git a/corporal/projects/corepos_poser/office_plugins/PoserDemo/PoserDemo.php b/corporal/projects/corepos_poser/office_plugins/PoserDemo/PoserDemo.php new file mode 100644 index 0000000..051d278 --- /dev/null +++ b/corporal/projects/corepos_poser/office_plugins/PoserDemo/PoserDemo.php @@ -0,0 +1,33 @@ + array('default'=>'Bar', 'label'=>'Foo', + 'description'=>'Some important foo-related setting'), + ); +} diff --git a/setup.py b/setup.py index c23b897..11aeccc 100644 --- a/setup.py +++ b/setup.py @@ -108,8 +108,8 @@ setup( 'corporal = corporal.emails', ], - 'rattail.projects': [ + 'corepos_poser = corporal.projects.corepos_poser:COREPOSPoserProjectGenerator', 'corporal = corporal.projects.corporal:CorporalProjectGenerator', ],