summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-06-22 10:08:12 +0100
committerMichael Williamson <mike@zwobble.org>2013-06-22 10:08:12 +0100
commitc15d112e79f5ea5dc81cce720589c6073be1ce41 (patch)
tree71228ca385457fdaaaf9aba054f911af3bbc5f6f
parenta258b2f7f3425e4d056ac55c6211f15faa98452d (diff)
Combine transform_{string,json} into a single transform method
-rw-r--r--jq.pyx8
-rw-r--r--tests/jq_tests.py14
2 files changed, 10 insertions, 12 deletions
diff --git a/jq.pyx b/jq.pyx
index c917565..f94aab2 100644
--- a/jq.pyx
+++ b/jq.pyx
@@ -53,13 +53,11 @@ cdef class _Program(object):
def __dealloc__(self):
jq_teardown(&self._jq)
- def transform_string(self, char* input):
- result_strings = self._string_to_strings(input)
+ def transform(self, char* input, raw=False):
+ raw_input = input if raw else json.dumps(input)
+ result_strings = self._string_to_strings(raw_input)
return _Result(result_strings)
- def transform_json(self, object input):
- return self.transform_string(json.dumps(input))
-
cdef object _string_to_strings(self, char* input):
cdef jv_parser parser
diff --git a/tests/jq_tests.py b/tests/jq_tests.py
index e80daad..821cac1 100644
--- a/tests/jq_tests.py
+++ b/tests/jq_tests.py
@@ -7,7 +7,7 @@ from jq import jq
def dot_operator_does_nothing_to_string_input():
assert_equal(
"42",
- str(jq(".").transform_string("42"))
+ str(jq(".").transform("42", raw=True))
)
@@ -15,7 +15,7 @@ def dot_operator_does_nothing_to_string_input():
def dot_operator_does_nothing_to_json_input():
assert_equal(
'"42"',
- str(jq(".").transform_json("42"))
+ str(jq(".").transform("42"))
)
@@ -23,7 +23,7 @@ def dot_operator_does_nothing_to_json_input():
def can_add_one_to_each_element_of_an_array():
assert_equal(
"[2,3,4]",
- str(jq("[.[]+1]").transform_string("[1,2,3]"))
+ str(jq("[.[]+1]").transform("[1,2,3]", raw=True))
)
@@ -31,7 +31,7 @@ def can_add_one_to_each_element_of_an_array():
def output_elements_are_separated_by_newlines():
assert_equal(
"1\n2\n3",
- str(jq(".[]").transform_string("[1,2,3]"))
+ str(jq(".[]").transform("[1,2,3]", raw=True))
)
@@ -39,7 +39,7 @@ def output_elements_are_separated_by_newlines():
def string_to_json_parses_json_output():
assert_equal(
[2, 3, 4],
- jq("[.[]+1]").transform_string("[1,2,3]").json()
+ jq("[.[]+1]").transform("[1,2,3]", raw=True).json()
)
@@ -47,7 +47,7 @@ def string_to_json_parses_json_output():
def string_to_json_parses_json_output():
assert_equal(
[2, 3, 4],
- jq(".[]+1").transform_string("[1,2,3]").json_all()
+ jq(".[]+1").transform("[1,2,3]", raw=True).json_all()
)
@@ -55,7 +55,7 @@ def string_to_json_parses_json_output():
def output_elements_are_separated_by_newlines_when_there_are_multiple_inputs():
assert_equal(
"2\n3\n4",
- str(jq(".+1").transform_string("1\n2\n3"))
+ str(jq(".+1").transform("1\n2\n3", raw=True))
)