本文整理汇总了Python中trac.env.Environment.get_repository方法的典型用法代码示例。如果您正苦于以下问题:Python Environment.get_repository方法的具体用法?Python Environment.get_repository怎么用?Python Environment.get_repository使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类trac.env.Environment
的用法示例。
在下文中一共展示了Environment.get_repository方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_project
# 需要导入模块: from trac.env import Environment [as 别名]
# 或者: from trac.env.Environment import get_repository [as 别名]
#.........这里部分代码省略.........
command = create_distro_command(interactive=self.interactive)
# check for missing variables
missing = templates.missing(vars)
missing.update(set(optdict.keys()).difference(vars.keys()))
if return_missing:
return missing
if missing:
# use default repo fields if they are missing
for field in repo_fields:
if field in missing:
vars[field] = repo_fields[field]
missing.remove(field)
# add missing variables to the optdict
for missed in missing:
if missed not in optdict:
optdict[missed] = var(missed, '')
if missing:
paste_template = Template(project)
paste_template._read_vars = dict2vars(optdict) # XXX bad touch
paste_template.check_vars(vars, command)
# run the pre method of the pastescript templates
# XXX should this be done here?
command.interactive = False
for paste_template in templates.pastescript_templates:
paste_template.pre(command, dirname, vars)
### create the database
if database:
database.setup(**vars)
### create the trac environment
options = templates.options_tuples(vars)
options.append(('project', 'name', project)) # XXX needed?
if self.inherit:
options.append(('inherit', 'file', self.inherit))
env = Environment(dirname, create=True, options=options)
### repository setup
if repository:
repository.setup(**vars)
try:
repos = env.get_repository()
repos.sync()
except TracError:
pass
### read the generated configuration
_conf_file = os.path.join(dirname, 'conf', 'trac.ini')
fp = file(_conf_file)
_conf = fp.read()
fp.close()
### run pastescript templates
for paste_template in templates.pastescript_templates:
paste_template.write_files(command, dirname, vars)
paste_template.post(command, dirname, vars)
# read permissions
for agent, perm in paste_template.permissions.items():
permissions.setdefault(agent, []).extend(perm)
# read wiki directories
wiki_dir = paste_template.wiki_dir()
if wiki_dir is not None:
wiki.append(wiki_dir)
# write back munged configuration
munger = ConfigMunger(_conf, options)
fp = file(_conf_file, 'w')
munger.write(fp)
fp.close()
# TODO: update the inherited file:
# * intertrac
# trac-admin upgrade the project
env = Environment(dirname)
if env.needs_upgrade():
env.upgrade()
### trac-admin operations
admin = TracLegosAdmin(dirname)
# remove the default items
admin.delete_all()
# load wiki pages
admin.load_pages() # default wiki pages
for page_dir in wiki:
admin.load_pages(page_dir)
# add permissions
if permissions:
admin.add_permissions(permissions)