[PATCH 13 of 17 v3] cli: convert 'gearbox make-rcext' in 'kallithea-cli extensions-create'
Thomas De Schampheleire
patrickdepinguin at gmail.com
Thu Oct 18 20:49:36 UTC 2018
# HG changeset patch
# User Thomas De Schampheleire <thomas.de_schampheleire at nokia.com>
# Date 1539806363 -7200
# Wed Oct 17 21:59:23 2018 +0200
# Node ID 795afb2faf6aa22f54f18b8d61eff80e93304ae4
# Parent afaa88076a9e6fb9df4a676b0232f0a3c810fe3d
cli: convert 'gearbox make-rcext' in 'kallithea-cli extensions-create'
Note: 'extensions' instead of 'rcextensions' as first step to get away from
the 'rc' prefix.
diff --git a/docs/usage/customization.rst b/docs/usage/customization.rst
--- a/docs/usage/customization.rst
+++ b/docs/usage/customization.rst
@@ -55,7 +55,7 @@ overwrite an entire function, change a g
To generate a skeleton extensions package, run::
- gearbox make-rcext -c my.ini
+ kallithea-cli extensions-create my.ini
This will create an ``rcextensions`` package next to the specified ``ini`` file.
See the ``__init__.py`` file inside the generated ``rcextensions`` package
diff --git a/kallithea/bin/kallithea_cli.py b/kallithea/bin/kallithea_cli.py
--- a/kallithea/bin/kallithea_cli.py
+++ b/kallithea/bin/kallithea_cli.py
@@ -20,6 +20,7 @@ import kallithea.bin.kallithea_cli_db
import kallithea.bin.kallithea_cli_cache
import kallithea.bin.kallithea_cli_celery
import kallithea.bin.kallithea_cli_config
+import kallithea.bin.kallithea_cli_extensions
import kallithea.bin.kallithea_cli_iis
import kallithea.bin.kallithea_cli_ishell
import kallithea.bin.kallithea_cli_repo
diff --git a/kallithea/lib/paster_commands/make_rcextensions.py b/kallithea/bin/kallithea_cli_extensions.py
rename from kallithea/lib/paster_commands/make_rcextensions.py
rename to kallithea/bin/kallithea_cli_extensions.py
--- a/kallithea/lib/paster_commands/make_rcextensions.py
+++ b/kallithea/bin/kallithea_cli_extensions.py
@@ -12,52 +12,46 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
-kallithea.lib.paster_commands.make_rcextensions
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-make-rcext gearbox command for Kallithea
-
-This file was forked by the Kallithea project in July 2014.
+This file was forked by the Kallithea project in July 2014 and later moved.
Original author and date, and relevant copyright and licensing information is below:
:created_on: Mar 6, 2012
:author: marcink
:copyright: (c) 2013 RhodeCode GmbH, and others.
:license: GPLv3, see LICENSE.md for more details.
"""
-
+import click
+from kallithea.bin.kallithea_cli_base import cli
+import kallithea.bin.kallithea_cli_util as cli_util
import os
import pkg_resources
-from kallithea.lib.paster_commands.common import ask_ok, BasePasterCommand
-
+import kallithea
-class Command(BasePasterCommand):
- """Kallithea: Write template file for extending Kallithea in Python
+ at cli.command()
+ at cli_util.auto_setup_app(config_only=True)
+def extensions_create(config_file):
+ """Write template file for extending Kallithea in Python.
- A rcextensions directory with a __init__.py file will be created next to
+ An rcextensions directory with a __init__.py file will be created next to
the ini file. Local customizations in that file will survive upgrades.
The file contains instructions on how it can be customized.
"""
-
- requires_db_session = False
+ here = kallithea.CONFIG['here']
+ content = pkg_resources.resource_string(
+ 'kallithea', os.path.join('config', 'rcextensions', '__init__.py')
+ )
+ ext_file = os.path.join(here, 'rcextensions', '__init__.py')
+ if os.path.exists(ext_file):
+ msg = ('Extension file %s already exists, do you want '
+ 'to overwrite it ? [y/n] ') % ext_file
+ if not cli_util.ask_ok(msg):
+ click.echo('Nothing done, exiting...')
+ return
- def take_action(self, args):
- here = self.config['here']
- content = pkg_resources.resource_string(
- 'kallithea', os.path.join('config', 'rcextensions', '__init__.py')
- )
- ext_file = os.path.join(here, 'rcextensions', '__init__.py')
- if os.path.exists(ext_file):
- msg = ('Extension file %s already exists, do you want '
- 'to overwrite it ? [y/n]') % ext_file
- if not ask_ok(msg):
- print 'Nothing done, exiting...'
- return
-
- dirname = os.path.dirname(ext_file)
- if not os.path.isdir(dirname):
- os.makedirs(dirname)
- with open(ext_file, 'wb') as f:
- f.write(content)
- print 'Wrote new extensions file to %s' % ext_file
+ dirname = os.path.dirname(ext_file)
+ if not os.path.isdir(dirname):
+ os.makedirs(dirname)
+ with open(ext_file, 'wb') as f:
+ f.write(content)
+ click.echo('Wrote new extensions file to %s' % ext_file)
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -159,7 +159,6 @@ setuptools.setup(
[gearbox.commands]
make-index=kallithea.lib.paster_commands.make_index:Command
- make-rcext=kallithea.lib.paster_commands.make_rcextensions:Command
upgrade-db=kallithea.lib.dbmigrate:UpgradeDb
""",
)
More information about the kallithea-general
mailing list