Skip to content
This repository has been archived by the owner on May 1, 2019. It is now read-only.

Commit

Permalink
Merge pull request #34 from albanD/sanitise_q
Browse files Browse the repository at this point in the history
sanitises special characters in experiment name and key name
  • Loading branch information
albanD authored Jul 12, 2017
2 parents 797539e + e325f72 commit 3e39fa7
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions client/python/pycrayon/crayon.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
import time
import collections

try:
# Python 2
from urllib import quote_plus
except ImportError:
# Python 3
from urllib.parse import quote_plus

from .version import __version__

try:
Expand Down Expand Up @@ -56,7 +63,7 @@ def create_experiment(self, xp_name, zip_file=None):

def remove_experiment(self, xp_name):
assert(isinstance(xp_name, basestring))
query = "/data?xp={}".format(xp_name)
query = "/data?xp={}".format(quote_plus(xp_name))
r = requests.delete(self.url + query)

if not r.ok:
Expand Down Expand Up @@ -100,7 +107,7 @@ def __init_empty(self):
raise ValueError(msg.format(r.text))

def __init_from_existing(self):
query = "/data?xp={}".format(self.xp_name)
query = "/data?xp={}".format(quote_plus(self.xp_name))
r = requests.get(self.client.url + query)

if not r.ok:
Expand All @@ -118,7 +125,7 @@ def __init_from_existing(self):

def __init_from_file(self, zip_file, force=False):
query = "/backup?xp={}&force={}".format(
self.xp_name, force)
quote_plus(self.xp_name), force)
fileobj = open(zip_file, 'rb')
r = requests.post(self.client.url + query, data={"mysubmit": "Go"},
files={"archive": ("backup.zip", fileobj)})
Expand All @@ -140,7 +147,7 @@ def add_scalar_value(self, name, value, wall_time=-1, step=-1):
self.scalar_steps[name] += 1
else:
self.scalar_steps[name] = step + 1
query = "/data/scalars?xp={}&name={}".format(self.xp_name, name)
query = "/data/scalars?xp={}&name={}".format(quote_plus(self.xp_name), quote_plus(name))
data = [wall_time, step, value]
r = requests.post(self.client.url + query, json=data)

Expand All @@ -156,7 +163,7 @@ def add_scalar_dict(self, data, wall_time=-1, step=-1):
self.add_scalar_value(name, value, wall_time, step)

def get_scalar_values(self, name):
query = "/data/scalars?xp={}&name={}".format(self.xp_name, name)
query = "/data/scalars?xp={}&name={}".format(quote_plus(self.xp_name), quote_plus(name))

r = requests.get(self.client.url + query)

Expand Down Expand Up @@ -188,7 +195,7 @@ def add_histogram_value(self, name, hist, tobuild=False,
raise ValueError("Data was not provided in a valid format!")

query = "/data/histograms?xp={}&name={}&tobuild={}".format(
self.xp_name, name, tobuild)
quote_plus(self.xp_name), quote_plus(name), tobuild)

data = [wall_time, step, hist]
r = requests.post(self.client.url + query, json=data)
Expand All @@ -198,7 +205,7 @@ def add_histogram_value(self, name, hist, tobuild=False,
)

def get_histogram_values(self, name):
query = "/data/histograms?xp={}&name={}".format(self.xp_name, name)
query = "/data/histograms?xp={}&name={}".format(quote_plus(self.xp_name), quote_plus(name))
r = requests.get(self.client.url + query)

if not r.ok:
Expand All @@ -225,7 +232,7 @@ def __check_histogram_data(self, data, tobuild):

# Backup methods
def to_zip(self, filename=None):
query = "/backup?xp={}".format(self.xp_name)
query = "/backup?xp={}".format(quote_plus(self.xp_name))
r = requests.get(self.client.url + query)

if not r.ok:
Expand All @@ -241,7 +248,7 @@ def to_zip(self, filename=None):

# Helper methods
def __get_name_list(self, element_type):
query = "/data?xp={}".format(self.xp_name)
query = "/data?xp={}".format(quote_plus(self.xp_name))
r = requests.get(self.client.url + query)

if not r.ok:
Expand Down

0 comments on commit 3e39fa7

Please sign in to comment.