15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)import download 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)from sdk_update_common import Error 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def AddSource(config, url): 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) try: 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) download.UrlOpen(url) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) except Exception as e: 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) raise Error('Not adding %s, unable to load URL.\n %s' % (url, e)) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) config.AddSource(url) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def RemoveSource(config, url): 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if url == 'all': 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) config.RemoveAllSources() 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) else: 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) config.RemoveSource(url) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)def ListSources(config): 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if config.sources: 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print 'Installed sources:' 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) for s in config.sources: 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print ' ' + s 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) else: 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) print 'No external sources installed.' 30