add a flag to load snaps from example directory

This commit is contained in:
Michael Hudson-Doyle 2018-05-21 14:25:48 +12:00
parent 9426510e79
commit ff19ac4409
2 changed files with 9 additions and 4 deletions

View File

@ -72,6 +72,7 @@ def parse_options(argv):
parser.add_argument('--script', metavar="SCRIPT", action='append', dest='scripts', default=[], help='Execute SCRIPT in a namespace containing view helpers and "ui"')
parser.add_argument('--click', metavar="PAT", action=ClickAction, help='Synthesize a click on a button matching PAT')
parser.add_argument('--answers')
parser.add_argument('--snaps-from-examples', action='store_true', help="Load snap details from sample data, not store")
return parser.parse_args(argv)

View File

@ -29,14 +29,12 @@ from subiquity.ui.views.snaplist import SnapListView
log = logging.getLogger('subiquity.controllers.snaplist')
class SnapInfoLoader:
def __init__(self):
pass
class SampleDataSnapInfoLoader:
def __init__(self, model, snap_data_dir):
self.model = model
self.state = "not running"
self.snap_data_dir = snap_data_dir
def start(self):
@ -49,6 +47,7 @@ class SampleDataSnapInfoLoader:
self.model.load_info_data(json.load(fp))
self.state = "loaded"
class SnapdSnapInfoLoader:
def __init__(self, model, run_in_bg, sock):
@ -159,7 +158,12 @@ class SnapListController(BaseController):
return
else:
self.loader.stop()
self.loader = SnapdSnapInfoLoader(self.model, self.run_in_bg, '/run/snapd.socket')
if self.opts.snaps_from_examples:
self.loader = SampleDataSnapInfoLoader(
self.model,
os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "examples", "snaps"))
else:
self.loader = SnapdSnapInfoLoader(self.model, self.run_in_bg, '/run/snapd.socket')
self.loader.start()
def network_config_done(self, netplan_path):