import urllib.request, json, datetime
base='https://sma.agentsolutions-mallorca.com/api/signals?days={}&limit=100'
for days in [1,2,3,7,14]:
req=urllib.request.Request(base.format(days), headers={'User-Agent':'AA-045-F8-P2-verify'})
with urllib.request.urlopen(req, timeout=30) as response:
raw=response.read()
data=json.loads(raw)
now=datetime.datetime.now(datetime.timezone.utc)
cutoff=now-datetime.timedelta(days=days)
bad=[]
for item in data:
value=item.get('published_at')
try:
dt=datetime.datetime.fromisoformat(value.replace('Z','+00:00'))
if dt.tzinfo is None or dt.astimezone(datetime.timezone.utc)<cutoff:
bad.append((item.get('signal_id'),value))
except Exception:
bad.append((item.get('signal_id'),value))
vals=[item.get('published_at') for item in data]
print(json.dumps({'days':days,'http':response.status,'bytes':len(raw),'count':len(data),'newest':max(vals) if vals else None,'oldest':min(vals) if vals else None,'invalid_or_old':bad},ensure_ascii=False))