예제 #1
0
def _create_strategies(provisioning: dict,
                       strategy_mapping: dict,
                       cache: FileCache) -> list:
    feature_strategies = []

    for strategy in provisioning["strategies"]:
        try:
            if "parameters" in strategy.keys():
                strategy_provisioning = strategy['parameters']
            else:
                strategy_provisioning = {}

            if "constraints" in strategy.keys():
                constraint_provisioning = strategy['constraints']
            else:
                constraint_provisioning = {}

            feature_strategies.append(strategy_mapping[strategy['name']](
                constraints=constraint_provisioning, parameters=strategy_provisioning
            ))
        except Exception as excep:
            if FAILED_STRATEGIES not in cache.keys():
                cache[FAILED_STRATEGIES] = []  # Initialize cache key only if failures exist.

            if strategy['name'] not in cache[FAILED_STRATEGIES]:
                LOGGER.warning("Failed to load strategy. This may be a problem with a custom strategy. Exception: %s", excep)
                cache[FAILED_STRATEGIES].append(strategy['name'])

    return feature_strategies
예제 #2
0
        print('main.py -i <code>')
        sys.exit(2)
    for opt, arg in opts:
        if opt == '-h':
            print('Used:')
            print('main.py -o <slug>')
            print('main.py -g all')
            print('main.py -i <code>')
            sys.exit()
        elif opt in ("-i", "--code"):
            YANDEX_CODE = arg
        elif opt in ("-o", "--slug"):
            MY_SLUG = arg

# start
if "access_token" not in mycache.keys() or not YANDEX_CODE == False:

    query = {
        'grant_type': 'authorization_code',
        'code': YANDEX_CODE,
        'client_id': YANDEX_ID,
        'client_secret': YANDEX_PASS
    }
    r = requests.post("https://oauth.yandex.ru/token",
                      data=query,
                      headers=YANDEX_REQUEST)

    if (r.status_code == 200):
        data = r.json()
        access_token = data['access_token']
        mycache['access_token'] = access_token