From 28661a447670042a2cdc406ea6eb3cc034ccf06c Mon Sep 17 00:00:00 2001 From: BJ Dierkes Date: Wed, 9 Dec 2009 18:26:50 -0600 Subject: [PATCH] moving example plugin to external ./plugins --- cement/paste/commands.py | 10 +++---- .../etc/cement-example/cement-example.conf | 2 +- .../cement-plugins-example/cement/__init__.py | 1 + .../cement/plugins/__init__.py | 1 + .../cement}/plugins/example.py | 0 .../etc/cement/plugins.d/example.plugin | 15 +++++++++++ plugins/cement-plugins-example/setup.py | 27 +++++++++++++++++++ setup.py | 2 +- 8 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 plugins/cement-plugins-example/cement/__init__.py create mode 100644 plugins/cement-plugins-example/cement/plugins/__init__.py rename {cement => plugins/cement-plugins-example/cement}/plugins/example.py (100%) create mode 100644 plugins/cement-plugins-example/etc/cement/plugins.d/example.plugin create mode 100644 plugins/cement-plugins-example/setup.py diff --git a/cement/paste/commands.py b/cement/paste/commands.py index 6fc614ba..43a260c1 100644 --- a/cement/paste/commands.py +++ b/cement/paste/commands.py @@ -173,15 +173,15 @@ Example usage:: self.__dict__.update(self.options.__dict__) if self.args: - self.project = self.args[0] - self.plugin = self.args[1] + self.project = self.args[0].lower() + self.plugin = self.args[1].lower() while not self.project: - self.project = raw_input("Enter project name: ") + self.project = raw_input("Enter project name: ").lower() while not self.plugin: - self.plugin = raw_input("Enter plugin name: ") + self.plugin = raw_input("Enter plugin name: ").lower() - package = "%s-plugins-%s" % (self.project.lower(), self.plugin.lower()) + package = "%s-plugins-%s" % (self.project, self.plugin) package = beginning_letter.sub("", package) package = valid_only.sub("_", package) if package: diff --git a/examples/CementExample/etc/cement-example/cement-example.conf b/examples/CementExample/etc/cement-example/cement-example.conf index de9d6a72..798a028f 100644 --- a/examples/CementExample/etc/cement-example/cement-example.conf +++ b/examples/CementExample/etc/cement-example/cement-example.conf @@ -15,7 +15,7 @@ myoption = this is my option # plugin is from within CementExample directly (be it a core plugin if you # will). The 'example' plugin comes from the CementExamplePlugin and is # an external 3rd party plugin. -enabled_plugins = clibasic, +enabled_plugins = clibasic, example, # this is just a cosmetic option... whether to show 'loading plugin...' # on application startup. diff --git a/plugins/cement-plugins-example/cement/__init__.py b/plugins/cement-plugins-example/cement/__init__.py new file mode 100644 index 00000000..b0d64337 --- /dev/null +++ b/plugins/cement-plugins-example/cement/__init__.py @@ -0,0 +1 @@ +__import__('pkg_resources').declare_namespace(__name__) \ No newline at end of file diff --git a/plugins/cement-plugins-example/cement/plugins/__init__.py b/plugins/cement-plugins-example/cement/plugins/__init__.py new file mode 100644 index 00000000..b0d64337 --- /dev/null +++ b/plugins/cement-plugins-example/cement/plugins/__init__.py @@ -0,0 +1 @@ +__import__('pkg_resources').declare_namespace(__name__) \ No newline at end of file diff --git a/cement/plugins/example.py b/plugins/cement-plugins-example/cement/plugins/example.py similarity index 100% rename from cement/plugins/example.py rename to plugins/cement-plugins-example/cement/plugins/example.py diff --git a/plugins/cement-plugins-example/etc/cement/plugins.d/example.plugin b/plugins/cement-plugins-example/etc/cement/plugins.d/example.plugin new file mode 100644 index 00000000..d762b1c3 --- /dev/null +++ b/plugins/cement-plugins-example/etc/cement/plugins.d/example.plugin @@ -0,0 +1,15 @@ +[example] +# This is a cement plugin configuration file. Once parsed, the +# values from here will be accessible from: +# +# config['plugins']['example']['param'] = value +# + +param1 = value1 +param2 = value two + +# true/false equate to True/False in python +param3 = true + +# equates to ['my', 'list', 'of', 'values'] +param5 = my, list, of, values, \ No newline at end of file diff --git a/plugins/cement-plugins-example/setup.py b/plugins/cement-plugins-example/setup.py new file mode 100644 index 00000000..9da528a9 --- /dev/null +++ b/plugins/cement-plugins-example/setup.py @@ -0,0 +1,27 @@ +from setuptools import setup, find_packages +import sys, os + +setup(name='CementExamplePlugin', + version='0.1', + description='Example Plugin for Applications Built on Cement', + classifiers=[], + keywords='', + author='BJ Dierkes', + author_email='wdierkes@5dollarwhitebox.org', + url='http://github.com/derks/cement', + license='GNU GPLv3', + packages=find_packages(exclude=['ez_setup', 'examples', 'tests']), + include_package_data=True, + zip_safe=False, + install_requires=[ + "ConfigObj", + "Cement", + ], + setup_requires=[ + "PasteScript >= 1.7" + ], + test_suite='nose.collector', + entry_points=""" + """, + namespace_packages=['cement', 'cement.plugins'], + ) diff --git a/setup.py b/setup.py index 101685dd..937e3188 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ using cement. """ -setup(name='cement', +setup(name='Cement', version=version, description="Python CLI Application Framework", long_description=LONG,