Import the new-election tool as create-directories
Change-Id: I9a1dc9f22683852af1527449b2b46c2eaf78ad9c
This commit is contained in:
parent
4d473dc0bd
commit
f6507b695d
@ -14,10 +14,10 @@ Preparation
|
||||
|
||||
A month before election starts:
|
||||
|
||||
* Prepare new election, e.g.:
|
||||
* tox -evenv -- new-election.py pike
|
||||
* Edit elections details (timeline, cycle timeframe):
|
||||
* edit configuration.yaml
|
||||
* Prepare new election, e.g.:
|
||||
* tox -evenv -- create-directories
|
||||
* Update index.rst to include ptl.rst
|
||||
* Commit to update website
|
||||
|
||||
|
41
openstack_election/cmds/create_directories.py
Executable file
41
openstack_election/cmds/create_directories.py
Executable file
@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from __future__ import absolute_import
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import os
|
||||
|
||||
from openstack_election import utils
|
||||
|
||||
|
||||
def main():
|
||||
if not os.path.isdir("candidates"):
|
||||
print("candidates directory not found")
|
||||
exit(1)
|
||||
|
||||
base_dir = "candidates/%s" % utils.conf['release']
|
||||
if os.path.exists(base_dir):
|
||||
print("%s: directory already exists" % base_dir)
|
||||
exit(1)
|
||||
|
||||
projects = utils.get_projects()
|
||||
project_list = projects.keys()
|
||||
project_list.sort()
|
||||
for project in project_list + ["TC"]:
|
||||
dpath = "%s/%s" % (base_dir, utils.name2dir(project))
|
||||
os.makedirs(dpath)
|
||||
open("%s/.placeholder" % dpath, "w").close()
|
||||
print("[+] Created %s" % (dpath))
|
@ -27,6 +27,7 @@ console_scripts =
|
||||
update-governance = openstack_election.cmds.update_governance:main
|
||||
close-election = openstack_election.cmds.close_election:main
|
||||
search-rolls = openstack_election.cmds.search_rolls:main
|
||||
create-directories = openstack_election.cmds.create_directories:main
|
||||
|
||||
[build_sphinx]
|
||||
all_files = 1
|
||||
|
@ -1,48 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from __future__ import absolute_import
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import argparse
|
||||
import os
|
||||
|
||||
from openstack_election import utils
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('name', help='The release cycle name')
|
||||
parser.add_argument("--root", help='Election directory', default='.')
|
||||
options = parser.parse_args()
|
||||
|
||||
os.chdir(options.root)
|
||||
if not os.path.isdir("candidates"):
|
||||
print("candidates directory not found")
|
||||
exit(1)
|
||||
|
||||
if os.path.exists("candidates/%s" % options.name):
|
||||
print("candidates/%s: directory already exists" % (options.name))
|
||||
exit(1)
|
||||
|
||||
projects = utils.get_projects()
|
||||
project_list = projects.keys()
|
||||
project_list.sort()
|
||||
for project in project_list + ["TC"]:
|
||||
dpath = "candidates/%s/%s" % (options.name, utils.name2dir(project))
|
||||
os.makedirs(dpath)
|
||||
open("%s/.placeholder" % dpath, "w").close()
|
||||
print("[+] Created %s" % (dpath))
|
||||
|
||||
print("Done. Now please manually update events.yaml and "
|
||||
"doc/source/index.rst substitutions")
|
Loading…
Reference in New Issue
Block a user