paster: further deprecated certain commands from paster.

- replaced by rc-* type executables as recommended for pyramid.
This commit is contained in:
Marcin Kuzminski 2017-11-17 11:38:54 +01:00
parent 95badaea26
commit 2775417d96
6 changed files with 24 additions and 233 deletions

View file

@ -29,7 +29,7 @@ class Command(BasePasterCommand):
Starts the celery worker that uses a paste.deploy configuration
file.
"""
usage = 'CONFIG_FILE [celeryd options...]'
usage = 'CONFIG_FILE'
summary = __doc__.splitlines()[0]
description = "".join(__doc__.splitlines()[2:])
@ -40,4 +40,5 @@ class Command(BasePasterCommand):
def command(self):
cmd = 'celery worker --beat --app rhodecode.lib.celerylib.loader --loglevel DEBUG --ini=%s' % self.path_to_ini_file
raise Exception('This Command is deprecated please run: %s' % cmd)
raise Exception('This Command is deprecated please run: %s' % cmd)

View file

@ -1,64 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2013-2017 RhodeCode GmbH
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License, version 3
# (only), as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This program is dual-licensed. If you wish to learn more about the
# RhodeCode Enterprise Edition, including its added features, Support services,
# and proprietary license terms, please see https://rhodecode.com/licenses/
"""
deprecated make-config paster command for RhodeCode
"""
import os
import sys
from paste.script.appinstall import AbstractInstallCommand
# fix rhodecode import
from os.path import dirname as dn
rc_path = dn(dn(dn(os.path.realpath(__file__))))
sys.path.append(rc_path)
class Command(AbstractInstallCommand):
default_verbosity = 1
max_args = None
min_args = 1
summary = "*DEPRECATED* Install a package and create a fresh config file/directory"
usage = "PACKAGE_NAME [CONFIG_FILE] [VAR=VALUE]"
description = """\
Note: this is an experimental command, and it will probably change
in several ways by the next release.
make-config is part of a two-phase installation process (the
second phase is setup-app). make-config installs the package
(using easy_install) and asks it to create a bare configuration
file or directory (possibly filling in defaults from the extra
variables you give).
"""
parser = AbstractInstallCommand.standard_parser(
simulate=True, quiet=True, no_interactive=True)
def command(self):
sys.stderr.write(
'** Warning **\n'
'This command is now removed and depracated, please '
'use new rhodecode-config command instead.')
sys.exit(-1)
def update_parser(self):
pass

View file

@ -19,26 +19,25 @@
# and proprietary license terms, please see https://rhodecode.com/licenses/
import logging
from rhodecode.lib.rc_commands.setup_rc import command as setup_command
log = logging.getLogger(__name__)
from rhodecode.lib.paster_commands import BasePasterCommand
def setup_app(command, conf, vars):
opts = command.options.__dict__
class Command(BasePasterCommand):
"""
Start the celery worker
# mapping of old parameters to new CLI from click
options = dict(
ini_path=command.args[0],
force_yes=opts.get('force_ask'),
user=opts.get('username'),
email=opts.get('email'),
password=opts.get('password'),
api_key=opts.get('api_key'),
repos=opts.get('repos_location'),
public_access=opts.get('public_access')
)
setup_command(**options)
Starts the celery worker that uses a paste.deploy configuration
file.
"""
usage = 'CONFIG_FILE [celeryd options...]'
summary = __doc__.splitlines()[0]
description = "".join(__doc__.splitlines()[2:])
parser = BasePasterCommand.standard_parser(quiet=True)
def update_parser(self):
pass
def command(self):
cmd = 'rc-setup-app %s' % self.path_to_ini_file
raise Exception('This Command is deprecated please run: %s' % cmd)

View file

@ -1,145 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2010-2017 RhodeCode GmbH
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License, version 3
# (only), as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# This program is dual-licensed. If you wish to learn more about the
# RhodeCode Enterprise Edition, including its added features, Support services,
# and proprietary license terms, please see https://rhodecode.com/licenses/
import os
import sys
from paste.script.appinstall import AbstractInstallCommand
from paste.script.command import BadCommand
from paste.deploy import appconfig
# fix rhodecode import
from os.path import dirname as dn
rc_path = dn(dn(dn(os.path.realpath(__file__))))
sys.path.append(rc_path)
class Command(AbstractInstallCommand):
default_verbosity = 1
max_args = 1
min_args = 1
summary = "Setup an application, given a config file"
usage = "CONFIG_FILE"
group_name = "RhodeCode"
description = """\
Setup RhodeCode according to its configuration file. This is
the second part of a two-phase web application installation
process (the first phase is prepare-app). The setup process
consist of things like setting up databases, creating super user
"""
parser = AbstractInstallCommand.standard_parser(
simulate=True, quiet=True, interactive=True)
parser.add_option(
'--user',
action='store',
dest='username',
default=None,
help='Admin Username')
parser.add_option(
'--email',
action='store',
dest='email',
default=None,
help='Admin Email')
parser.add_option(
'--password',
action='store',
dest='password',
default=None,
help='Admin password min 6 chars')
parser.add_option(
'--api-key',
action='store',
dest='api_key',
help='Initial API key for the admin user')
parser.add_option(
'--repos',
action='store',
dest='repos_location',
default=None,
help='Absolute path to repositories location')
parser.add_option(
'--name',
action='store',
dest='section_name',
default=None,
help='The name of the section to set up (default: app:main)')
parser.add_option(
'--force-yes',
action='store_true',
dest='force_ask',
default=None,
help='Force yes to every question')
parser.add_option(
'--force-no',
action='store_false',
dest='force_ask',
default=None,
help='Force no to every question')
parser.add_option(
'--public-access',
action='store_true',
dest='public_access',
default=None,
help='Enable public access on this installation (default)')
parser.add_option(
'--no-public-access',
action='store_false',
dest='public_access',
default=None,
help='Disable public access on this installation ')
def command(self):
config_spec = self.args[0]
section = self.options.section_name
if section is None:
if '#' in config_spec:
config_spec, section = config_spec.split('#', 1)
else:
section = 'main'
if ':' not in section:
plain_section = section
section = 'app:' + section
else:
plain_section = section.split(':', 1)[0]
if not config_spec.startswith('config:'):
config_spec = 'config:' + config_spec
if plain_section != 'main':
config_spec += '#' + plain_section
config_file = config_spec[len('config:'):].split('#', 1)[0]
config_file = os.path.join(os.getcwd(), config_file)
self.logging_file_config(config_file)
conf = appconfig(config_spec, relative_to=os.getcwd())
ep_name = conf.context.entry_point_name
ep_group = conf.context.protocol
dist = conf.context.distribution
if dist is None:
raise BadCommand(
"The section %r is not the application (probably a filter). "
"You should add #section_name, where section_name is the "
"section that configures your application" % plain_section)
installer = self.get_installer(dist, ep_group, ep_name)
installer.setup_config(
self, config_file, section, self.sysconfig_install_vars(installer))
self.call_sysconfig_functions(
'post_setup_hook', installer, config_file)

View file

@ -59,4 +59,5 @@ class UpgradeDb(BasePasterCommand):
action='store_false',
dest='force_ask',
default=None,
help='Force no to every question')
help='Force no to every question')

View file

@ -155,11 +155,10 @@ setup(
'main=rhodecode.config.middleware:make_pyramid_app',
],
'paste.global_paster_command': [
'setup-rhodecode=rhodecode.lib.paster_commands.setup_rhodecode:Command',
'ishell=rhodecode.lib.paster_commands.ishell:Command',
'upgrade-db=rhodecode.lib.paster_commands.upgrade_db:UpgradeDb',
'make-config=rhodecode.lib.paster_commands.make_config:Command',
'setup-rhodecode=rhodecode.lib.paster_commands.deprecated.setup_rhodecode:Command',
'celeryd=rhodecode.lib.paster_commands.deprecated.celeryd:Command',
],
'pyramid.pshell_runner': [