Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_merge_no_link_dict():
case1 = {'foo': {'bar': None}}
case2 = {'foo': {'bar': False}}
result = _.merge({}, case1, case2)
result['foo']['bar'] = True
assert case1 == {'foo': {'bar': None}}
assert case2 == {'foo': {'bar': False}}
# Create dictionary structure containing only the specified key
# and value.
nested_value = pydash.set_({}, key, new_value)
# Merge nested value into existing configuration structure.
pydash.merge(config.data, nested_value)
else:
# Action is a list action.
if config_value is None:
# Create dictionary structure containing only empty list for
# specified key.
config_value = []
nested_value = pydash.set_({}, key, config_value)
# Merge nested value into existing configuration structure.
pydash.merge(config.data, nested_value)
elif not isinstance(config_value, list):
print >> sys.stderr, 'Value at %s is not a list.' % key
raise SystemExit(1)
if new_value in config_value:
# Remove value even if we are appending or prepending to
# avoid duplicate values.
config_value.remove(new_value)
if args.append:
config_value.append(new_value)
elif args.prepend:
config_value.insert(0, new_value)
elif action == 'remove_key':
key = getattr(args, action)
if action in ('append', 'prepend', 'set', 'remove'):
# Unpack key and new value.
key, new_value = getattr(args, action)
# Look up existing value.
config_value = pydash.get(config.data, key)
if action == 'set':
# Set a key to a string value.
# Create dictionary structure containing only the specified key
# and value.
nested_value = pydash.set_({}, key, new_value)
# Merge nested value into existing configuration structure.
pydash.merge(config.data, nested_value)
else:
# Action is a list action.
if config_value is None:
# Create dictionary structure containing only empty list for
# specified key.
config_value = []
nested_value = pydash.set_({}, key, config_value)
# Merge nested value into existing configuration structure.
pydash.merge(config.data, nested_value)
elif not isinstance(config_value, list):
print >> sys.stderr, 'Value at %s is not a list.' % key
raise SystemExit(1)
if new_value in config_value:
# Remove value even if we are appending or prepending to
def request(self, endpoint, **kwargs):
request_options_common = {
'url': BASE_URL + endpoint,
'headers': {
'Accept-Language': self.language,
'Authorization': 'GoogleLogin auth=' + self.auth_token,
'X-DFE-Device-Id': self.android_id,
'X-DFE-Client-Id': CLIENT_ID,
'User-Agent': self.user_agent(),
},
'verify': False,
}
options = pydash.merge({},
self.request_options_base,
request_options_common,
kwargs,
)
r = requests.get(**options)
r.raise_for_status()
data = r.content
message = finsky.protos.response_pb2.ResponseWrapper.FromString(data)
return message
Loads configurations from /config/ (Path relative to __nephos_dir__)
Returns
-------
"""
# loading configuration
self.logging_config = self.load_data("logging.yaml", True)
self.maintenance_config = self.load_data("maintenance.yaml", True)
self.modules_config = self.load_data("modules.yaml", True)
# updating configuration as needed with manual data / environment variables
config_update = list(self._config_update())
pydash.merge(self.logging_config, config_update[0])
pydash.merge(self.modules_config, config_update[1])
"""
Download file at the given URL with an authentication cookie specified
in the cookies dictionary. The authentication cookie is typically
called "MarketDA", but the name is specified in the delivery response,
so could in principle change.
"""
download_request_options = {
'url': url,
'headers': {
'User-Agent': self.download_user_agent(),
'Accept-Encoding': 'identity',
},
'cookies': cookies,
'verify': False,
}
options = pydash.merge({},
self.request_options_base,
download_request_options,
)
r = requests.get(**options)
r.raise_for_status()
return r.content