core: added two new commands rcsetup-app and rcupgrade-db that will

replace pserve equivalents.

- pserver uses some internals from pylons, and we want to remove this.
This commit is contained in:
Marcin Kuzminski 2017-08-04 15:42:14 +02:00
parent c18fe82344
commit 5286b2484f
3 changed files with 74 additions and 0 deletions

View file

@ -0,0 +1,35 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2016-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 click
from pyramid.paster import bootstrap
from pyramid.request import Request
import pyramid.paster
@click.command()
@click.argument('ini_path', type=click.Path(exists=True))
def main(ini_path):
pyramid.paster.setup_logging(ini_path)
request = Request.blank('/', base_url='https://rhodecode-app.com/')
with bootstrap(ini_path, request=request) as env:
print(env['request'].application_url)

View file

@ -0,0 +1,37 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2016-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 click
from pyramid.paster import bootstrap
from pyramid.request import Request
import pyramid.paster
@click.command()
@click.argument('ini_path', type=click.Path(exists=True))
def main(ini_path):
pyramid.paster.setup_logging(ini_path)
request = Request.blank('/', base_url='https://rhodecode-app.com/')
with bootstrap(ini_path, request=request) as env:
print(env['request'].application_url)

View file

@ -249,6 +249,8 @@ setup(
],
'console_scripts': [
'rcserver=rhodecode.rcserver:main',
'rcsetup-app=rhodecode.lib.rc_commands.setup_rc:main',
'rcupgrade-db=rhodecode.lib.rc_commands.upgrade_db:main',
],
'beaker.backends': [
'memorylru_base=rhodecode.lib.memory_lru_debug:MemoryLRUNamespaceManagerBase',