def auth(self, username=None, password=None): if username is None: from utils.config import cfg username = cfg.get('pymongo').get('username') password = cfg.get('pymongo').get('password') return self.client.admin.authenticate(username, password)
def repo_name_to_url(mbedrepo): from utils.config import cfg repo_url_pattern = "http://mbed.org/users/%s/code/%s/" if not mbedrepo.startswith("http"): # actual URL if not cfg.get("username"): error("Username not specified, cannot build URL.") error("Use 'mbed set --global username=<name>' to set username.") return False mbedrepo = repo_url_pattern % (cfg.get("username"), mbedrepo) if not mbedrepo.endswith('/'): mbedrepo = mbedrepo + '/' return mbedrepo
def __call__(self, args): if not is_mbed_dir(): error("Run this command from a mbed project directory.") return False try: from workspace_tools.build_api import build_project from workspace_tools.targets import TARGET_MAP, TARGET_NAMES from workspace_tools.toolchains import TOOLCHAINS except: error("Unable to initialize build system.") error("Check that 'mbed-tools' is installed.") return False p = OptionParser() p.add_option("-m", "--mcu", dest="mcu") p.add_option("-t", "--toolchain", dest="toolchain") p.add_option("-c", "--clean", action="store_true", dest="clean", default=False) p.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False) p.add_option("-b", "--build", dest="build_dir") (options, args) = p.parse_args(args) if args: return None mcu = options.mcu or cfg.get("mcu") toolchain = options.toolchain or cfg.get("toolchain") if not mcu: error("MCU not specified, aborting.") return False if not toolchain: error("Toolchain not specified, aborting.") return False if not mcu in TARGET_NAMES: error("Invalid MCU '%s', valid choices: %s" % (mcu, ','.join(TARGET_NAMES))) return False if not toolchain in TOOLCHAINS: error("Invalid toolchain '%s', valid choices: %s" % (toolchain, ','.join(TOOLCHAINS))) return False target = TARGET_MAP[mcu] if not toolchain in target.supported_toolchains: error("Toolchain '%s' is not supported for target '%s'." % (toolchain, mcu)) error("Supported toolchains: %s" % ' '.join(target.supported_toolchains)) return False build_dir = options.build_dir or cfg.get("build_dir") or join(os.getcwd(), ".build") if options.build_dir and not cfg.get("build_dir"): cfg.set("build_dir", abspath(options.build_dir)) build_dir = join(build_dir, "%s_%s" % (mcu, toolchain)) try: build_project(os.getcwd(), build_dir, target, toolchain, [], [], linker_script=None, clean=options.clean, verbose=options.verbose) except KeyboardInterrupt, e: info("\n[CTRL+c] exit")
def read_repo_info(conf = None): conf, rlist = conf or cfg, [] total = int(cfg.get("repo.n_repos")) for i in xrange(0, total): rurl = conf.get("repo.url_%d" % i) rdir = conf.get("repo.dir_%d" % i) rfile = conf.get("repo.file_%d" % i) rlist.append({"url": rurl, "dir": rdir, "file": rfile}) return conf.get("repo.name"), rlist
def gen_private_settings(base = None): from utils.config import cfg def format_path(path): return abspath(path).replace('\\', '/') base = base or os.getcwd() with open(join(base, "mbed_settings.py"), "wt") as f: f.write("# Automatically generated file\n") f.write("from os.path import join\n\n") f.write('BUILD_DIR = "%s"\n' % format_path((cfg.get("build_dir") or join(base, ".build")))) armcc = cfg.get("armcc") if armcc: f.write('ARM_PATH = "%s"\n' % format_path(armcc)) f.write('ARM_BIN = join(ARM_PATH, "bin")\n') f.write('ARM_INC = join(ARM_PATH, "include")\n') f.write('ARM_LIB = join(ARM_PATH, "lib")\n') f.write('ARM_CPPLIB = join(ARM_LIB, "cpplib")\n') f.write('uARM_CLIB = join(ARM_PATH, "lib", "microlib")\n') for gcc in ["gcc_arm", "gcc_cr", "gcc_cs"]: d = cfg.get(gcc) if d: f.write('%s_PATH = "%s"\n' % (gcc.upper(), format_path(join(d, 'bin')))) iar = cfg.get("iar") if iar: f.write('IAR_PATH = "%s"\n' % format_path(iar))
def __init__(self, mode): self.dataset, self.dataloader = None, None self.mode = mode self.mode_cfg = cfg.get(self.mode.upper()) self.create()
def cmd_output(text, stream = sys.stdout): from utils.config import cfg print_color(text, cfg.get("cmd_output_color"), stream = stream)
def error(text): from utils.config import cfg print_color(text, cfg.get("error_color"), stream = sys.stderr)
def warn(text): from utils.config import cfg print_color(text, cfg.get("warn_color"))
def info(text): from utils.config import cfg print_color(text, cfg.get("info_color"))
except Exception, e: logger.error("Error reading config file from location: {0}".format(args['--config-file'])) logger.error(str(e)) sys.exit(1) if args['--log-file']: try: setlogpath(args['--log-file'], logconfig=cfg) except Exception, e: logger.error("Error setting log location: {0}".format(args['--log-file'])) logger.error(str(e)) sys.exit(1) if cfg.has_option('logging', 'loglevel'): try: setloglevel(cfg.get('logging', 'loglevel')) except Exception, e: logger.error("Error setting logging level to {0}".format(cfg.get('logging', 'loglevel'))) logger.error(str(e)) if args['sync']: if args['--once']: sync.sync_subnets() else: while True: sync.sync_subnets() time.sleep(10) elif args['audit-vports']: audit_vport.audit_vports() elif args['network-macro-from-url']:
args['--config-file'])) logger.error(str(e)) sys.exit(1) if args['--log-file']: try: setlogpath(args['--log-file'], logconfig=cfg) except Exception, e: logger.error("Error setting log location: {0}".format( args['--log-file'])) logger.error(str(e)) sys.exit(1) if cfg.has_option('logging', 'loglevel'): try: setloglevel(cfg.get('logging', 'loglevel')) except Exception, e: logger.error("Error setting logging level to {0}".format( cfg.get('logging', 'loglevel'))) logger.error(str(e)) if args['sync']: if args['--once']: sync.sync_subnets() else: while True: sync.sync_subnets() time.sleep(10) elif args['audit-vports']: audit_vport.audit_vports()
except Exception,e: logger.error("Error reading config file from location: %s" % args['--config-file']) logger.error(str(e)) sys.exit(1) if args['--log-file']: try: setlogpath(args['--log-file']) except Exception,e: logger.error("Error setting log location: %s" % args['--log-file']) logger.error(str(e)) sys.exit(1) if cfg.has_option('DEFAULT','loglevel'): try: setloglevel(cfg.get('DEFAULT','loglevel')) except Exception,e: logger.error("Error setting logging level to %s" % cfg.get('DEFAULT','loglevel')) logger.error(str(e)) if args['sync']: if args['--once']: sync.sync_subnets() else: while True: sync.sync_subnets() time.sleep(10) elif args['audit-vports']: audit_vport.audit_vports()
logger.error("Error reading config file from location: %s" % args['--config-file']) logger.error(str(e)) sys.exit(1) if args['--log-file']: try: setlogpath(args['--log-file']) except Exception, e: logger.error("Error setting log location: %s" % args['--log-file']) logger.error(str(e)) sys.exit(1) if cfg.has_option('DEFAULT', 'loglevel'): try: setloglevel(cfg.get('DEFAULT', 'loglevel')) except Exception, e: logger.error("Error setting logging level to %s" % cfg.get('DEFAULT', 'loglevel')) logger.error(str(e)) if args['sync']: if args['--once']: sync.sync_subnets() else: while True: sync.sync_subnets() time.sleep(10) elif args['audit-vports']: audit_vport.audit_vports()