File size: 1,609 Bytes
a04b340
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import json

def json_CA_json_converter(json_file_path, is_path):
  if is_path:
    with open(json_file_path, "r") as file:
      data = json.load(file)
  else:
    data = json_file_path

  json_conversion_dict = {}

  rows = data['size']['rows']
  cols = data['size']['cols']

  clues = data['clues']
  answers = data['answers']

  json_conversion_dict['metadata'] = {'rows': rows, 'cols': cols}

  across_clue_answer = {}
  down_clue_answer = {}

  for clue, ans in zip(clues['across'], answers['across']):
    split_clue = clue.split(' ')
    clue_num = split_clue[0][:-1]
    clue_ = " ".join(split_clue[1:])
    clue_ = clue_.replace("[", '').replace("]", '')
    across_clue_answer[clue_num] = [clue_, ans]

  for clue, ans in zip(clues['down'], answers['down']):
    split_clue = clue.split(' ')
    clue_num = split_clue[0][:-1]
    clue_ = " ".join(split_clue[1:])
    clue_ = clue_.replace("[", '').replace("]", '')
    down_clue_answer[clue_num] = [clue_, ans]

  json_conversion_dict['clues'] = {'across' : across_clue_answer, 'down' : down_clue_answer}

  grid_info = data['grid']
  grid_num = data['gridnums']

  grid_info_list = []
  for i in range(rows):
    row_list = []
    for j in range(cols):
      if grid_info[i * rows + j] == '.':
        row_list.append('BLACK')
      else:
        if grid_num[i * rows + j] == 0:
          row_list.append(['', grid_info[i * rows + j]])
        else:
          row_list.append([str(grid_num[i * rows + j]), grid_info[i * rows + j]])
    grid_info_list.append(row_list)

  json_conversion_dict['grid'] = grid_info_list

  return json_conversion_dict