#################################################################### # A simple Correios API to get the CEP informations # # author: Alexandre Borba # Igor Hercowitz # # v 1.1.1 #################################################################### from bottle import route, run, error from correios import CepTracker import pymongo, json, re @route('/cep/<cep>') def verifica_cep(cep): if re.match("[0-9]{8}", cep): con = pymongo.MongoClient("localhost") db = con.postmon ceps = db.ceps result = ceps.find_one({"cep":cep}, fields={'_id':False}) if not result: tracker = CepTracker() info = tracker.track(cep) cep_id = ceps.insert(info) result = ceps.find_one({"cep":cep}, fields={'_id':False}) resultado = result else: result_error = json.dumps({'error':'404'}) resultado = result_error return resultado @error(404) def error404(code): result_error = json.dumps({'error':'404'}) return result_error @error(500) def error500(code): result_error = json.dumps({'error':'500'}) return result_error