Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _check_key_and_version():
params = {'text': PyGraphistry.api_key()}
try:
response = requests.get(PyGraphistry._check_url(), params=params, timeout=(3,3),
verify=PyGraphistry._config['certificate_validation'])
response.raise_for_status()
jres = response.json()
cver = sys.modules['graphistry'].__version__
if 'pygraphistry' in jres and 'minVersion' in jres['pygraphistry'] and 'latestVersion' in jres['pygraphistry']:
mver = jres['pygraphistry']['minVersion']
lver = jres['pygraphistry']['latestVersion']
if util.compare_versions(mver, cver) > 0:
util.warn('Your version of PyGraphistry is no longer supported (installed=%s latest=%s). Please upgrade!' % (cver, lver))
elif util.compare_versions(lver, cver) > 0:
print('A new version of PyGraphistry is available (installed=%s latest=%s).' % (cver, lver))
if jres['success'] is not True:
util.warn(jres['error'])
except Exception as e:
util.warn('Could not contact %s. Are you connected to the Internet?' % PyGraphistry._config['hostname'])
def _check_key_and_version():
params = {'text': PyGraphistry.api_key()}
try:
response = requests.get(PyGraphistry._check_url(), params=params, timeout=(3,3),
verify=PyGraphistry._config['certificate_validation'])
response.raise_for_status()
jres = response.json()
cver = sys.modules['graphistry'].__version__
if 'pygraphistry' in jres and 'minVersion' in jres['pygraphistry'] and 'latestVersion' in jres['pygraphistry']:
mver = jres['pygraphistry']['minVersion']
lver = jres['pygraphistry']['latestVersion']
if util.compare_versions(mver, cver) > 0:
util.warn('Your version of PyGraphistry is no longer supported (installed=%s latest=%s). Please upgrade!' % (cver, lver))
elif util.compare_versions(lver, cver) > 0:
print('A new version of PyGraphistry is available (installed=%s latest=%s).' % (cver, lver))
if jres['success'] is not True:
util.warn(jres['error'])
except Exception as e:
util.warn('Could not contact %s. Are you connected to the Internet?' % PyGraphistry._config['hostname'])
f.write(json_dataset)
else:
f.write(json_dataset.encode('utf8'))
elif mode == 'vgraph':
bin_dataset = dataset.SerializeToString()
with gzip.GzipFile(fileobj=out_file, mode='w', compresslevel=9) as f:
f.write(bin_dataset)
else:
raise ValueError('Unknown mode:', mode)
size = old_div(len(out_file.getvalue()), 1024)
if size >= 5 * 1024:
print('Uploading %d kB. This may take a while...' % size)
sys.stdout.flush()
elif size > 50 * 1024:
util.error('Dataset is too large (%d kB)!' % size)
return out_file
util.warn('Syntax error in %s, skipping. (%s)' % (path, e.message))
pass
except IOError:
pass
env_config = {k: os.environ.get(v) for k, v in EnvVarNames.items()}
env_override = {k: v for k, v in env_config.items() if v != None}
config.update(env_override)
if not config['certificate_validation']:
requests.packages.urllib3.disable_warnings()
return config
class PyGraphistry(object):
_config = _get_initial_config()
_tag = util.fingerprint()
_is_authenticated = False
@staticmethod
def authenticate():
"""Authenticate via already provided configuration.
This is called once automatically per session when uploading and rendering a visualization."""
key = PyGraphistry.api_key()
#Mocks may set to True, so bypass in that case
if (key is None) and PyGraphistry._is_authenticated == False:
util.error('API key not set explicitly in `register()` or available at ' + EnvVarNames['api_key'])
if not PyGraphistry._is_authenticated:
PyGraphistry._check_key_and_version()
PyGraphistry._is_authenticated = True