Skip to main content

Misc helper-scripts for creating and expanding Plone-Add-Ons.

Project description

Introduction
============

Yet another command-line Plone-Add-On-Generator, just the way I like it:

No dependencies, no possible conflicts, some Python-methods, that's all.

Most commands expect the path to the addon as last parameter and defaults
to the location where the command is executed. Do no matter where in the addon
you are, you can execute commands without the need to be in a certain expected
location or passing a path, for less typing.


Installation
=============

pip install adi.devgen


Development-versions:

pip install -e git+https://github.com/ida/adi.devgen.git#egg=adi.devgen
pip install -e git+https://github.com/ida/adi.commons.git#egg=adi.commons


Alternatively add `adi.devgen` as an egg to your buildout, then
the `devgen`-executable will be available in its bin-directory, of
which you can call it then, like: `./bin/devgen`.


Configuration
=============

If a file '~/.buildout/devgen.cfg' is present, values will be read of it and
inserted into the `setup.py` of a generated addon. Its format is expected to be like:

author=Arbi Trary

author_email=arbi@tra.ry

url=https://github.com/arbitrary/your.addon


Usage
=====

Type the command alone, to get a list of the available generator-functions:

$ devgen


To get a choosen function's help-text, type:

$ devgen [FUNCTION_NAME] help


Examples
========

Create boilerplate for an addon, that can do nothing, but be installed in a Plonesite:

$ devgen addProfile your.addon


Create it not in the directory, where you are, but somewhere else:

$ devgen addProfile some/where/else/your.addon


Register another addon as a dependency to your addon:

$ devgen addDep collective.bestaddonever some/where/your.addon

Or, first locate into your addon, then you can omit the appended path:

$ cd your.addon
$ devgen addDep collective.bestaddonever

By the way, most commands work of within any location inside of an addon
and no need to pass a path.

Register and add a browser-based stylesheet named 'main.css' in
'your.addon/your/addon/browser/resources':

$ devgen addCss

Register and add a browser-based Javascript named 'magic.js' in
'your.addon/your/addon/browser/resources':

$ devgen addJS magic


Register and add a browser-based Template named 'main.pt' and a
Python-script named 'main.py' with an example how to retrieve a
computed value of the script in the template via TAL, in:
'your.addon/your/addon/browser/resources':

$ devgen addView

The view can then be called in a browser like this:

http://localhost:8080/Plone/++resource++your.addon.resources/your_addon_main_view

Where 'main' is the default name for the files, you can choose any other:

$ devgen addView any_other

That'll be:

http://localhost:8080/Plone/++resource++your.addon.resources/your_addon_any_other_view


TODO
====

- Regard more than one dotted namespace for addon.

- Possibly transfer:
https://github.com/ida/skriptz/blob/master/plone/Dexterity/addField.py


Changelog
=========

0.9 (2015-11-18)
----------------

- Add addView().

- Add default-values of a function's expected arguments to help-msg.

- Fix path: Use dot instead of slash, for a resources' paths in
js-registry-generation.

- Let getAddonPath() fail with an exit, to prevent further
code-executions.

- Rename addBrowserSkel() to addBrowser(), addSkinSkel() to addSkin,
and so on, for less typing.

- Fix addBrowser() and addSkin() from scratch – if not added on top of existing
addon.

- Improve addAndRegisterView().


0.8 (151002)
------------

- Generate missing browser-slug in config.

- Change docs from MD-format to RST, as pypi requires.

- Add addCss() and addJs().


0.7 (150926)
------------

- Fix missing import and typo in setup.py-generation, which broke addons-installs.


0.6 (150923)
------------

- Update README, improve installPlone().


0.5 (150921)
------------

- Fix imports, better hlp-msgs, improve installPlone().


0.4 (150920)
------------

- Update README


0.3 (150920)
------------

- Fix changed import-paths.


0.2 (150920)
------------

- Add adi.commons as dependency.


0.1 (150920)
------------

- Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for adi.devgen, version 0.9
Filename, size File type Python version Upload date Hashes
Filename, size adi.devgen-0.9.tar.gz (22.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page