Merge "Adapted function test for E release"
[nonrtric.git] / test / common / count_json_elements.py
1 #  ============LICENSE_START===============================================
2 #  Copyright (C) 2020 Nordix Foundation. All rights reserved.
3 #  ========================================================================
4 #  Licensed under the Apache License, Version 2.0 (the "License");
5 #  you may not use this file except in compliance with the License.
6 #  You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #  Unless required by applicable law or agreed to in writing, software
11 #  distributed under the License is distributed on an "AS IS" BASIS,
12 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #  See the License for the specific language governing permissions and
14 #  limitations under the License.
15 #  ============LICENSE_END=================================================
16 #
17
18 import os
19 import json
20 import sys
21
22 # Print the length of json array, -1 will be printed in any problem is encountered
23 # Assumes the top level json is an array.
24 # If not (and the number of keys on top level is 1) then assumes that key contains the array.
25
26 arr_len=-1
27 try:
28     with open(sys.argv[1]) as json_file:
29         jsonarray = json.load(json_file)
30         if isinstance(jsonarray, list):
31             arr_len=len(jsonarray)
32         elif isinstance(jsonarray, dict) and len(jsonarray) == 1:
33             key=next(iter(jsonarray))
34             jsonarray=jsonarray[key]
35             if isinstance(jsonarray, list):
36                 arr_len = len(jsonarray)
37
38 except Exception as e:
39     print(arr_len)
40     sys.exit()
41
42 print(arr_len)
43 sys.exit()