示例#1
0
    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)
示例#2
0
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
示例#3
0
 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")
示例#4
0
 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
示例#5
0
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))
示例#6
0
    def __init__(self, mode):
        self.dataset, self.dataloader = None, None
        self.mode = mode
        self.mode_cfg = cfg.get(self.mode.upper())

        self.create()
示例#7
0
def cmd_output(text, stream = sys.stdout):
    from utils.config import cfg
    print_color(text, cfg.get("cmd_output_color"), stream = stream)
示例#8
0
def error(text):
    from utils.config import cfg
    print_color(text, cfg.get("error_color"), stream = sys.stderr)
示例#9
0
def warn(text):
    from utils.config import cfg
    print_color(text, cfg.get("warn_color"))
示例#10
0
def info(text):
    from utils.config import cfg
    print_color(text, cfg.get("info_color"))
示例#11
0
    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']:
示例#12
0
            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()
示例#13
0
    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()
示例#14
0
        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()