def __analyze(self):
filter_values = {}<EOL>name_map = {<EOL><NUM_LIT:10>: '<STR_LIT>',<EOL><NUM_LIT:11>: '<STR_LIT>',<EOL><NUM_LIT>: '<STR_LIT>',<EOL><NUM_LIT:15>: '<STR_LIT>',<EOL><NUM_LIT>: '<STR_LIT>',<EOL><NUM_LIT>: '<STR_LIT>',<EOL><NUM_LIT>: '<STR_LIT>'<EOL>}<EOL>if self.json is not None:<EOL><INDENT>filters = self.json<EOL>for f in filters:<EOL><INDENT>if '<STR_LIT>' in f:<EOL><INDENT>name = f['<STR_LIT>']<EOL>if f['<STR_LIT>'] in name_map:<EOL><INDENT>name = name_map[f['<STR_LIT>']]<EOL><DEDENT>if '<STR_LIT>' in f:<EOL><INDENT>raw_values = f['<STR_LIT>']<EOL>value = {}<EOL>if raw_values is None:<EOL><INDENT>continue<EOL><DEDENT>if type(raw_values) is list:<EOL><INDENT>if len(raw_values) == <NUM_LIT:1> and type(raw_values[<NUM_LIT:0>]['<STR_LIT:value>']) not in [str, unicode]:<EOL><INDENT>value = raw_values[<NUM_LIT:0>]['<STR_LIT:value>']<EOL><DEDENT>for val in raw_values:<EOL><INDENT>if type(val['<STR_LIT:value>']) in [str, unicode]:<EOL><INDENT>value[val['<STR_LIT:value>']] = True<EOL><DEDENT><DEDENT><DEDENT>else:<EOL><INDENT>value = raw_values<EOL><DEDENT>if name == '<STR_LIT>':<EOL><INDENT>if '<STR_LIT>' not in value:<EOL><INDENT>value['<STR_LIT>'] = False<EOL><DEDENT><DEDENT><DEDENT>filter_values[name] = value<EOL>dict.__setitem__(self, name, value)<EOL><DEDENT><DEDENT><DEDENT>return filter_values<EOL>
Analyze the filter JSON and attempt to parse out the individual filters.