docs: def get(siren):
      '''
          renvoie un tuple (str, str, str, rs)
              un siren
              une categorie d'entreprise
              une annee
              une raison sociale
          param: un siren (str)
  
          :Example:
  
          >>> get('444465736')
          (u'2013', u'444465736', u'entreprise de taille interm\xe9diaire', u'NOVACAP')
          >>> get('this intended to fail')
  
      '''
  
      # format siren
      siren = addinterval(siren, ' ', 3)
      # send request
      res = requests.get(api.format(siren))
  
      try:
          # if request is ok
          assert res.status_code == 200
          # check if ok
          soup = BeautifulSoup(res.text, 'html.parser')
          colcentre = soup.find_all('div', id='col-centre')[0]
          l1, l2, l3 = colcentre.find_all('p')[1:4]
  
          if 'existe plus' in l1.text:
              return parse_obsolete(l1, l3)
  
          elif 'existe pas' in l1.text:
              return parse_invalid()
  
          elif 'hors champ' in l2.text:
              return parse_nocat()
          
          elif 'pas pu attribuer' in l1.text:
              return parse_new(l1, l2, l3)
          
          else:
              return parse_ok(l1, l3)
  
      except AssertionError:
          print 'site inaccessible !'