Advent of code

 12 décembre 2015 

  JSAbacusFramework.io :
  1. codeVimEtBash.sh
  2. codeJavaScript.html
  3. codePython.py
  4. codePython_parseurMaison.py
#### Ce code remplace les 3 lignes: ##################
##                                                  ##
##  import json                                     ##
##  f = open("input.txt", 'r')                      ##
##  input = json.loads(f.readlines()[0].strip())    ##
##                                                  ##
######################################################


def getValues(s):
    if len(s) == 0:
        return []
    niveau = 0
    for i in range(len(s)):
        c = s[i]
        if c in ['[','{']:
            niveau += 1
        elif c in [']','}']:
            niveau -= 1
        elif niveau == 0 and c == ',':
            return [s[:i]] + getValues(s[i+1:])
    return [s]

def separerKeyVal(s):
    i = s.index(':')
    return [s[1:i-1], parse(s[i+1:])]

def parse(s):
    if len(s) == 0:
        print("Erreur, bout vide")
        exit(1)
    if s[0] == '"':
        return s[1:-1]
    if s[0] == '[':
        return list(map(parse, getValues(s[1:-1])))
    elif s[0] == '{':
        return dict(map(separerKeyVal, getValues(s[1:-1])))    

    else:
        return (int)(s)


f = open("input.txt", 'r')
input = parse(f.readlines()[0].strip())