Newer
Older
def expired(record_date):
from datetime import datetime, timedelta
WEEKS = 26 #6 months
now = datetime.now()
return ( now - record_date['v_date'] >= timedelta(weeks=WEEKS))
def _get_info_from_correios(cep):
tracker = CepTracker()
info = tracker.track(cep)
if len(info) == 0:
raise ValueError()
return info
Plinio Balduino
committed
@route('/cep/<cep:re:\d{5}-?\d{3}>')
response.headers['Access-Control-Allow-Origin'] = '*'
Plinio Balduino
committed
db = con.postmon
ceps = db.ceps
result = ceps.find_one({'cep':cep}, fields={'_id':False})
if not result or not result.has_key('v_date') or expired(result):
for item in _get_info_from_correios(cep):
ceps.update({'cep': item['cep']}, {'$set': item}, upsert=True)
result = ceps.find_one({'cep':cep}, fields={'_id':False,'v_date':False})
response.headers['Cache-Control'] = 'public, max-age=2592000'
Alê Borba
committed
response.status = '404 O CEP %s informado nao pode ser localizado' %cep
def _standalone(port=9876):