diff --git a/README.rst b/README.rst index d3527c36..e26c5d61 100644 --- a/README.rst +++ b/README.rst @@ -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 diff --git a/openstack_election/cmds/create_directories.py b/openstack_election/cmds/create_directories.py new file mode 100755 index 00000000..c12c32eb --- /dev/null +++ b/openstack_election/cmds/create_directories.py @@ -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)) diff --git a/setup.cfg b/setup.cfg index f582f577..1e74144b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -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 diff --git a/tools/new-election.py b/tools/new-election.py deleted file mode 100755 index f9845c7f..00000000 --- a/tools/new-election.py +++ /dev/null @@ -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")