Skip to content

Commit 6567ec7

Browse files
authored
Merge pull request #5 from patriotresearch/active-flag
query and parse properly for active status
2 parents 5ca55bf + ca750a9 commit 6567ec7

File tree

1 file changed

+17
-27
lines changed

1 file changed

+17
-27
lines changed

fishbowl/api.py

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -54,26 +54,8 @@
5454
"""
5555

5656
# https://www.fishbowlinventory.com/files/databasedictionary/2017/tables/part.html
57-
PARTS_SQL = """
58-
SELECT
59-
p.id,
60-
p.num,
61-
p.stdCost as StandardCost,
62-
p.description,
63-
p.typeID,
64-
p.dateLastModified,
65-
p.dateCreated,
66-
p.len,
67-
p.weight,
68-
p.height,
69-
p.width,
70-
p.revision,
71-
p.serializedFlag,
72-
p.uomId,
73-
p.weightUomId,
74-
p.sizeUomId
75-
FROM Part p
76-
"""
57+
PARTS_SQL = "SELECT * FROM Part"
58+
7759

7860
SERIAL_NUMBER_SQL = (
7961
"SELECT sn.id, sn.serialId, sn.serialNum, p.num as PartNum, "
@@ -305,7 +287,7 @@ def send_message(self, msg):
305287
# TODO: Convert to json
306288
@require_connected
307289
def send_request(
308-
self, request, value=None, response_node_name=None, single=True, silence_errors=False,
290+
self, request, value=None, response_node_name=None, single=True, silence_errors=False
309291
):
310292
"""
311293
Send a simple request to the API that follows the standard method.
@@ -436,7 +418,7 @@ def connect(self, username, password, host, port, timeout=5):
436418

437419
@require_connected
438420
def send_request(
439-
self, request, value=None, response_node_name=None, single=True, silence_errors=False,
421+
self, request, value=None, response_node_name=None, single=True, silence_errors=False
440422
):
441423
"""
442424
Send a simple request to the API that follows the standard method.
@@ -707,11 +689,21 @@ def basic_query(self, sql, serializer):
707689

708690
@require_connected
709691
def get_parts_all(self):
710-
parts = self.basic_query(PARTS_SQL, objects.Part)
692+
parts = []
693+
694+
for row in self.send_query(PARTS_SQL):
695+
row.pop("customFields")
696+
row["StandardCost"] = row.pop("stdCost")
697+
698+
obj = objects.Part(row)
699+
700+
if not obj:
701+
continue
702+
703+
parts.append((obj, row))
711704

712705
uom_map = self.get_uom_map()
713706
for part, row in parts:
714-
715707
self.set_uom("uomId", "UOM", row, part, uom_map)
716708
self.set_uom("weightUomId", "WeightUOM", row, part, uom_map)
717709
self.set_uom("sizeUomId", "SizeUOM", row, part, uom_map)
@@ -758,9 +750,7 @@ def get_products(self, lazy=True):
758750
response_node_name="ProductGetRs",
759751
)
760752

761-
product_kwargs = {
762-
"name": part_number,
763-
}
753+
product_kwargs = {"name": part_number}
764754
if lazy:
765755
product_kwargs["lazy_data"] = get_product
766756
else:

0 commit comments

Comments
 (0)