Files
@ d561eb3787f5
Branch filter:
Location: kallithea/rhodecode/config/setup_rhodecode.py - annotation
d561eb3787f5
3.8 KiB
text/x-python
header: don't use fixed position
A fixed div at the top prevents anchors and pageup/pagedown from working
correctly ... and it is not like the top menu items are used all the time -
next/previous page links would be more relevant to show in a fixed position.
made the upper menu as a dropdown to old fixed mode by clicking upper
semi transparent bar
A fixed div at the top prevents anchors and pageup/pagedown from working
correctly ... and it is not like the top menu items are used all the time -
next/previous page links would be more relevant to show in a fixed position.
made the upper menu as a dropdown to old fixed mode by clicking upper
semi transparent bar
5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 29630805893d 29630805893d 29630805893d 29630805893d 29630805893d 29630805893d 29630805893d 29630805893d 29630805893d 29630805893d 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 29630805893d 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 5893414dea91 | import os
from paste.script.appinstall import AbstractInstallCommand
from paste.script.command import BadCommand
from paste.deploy import appconfig
class SetupCommand(AbstractInstallCommand):
default_verbosity = 1
max_args = 1
min_args = 1
summary = "Setup an application, given a config file"
usage = "CONFIG_FILE"
description = """\
Note: this is an experimental command, and it will probably change
in several ways by the next release.
Setup an application 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 may
consist of things like creating directories and setting up
databases.
"""
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('--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')
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)
|