From 35d57c61925167f80133fdacf426a195c56501ad Mon Sep 17 00:00:00 2001 From: Jonathan Harris Date: Sun, 7 Jun 2015 18:19:08 +0100 Subject: [PATCH] Filter out bogus commodities not listed in the in-game market. Fixes #2. --- bpc.py | 3 ++- eddn.py | 3 ++- td.py | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/bpc.py b/bpc.py index e45acade..56064f33 100644 --- a/bpc.py +++ b/bpc.py @@ -3,6 +3,7 @@ from os.path import join import codecs +import numbers import time from config import config @@ -25,7 +26,7 @@ def export(data, csv=False): h.write(header) for commodity in data['lastStarport']['commodities']: - if commodity.get('categoryname') and categorymap.get(commodity['categoryname'], True): + if isinstance(commodity.get('demandBracket'), numbers.Integral) and commodity.get('categoryname') and categorymap.get(commodity['categoryname'], True): h.write(('%s;%s;%s;%s;%s;%s;%s;%s;%s;\n' % ( rowheader, commoditymap.get(commodity['name'].strip(), commodity['name'].strip()), diff --git a/eddn.py b/eddn.py index 8bdd2f21..e7b868fe 100644 --- a/eddn.py +++ b/eddn.py @@ -2,6 +2,7 @@ # -*- coding: utf-8 -*- import json +import numbers import requests from platform import system from sys import platform @@ -35,7 +36,7 @@ def export(data, callback): for commodity in commodities: i = i+1 callback('Sending %d/%d' % (i, len(commodities))) - if commodity.get('categoryname') and categorymap.get(commodity['categoryname'], True): + if isinstance(commodity.get('demandBracket'), numbers.Integral) and commodity.get('categoryname') and categorymap.get(commodity['categoryname'], True): msg = { '$schemaRef': schema, 'header': header, 'message': { diff --git a/td.py b/td.py index 5820f381..dd124481 100644 --- a/td.py +++ b/td.py @@ -3,6 +3,7 @@ from os.path import join from collections import defaultdict import codecs +import numbers from platform import system from sys import platform import time @@ -26,7 +27,7 @@ def export(data): # sort commodities by category bycategory = defaultdict(list) for commodity in data['lastStarport']['commodities']: - if commodity.get('categoryname') and categorymap.get(commodity['categoryname'], True): + if isinstance(commodity.get('demandBracket'), numbers.Integral) and commodity.get('categoryname') and categorymap.get(commodity['categoryname'], True): bycategory[categorymap.get(commodity['categoryname'], commodity['categoryname'])].append(commodity) for category in sorted(bycategory):