Skip to content

Commit

Permalink
use color as the JSON key for returned color formats
Browse files Browse the repository at this point in the history
Signed-off-by: Nishant Bansal <[email protected]>
  • Loading branch information
NishantBansal2003 committed Jan 21, 2025
1 parent 5db2fca commit 6dc5e7a
Show file tree
Hide file tree
Showing 4 changed files with 124 additions and 124 deletions.
8 changes: 4 additions & 4 deletions lib/raster/json_color_out.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,24 +99,24 @@ static void set_color(int r, int g, int b, ColorFormat clr_frmt,
case RGB:
snprintf(color_string, sizeof(color_string), "rgb(%d, %d, %d)", r, g,
b);
G_json_object_set_string(color_object, "rgb", color_string);
G_json_object_set_string(color_object, "color", color_string);
break;

case HEX:
snprintf(color_string, sizeof(color_string), "#%02X%02X%02X", r, g, b);
G_json_object_set_string(color_object, "hex", color_string);
G_json_object_set_string(color_object, "color", color_string);
break;

case HSV:
rgb_to_hsv(r, g, b, &h, &s, &v);
snprintf(color_string, sizeof(color_string), "hsv(%d, %d, %d)", (int)h,
(int)s, (int)v);
G_json_object_set_string(color_object, "hsv", color_string);
G_json_object_set_string(color_object, "color", color_string);
break;

case TRIPLET:
snprintf(color_string, sizeof(color_string), "%d:%d:%d", r, g, b);
G_json_object_set_string(color_object, "triplet", color_string);
G_json_object_set_string(color_object, "color", color_string);
break;
}
}
Expand Down
80 changes: 40 additions & 40 deletions raster/r.colors.out/tests/r3_colors_out_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,14 @@ def test_r3_colors_out_json_with_default_option(raster3_color_dataset):
data = gs.parse_command("r3.colors.out", map="b", format="json", env=session.env)
validate_common_json_structure(data)
expected = [
{"value": 1, "hex": "#00BFBF"},
{"value": 1.8, "hex": "#00FF00"},
{"value": 2.6, "hex": "#FFFF00"},
{"value": 3.4, "hex": "#FF7F00"},
{"value": 4.2, "hex": "#BF7F3F"},
{"value": 5, "hex": "#C8C8C8"},
{"value": "nv", "hex": "#FFFFFF"},
{"value": "default", "hex": "#FFFFFF"},
{"value": 1, "color": "#00BFBF"},
{"value": 1.8, "color": "#00FF00"},
{"value": 2.6, "color": "#FFFF00"},
{"value": 3.4, "color": "#FF7F00"},
{"value": 4.2, "color": "#BF7F3F"},
{"value": 5, "color": "#C8C8C8"},
{"value": "nv", "color": "#FFFFFF"},
{"value": "default", "color": "#FFFFFF"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -91,14 +91,14 @@ def test_r3_colors_out_json_with_triplet_option(raster3_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "triplet": "0:191:191"},
{"value": 1.8, "triplet": "0:255:0"},
{"value": 2.6, "triplet": "255:255:0"},
{"value": 3.4, "triplet": "255:127:0"},
{"value": 4.2, "triplet": "191:127:63"},
{"value": 5, "triplet": "200:200:200"},
{"value": "nv", "triplet": "255:255:255"},
{"value": "default", "triplet": "255:255:255"},
{"value": 1, "color": "0:191:191"},
{"value": 1.8, "color": "0:255:0"},
{"value": 2.6, "color": "255:255:0"},
{"value": 3.4, "color": "255:127:0"},
{"value": 4.2, "color": "191:127:63"},
{"value": 5, "color": "200:200:200"},
{"value": "nv", "color": "255:255:255"},
{"value": "default", "color": "255:255:255"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -115,14 +115,14 @@ def test_r3_colors_out_json_with_rgb_option(raster3_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "rgb": "rgb(0, 191, 191)"},
{"value": 1.8, "rgb": "rgb(0, 255, 0)"},
{"value": 2.6, "rgb": "rgb(255, 255, 0)"},
{"value": 3.4, "rgb": "rgb(255, 127, 0)"},
{"value": 4.2, "rgb": "rgb(191, 127, 63)"},
{"value": 5, "rgb": "rgb(200, 200, 200)"},
{"value": "nv", "rgb": "rgb(255, 255, 255)"},
{"value": "default", "rgb": "rgb(255, 255, 255)"},
{"value": 1, "color": "rgb(0, 191, 191)"},
{"value": 1.8, "color": "rgb(0, 255, 0)"},
{"value": 2.6, "color": "rgb(255, 255, 0)"},
{"value": 3.4, "color": "rgb(255, 127, 0)"},
{"value": 4.2, "color": "rgb(191, 127, 63)"},
{"value": 5, "color": "rgb(200, 200, 200)"},
{"value": "nv", "color": "rgb(255, 255, 255)"},
{"value": "default", "color": "rgb(255, 255, 255)"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -139,14 +139,14 @@ def test_r3_colors_out_json_with_hex_option(raster3_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "hex": "#00BFBF"},
{"value": 1.8, "hex": "#00FF00"},
{"value": 2.6, "hex": "#FFFF00"},
{"value": 3.4, "hex": "#FF7F00"},
{"value": 4.2, "hex": "#BF7F3F"},
{"value": 5, "hex": "#C8C8C8"},
{"value": "nv", "hex": "#FFFFFF"},
{"value": "default", "hex": "#FFFFFF"},
{"value": 1, "color": "#00BFBF"},
{"value": 1.8, "color": "#00FF00"},
{"value": 2.6, "color": "#FFFF00"},
{"value": 3.4, "color": "#FF7F00"},
{"value": 4.2, "color": "#BF7F3F"},
{"value": 5, "color": "#C8C8C8"},
{"value": "nv", "color": "#FFFFFF"},
{"value": "default", "color": "#FFFFFF"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -163,13 +163,13 @@ def test_r3_colors_out_json_with_hsv_option(raster3_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "hsv": "hsv(180, 100, 74)"},
{"value": 1.8, "hsv": "hsv(120, 100, 100)"},
{"value": 2.6, "hsv": "hsv(60, 100, 100)"},
{"value": 3.4, "hsv": "hsv(29, 100, 100)"},
{"value": 4.2, "hsv": "hsv(30, 67, 74)"},
{"value": 5, "hsv": "hsv(0, 0, 78)"},
{"value": "nv", "hsv": "hsv(0, 0, 100)"},
{"value": "default", "hsv": "hsv(0, 0, 100)"},
{"value": 1, "color": "hsv(180, 100, 74)"},
{"value": 1.8, "color": "hsv(120, 100, 100)"},
{"value": 2.6, "color": "hsv(60, 100, 100)"},
{"value": 3.4, "color": "hsv(29, 100, 100)"},
{"value": 4.2, "color": "hsv(30, 67, 74)"},
{"value": 5, "color": "hsv(0, 0, 78)"},
{"value": "nv", "color": "hsv(0, 0, 100)"},
{"value": "default", "color": "hsv(0, 0, 100)"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"
80 changes: 40 additions & 40 deletions raster/r.colors.out/tests/r_colors_out_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,14 @@ def test_r_colors_out_json_with_default_option(raster_color_dataset):
data = gs.parse_command("r.colors.out", map="a", format="json", env=session.env)
validate_common_json_structure(data)
expected = [
{"value": 1, "hex": "#00BFBF"},
{"value": 1.4, "hex": "#00FF00"},
{"value": 1.8, "hex": "#FFFF00"},
{"value": 2.2, "hex": "#FF7F00"},
{"value": 2.6, "hex": "#BF7F3F"},
{"value": 3, "hex": "#C8C8C8"},
{"value": "nv", "hex": "#FFFFFF"},
{"value": "default", "hex": "#FFFFFF"},
{"value": 1, "color": "#00BFBF"},
{"value": 1.4, "color": "#00FF00"},
{"value": 1.8, "color": "#FFFF00"},
{"value": 2.2, "color": "#FF7F00"},
{"value": 2.6, "color": "#BF7F3F"},
{"value": 3, "color": "#C8C8C8"},
{"value": "nv", "color": "#FFFFFF"},
{"value": "default", "color": "#FFFFFF"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -91,14 +91,14 @@ def test_r_colors_out_json_with_triplet_option(raster_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "triplet": "0:191:191"},
{"value": 1.4, "triplet": "0:255:0"},
{"value": 1.8, "triplet": "255:255:0"},
{"value": 2.2, "triplet": "255:127:0"},
{"value": 2.6, "triplet": "191:127:63"},
{"value": 3, "triplet": "200:200:200"},
{"value": "nv", "triplet": "255:255:255"},
{"value": "default", "triplet": "255:255:255"},
{"value": 1, "color": "0:191:191"},
{"value": 1.4, "color": "0:255:0"},
{"value": 1.8, "color": "255:255:0"},
{"value": 2.2, "color": "255:127:0"},
{"value": 2.6, "color": "191:127:63"},
{"value": 3, "color": "200:200:200"},
{"value": "nv", "color": "255:255:255"},
{"value": "default", "color": "255:255:255"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -115,14 +115,14 @@ def test_r_colors_out_json_with_rgb_option(raster_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "rgb": "rgb(0, 191, 191)"},
{"value": 1.4, "rgb": "rgb(0, 255, 0)"},
{"value": 1.8, "rgb": "rgb(255, 255, 0)"},
{"value": 2.2, "rgb": "rgb(255, 127, 0)"},
{"value": 2.6, "rgb": "rgb(191, 127, 63)"},
{"value": 3, "rgb": "rgb(200, 200, 200)"},
{"value": "nv", "rgb": "rgb(255, 255, 255)"},
{"value": "default", "rgb": "rgb(255, 255, 255)"},
{"value": 1, "color": "rgb(0, 191, 191)"},
{"value": 1.4, "color": "rgb(0, 255, 0)"},
{"value": 1.8, "color": "rgb(255, 255, 0)"},
{"value": 2.2, "color": "rgb(255, 127, 0)"},
{"value": 2.6, "color": "rgb(191, 127, 63)"},
{"value": 3, "color": "rgb(200, 200, 200)"},
{"value": "nv", "color": "rgb(255, 255, 255)"},
{"value": "default", "color": "rgb(255, 255, 255)"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -139,14 +139,14 @@ def test_r_colors_out_json_with_hex_option(raster_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "hex": "#00BFBF"},
{"value": 1.4, "hex": "#00FF00"},
{"value": 1.8, "hex": "#FFFF00"},
{"value": 2.2, "hex": "#FF7F00"},
{"value": 2.6, "hex": "#BF7F3F"},
{"value": 3, "hex": "#C8C8C8"},
{"value": "nv", "hex": "#FFFFFF"},
{"value": "default", "hex": "#FFFFFF"},
{"value": 1, "color": "#00BFBF"},
{"value": 1.4, "color": "#00FF00"},
{"value": 1.8, "color": "#FFFF00"},
{"value": 2.2, "color": "#FF7F00"},
{"value": 2.6, "color": "#BF7F3F"},
{"value": 3, "color": "#C8C8C8"},
{"value": "nv", "color": "#FFFFFF"},
{"value": "default", "color": "#FFFFFF"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -163,13 +163,13 @@ def test_r_colors_out_json_with_hsv_option(raster_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "hsv": "hsv(180, 100, 74)"},
{"value": 1.4, "hsv": "hsv(120, 100, 100)"},
{"value": 1.8, "hsv": "hsv(60, 100, 100)"},
{"value": 2.2, "hsv": "hsv(29, 100, 100)"},
{"value": 2.6, "hsv": "hsv(30, 67, 74)"},
{"value": 3, "hsv": "hsv(0, 0, 78)"},
{"value": "nv", "hsv": "hsv(0, 0, 100)"},
{"value": "default", "hsv": "hsv(0, 0, 100)"},
{"value": 1, "color": "hsv(180, 100, 74)"},
{"value": 1.4, "color": "hsv(120, 100, 100)"},
{"value": 1.8, "color": "hsv(60, 100, 100)"},
{"value": 2.2, "color": "hsv(29, 100, 100)"},
{"value": 2.6, "color": "hsv(30, 67, 74)"},
{"value": 3, "color": "hsv(0, 0, 78)"},
{"value": "nv", "color": "hsv(0, 0, 100)"},
{"value": "default", "color": "hsv(0, 0, 100)"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"
80 changes: 40 additions & 40 deletions vector/v.colors.out/tests/v_colors_out_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,14 @@ def test_v_colors_out_json_with_default_option(vector_color_dataset):
data = gs.parse_command("v.colors.out", map="a", format="json", env=session.env)
validate_common_json_structure(data)
expected = [
{"value": 1, "hex": "#00BFBF"},
{"value": 20.8, "hex": "#00FF00"},
{"value": 40.6, "hex": "#FFFF00"},
{"value": 60.4, "hex": "#FF7F00"},
{"value": 80.2, "hex": "#BF7F3F"},
{"value": 100, "hex": "#C8C8C8"},
{"value": "nv", "hex": "#FFFFFF"},
{"value": "default", "hex": "#FFFFFF"},
{"value": 1, "color": "#00BFBF"},
{"value": 20.8, "color": "#00FF00"},
{"value": 40.6, "color": "#FFFF00"},
{"value": 60.4, "color": "#FF7F00"},
{"value": 80.2, "color": "#BF7F3F"},
{"value": 100, "color": "#C8C8C8"},
{"value": "nv", "color": "#FFFFFF"},
{"value": "default", "color": "#FFFFFF"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -91,14 +91,14 @@ def test_v_colors_out_json_with_triplet_option(vector_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "triplet": "0:191:191"},
{"value": 20.8, "triplet": "0:255:0"},
{"value": 40.6, "triplet": "255:255:0"},
{"value": 60.4, "triplet": "255:127:0"},
{"value": 80.2, "triplet": "191:127:63"},
{"value": 100, "triplet": "200:200:200"},
{"value": "nv", "triplet": "255:255:255"},
{"value": "default", "triplet": "255:255:255"},
{"value": 1, "color": "0:191:191"},
{"value": 20.8, "color": "0:255:0"},
{"value": 40.6, "color": "255:255:0"},
{"value": 60.4, "color": "255:127:0"},
{"value": 80.2, "color": "191:127:63"},
{"value": 100, "color": "200:200:200"},
{"value": "nv", "color": "255:255:255"},
{"value": "default", "color": "255:255:255"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -115,14 +115,14 @@ def test_v_colors_out_json_with_rgb_option(vector_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "rgb": "rgb(0, 191, 191)"},
{"value": 20.8, "rgb": "rgb(0, 255, 0)"},
{"value": 40.6, "rgb": "rgb(255, 255, 0)"},
{"value": 60.4, "rgb": "rgb(255, 127, 0)"},
{"value": 80.2, "rgb": "rgb(191, 127, 63)"},
{"value": 100, "rgb": "rgb(200, 200, 200)"},
{"value": "nv", "rgb": "rgb(255, 255, 255)"},
{"value": "default", "rgb": "rgb(255, 255, 255)"},
{"value": 1, "color": "rgb(0, 191, 191)"},
{"value": 20.8, "color": "rgb(0, 255, 0)"},
{"value": 40.6, "color": "rgb(255, 255, 0)"},
{"value": 60.4, "color": "rgb(255, 127, 0)"},
{"value": 80.2, "color": "rgb(191, 127, 63)"},
{"value": 100, "color": "rgb(200, 200, 200)"},
{"value": "nv", "color": "rgb(255, 255, 255)"},
{"value": "default", "color": "rgb(255, 255, 255)"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -139,14 +139,14 @@ def test_v_colors_out_json_with_hex_option(vector_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "hex": "#00BFBF"},
{"value": 20.8, "hex": "#00FF00"},
{"value": 40.6, "hex": "#FFFF00"},
{"value": 60.4, "hex": "#FF7F00"},
{"value": 80.2, "hex": "#BF7F3F"},
{"value": 100, "hex": "#C8C8C8"},
{"value": "nv", "hex": "#FFFFFF"},
{"value": "default", "hex": "#FFFFFF"},
{"value": 1, "color": "#00BFBF"},
{"value": 20.8, "color": "#00FF00"},
{"value": 40.6, "color": "#FFFF00"},
{"value": 60.4, "color": "#FF7F00"},
{"value": 80.2, "color": "#BF7F3F"},
{"value": 100, "color": "#C8C8C8"},
{"value": "nv", "color": "#FFFFFF"},
{"value": "default", "color": "#FFFFFF"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

Expand All @@ -163,13 +163,13 @@ def test_v_colors_out_json_with_hsv_option(vector_color_dataset):
)
validate_common_json_structure(data)
expected = [
{"value": 1, "hsv": "hsv(180, 100, 74)"},
{"value": 20.8, "hsv": "hsv(120, 100, 100)"},
{"value": 40.6, "hsv": "hsv(60, 100, 100)"},
{"value": 60.4, "hsv": "hsv(29, 100, 100)"},
{"value": 80.2, "hsv": "hsv(30, 67, 74)"},
{"value": 100, "hsv": "hsv(0, 0, 78)"},
{"value": "nv", "hsv": "hsv(0, 0, 100)"},
{"value": "default", "hsv": "hsv(0, 0, 100)"},
{"value": 1, "color": "hsv(180, 100, 74)"},
{"value": 20.8, "color": "hsv(120, 100, 100)"},
{"value": 40.6, "color": "hsv(60, 100, 100)"},
{"value": 60.4, "color": "hsv(29, 100, 100)"},
{"value": 80.2, "color": "hsv(30, 67, 74)"},
{"value": 100, "color": "hsv(0, 0, 78)"},
{"value": "nv", "color": "hsv(0, 0, 100)"},
{"value": "default", "color": "hsv(0, 0, 100)"},
]
assert expected == data, f"test failed: expected {expected} but got {data}"

0 comments on commit 6dc5e7a

Please sign in to comment.