Added number_of_days_since_restocked property to ItemListing

+ selling command now displays how many days since the last restock
doc_update
Joey Hines 2019-07-21 10:28:25 -05:00
parent bd9dad6c82
commit f5fc606c0c
2 changed files with 15 additions and 5 deletions

View File

@ -437,16 +437,14 @@ def get_selling(item_name, sort):
for shop_id in shop_ids: for shop_id in shop_ids:
shop = Shop.objects.get(pk=shop_id['shop_id']).json shop = Shop.objects.get(pk=shop_id['shop_id']).json
item_query = ItemListing.objects.annotate(normalized_price=F('price') / F('amount')) \ item_query = ItemListing.objects.filter(
.filter(item_name__icontains=item_name, shop_id=shop_id['shop_id']) \ item_name__icontains=item_name, shop_id=shop_id['shop_id']).order_by(sort)
.order_by(sort) \
.values("item_name", "price", "amount")
item_list = [] item_list = []
for item in item_query: for item in item_query:
item_list.append(item) item_list.append(item)
shop["items"] = item_list shop["items"] = objects_list_to_json(item_list)
items.append(shop) items.append(shop)
return items return items

View File

@ -2,6 +2,7 @@ from django.db import models
from django.conf import settings from django.conf import settings
from django.urls import reverse from django.urls import reverse
from sys import maxsize from sys import maxsize
import datetime
from GeoffreyApp.util import create_token, objects_list_to_json from GeoffreyApp.util import create_token, objects_list_to_json
@ -413,6 +414,15 @@ class ItemListing(models.Model):
else: else:
return self.price / self.amount return self.price / self.amount
@property
def number_of_days_since_restocked(self):
"""
days since this item was restocked
"""
days = (datetime.datetime.now().astimezone() - self.date_restocked.astimezone()).days
return days
@property @property
def json(self): def json(self):
""" """
@ -425,6 +435,7 @@ class ItemListing(models.Model):
"price": 1, "price": 1,
"amount": 1, "amount": 1,
"date_restocked": 1553264508, "date_restocked": 1553264508,
"days_since_restock": 10,
"normalized_price": 1, "normalized_price": 1,
"shop": {} "shop": {}
} }
@ -434,6 +445,7 @@ class ItemListing(models.Model):
"price": self.price, "price": self.price,
"amount": self.amount, "amount": self.amount,
"date_restocked": self.date_restocked.timestamp(), "date_restocked": self.date_restocked.timestamp(),
"days_since_restock": self.number_of_days_since_restocked,
"normalized_price": self.normalized_price, "normalized_price": self.normalized_price,
"shop": self.shop.json, "shop": self.shop.json,
} }