Remove config command - the config isn't used any more

The only use case left is displaying 'todo' config on accept - but staging managers
don't use this. So we may need a different solution later
This commit is contained in:
Stephan Kulow 2019-10-09 09:09:50 +02:00
parent dd9b7ec84f
commit 9235ab50db
4 changed files with 0 additions and 86 deletions

View File

@ -23,7 +23,6 @@ from osclib.check_command import CheckCommand
from osclib.check_duplicate_binaries_command import CheckDuplicateBinariesCommand
from osclib.cleanup_rings import CleanupRings
from osclib.conf import Config
from osclib.config_command import ConfigCommand
from osclib.freeze_command import FreezeCommand
from osclib.ignore_command import IgnoreCommand
from osclib.unignore_command import UnignoreCommand
@ -122,8 +121,6 @@ def clean_args(args):
@cmdln.option('--strategy', help='apply a specific strategy')
@cmdln.option('--no-color', action='store_true', help='strip colors from output (or add staging.color = 0 to the .oscrc general section')
@cmdln.option('--save', action='store_true', help='save the result to the pseudometa package')
@cmdln.option('--append', action='store_true', help='append to existing value')
@cmdln.option('--clear', action='store_true', help='clear value')
def do_staging(self, subcmd, opts, *args):
"""${cmd_name}: Commands to work with staging projects
@ -144,35 +141,6 @@ def do_staging(self, subcmd, opts, *args):
"check_duplicate_binaries" list binaries provided by multiple packages
"config" will modify or view staging specific configuration
Target project OSRT:Config attribute configuration applies to all
stagings. Both configuration locations follow the .oscrc format (space
separated list).
config
Print all staging configuration.
config key
Print the value of key for stagings.
conf key value...
Set the value of key for stagings.
config --clear
Clear all staging configuration.
config --clear key
Clear (unset) a single key from staging configuration
config --append key value...
Append value to existing value or set if no existing value.
All of the above may be restricted to a set of stagings.
The staging configuration is automatically cleared anytime staging
psuedometa is cleared (accept, or unstage all requests).
The keys that may be set in staging configuration are:
- repo_checker-binary-whitelist[-arch]: appended to target project list
- todo: text to be printed after staging is accepted
"cleanup_rings" will try to cleanup rings content and print
out problems
@ -332,7 +300,6 @@ def do_staging(self, subcmd, opts, *args):
osc staging adi [--move] [--by-develproject] [--split] [REQUEST...]
osc staging check [STAGING...]
osc staging check_duplicate_binaries
osc staging config [--append] [--clear] [STAGING...] [key] [value]
osc staging cleanup_rings
osc staging freeze [--no-bootstrap] STAGING...
osc staging frozenage [STAGING...]
@ -442,25 +409,6 @@ def do_staging(self, subcmd, opts, *args):
print()
elif cmd == 'check_duplicate_binaries':
CheckDuplicateBinariesCommand(api).perform(opts.save)
elif cmd == 'config':
projects = set()
key = value = None
stagings = api.get_staging_projects_short(None) + \
api.get_staging_projects()
for arg in args[1:]:
if arg in stagings:
projects.add(api.prj_from_short(arg))
elif key is None:
key = arg
elif value is None:
value = arg
else:
value += ' ' + arg
if not len(projects):
projects = api.get_staging_projects()
ConfigCommand(api).perform(projects, key, value, opts.append, opts.clear)
elif cmd == 'freeze':
for prj in args[1:]:
prj = api.prj_from_short(prj)

View File

@ -13,7 +13,6 @@ from osc.core import change_request_state, show_package_meta, wipebinaries
from osc.core import http_GET, http_PUT, http_DELETE, http_POST
from osc.core import delete_package, search, set_devel_project
from osc.util.helper import decode_it
from osclib.config_command import ConfigCommand
from osclib.core import attribute_value_save
from osclib.core import attribute_value_load
from osclib.core import source_file_load
@ -98,7 +97,6 @@ class AcceptCommand(object):
self.api.accept_status_comment(project, packages)
self.api.staging_deactivate(project)
ConfigCommand(self.api).perform([project], 'todo')
return True

View File

@ -1,28 +0,0 @@
class ConfigCommand(object):
def __init__(self, api):
self.api = api
def perform(self, projects, key=None, value=None, append=False, clear=False):
project_max_format = '{:<' + str(len(max(projects, key=len))) + '} {}'
for project in projects:
meta = self.api.get_prj_pseudometa(project)
meta.setdefault('config', {})
if clear:
if key:
meta['config'].pop(key, None)
else:
meta.pop('config', None)
self.api.set_prj_pseudometa(project, meta)
elif value:
value_project = value
if append:
value_project = ' '.join([meta['config'].get(key, ''), value_project.strip()])
meta['config'][key] = value_project.strip()
self.api.set_prj_pseudometa(project, meta)
keys = [key] if key else meta.get('config', {}).keys()
for key_print in keys:
print('{} = {}'.format(
project_max_format.format(project, key_print) if len(projects) > 1 else key_print,
meta['config'].get(key_print)))

View File

@ -1,4 +1,3 @@
from osclib.config_command import ConfigCommand
from osclib.core import source_file_load
from osclib.core import source_file_save
import time
@ -110,9 +109,6 @@ class FreezeCommand(object):
def perform(self, prj, copy_bootstrap=True):
self.prj = prj
# Depending on what eventually lives in config this may need to change.
ConfigCommand(self.api).perform([prj], clear=True)
if self.api.is_adi_project(prj):
src_prj = self.api.find_devel_project_from_adi_frozenlinks(self.prj)
if src_prj is None: