summaryrefslogtreecommitdiff
path: root/app/deals/models.py
diff options
context:
space:
mode:
authorluxagraf <sng@luxagraf.net>2023-06-29 12:40:43 -0500
committerluxagraf <sng@luxagraf.net>2023-06-29 12:40:43 -0500
commit8fe8e1c333b721c61f1723e114bc46f2698fd6c1 (patch)
tree5bb9ced6665d23840cea5a63bffbf89e6a659b78 /app/deals/models.py
initital commit of pd tool
Diffstat (limited to 'app/deals/models.py')
-rw-r--r--app/deals/models.py79
1 files changed, 79 insertions, 0 deletions
diff --git a/app/deals/models.py b/app/deals/models.py
new file mode 100644
index 0000000..b7d77d6
--- /dev/null
+++ b/app/deals/models.py
@@ -0,0 +1,79 @@
+import datetime
+import os
+
+from django.dispatch import receiver
+from django.contrib.gis.db import models
+from django.utils.html import format_html, format_html_join
+
+class Deal(models.Model):
+ asin = models.CharField(max_length=200)
+ category = models.CharField(max_length=200)
+ brand = models.CharField(max_length=200)
+ title = models.CharField(max_length=200, blank=True, null=True)
+ prime_only = models.BooleanField(default=True)
+ promo_type = models.CharField(max_length=200, blank=True)
+ deal_price = models.CharField(max_length=12, null=True)
+ original_price = models.CharField(max_length=12, null=True)
+ discount_percent = models.CharField(max_length=12, null=True)
+ discount_percent_num = models.FloatField(null=True)
+ url = models.CharField(max_length=200)
+
+ class Meta:
+ ordering = ('title',)
+
+ def __str__(self):
+ return self.title
+
+ def amazon_link(self):
+ return format_html('<a target="_blank" href="%s">%s</a>' % (self.url, self.url))
+ admin_link.short_description = 'Link'
+
+ def search_wired(self):
+ term = "https://www.google.com/search?q=%s" % (str(self.title))
+ term = term+"+site%3Awired.com"
+ return format_html("<a target='_blank' href='%s'>wired search</a>" % (term))
+ admin_link.short_description = 'Link'
+"""
+import csv
+path = "pdelectronicsdata.csv"
+with open(path) as f:
+ reader = csv.reader(f)
+ count = 0
+ for row in reader:
+ price = f'{num(row[10]):.2f}'
+ if row[5] == "Y":
+ prime = True
+ else:
+ prime = False
+ _, created = Deal.objects.get_or_create(
+ print(row)
+ count = 1
+ asin=row[0],
+ cateogry=row[1],
+ brand=row[2],
+ title=row[4],
+ prime_only=row[5],
+ promo_type=row[6],
+ deal_price= Decimal(price),
+ discount_percent=row[13],
+ url=row[14],
+ )
+ print(row[0], row[1], row[2], row[4],row[5],row[6],row[10],row[13],row[14])
+
+ title, prime_only, promo_type, deal_price, discount_percent, url)
+
+
+ _, created = Deal.objects.get_or_create(
+ asin=row[0],
+ cateogry=row[1],
+ brand=row[2],
+ title=row[4],
+ prime_only=row[5],
+ prime_only=row[6],
+ deal_price=row[10],
+ discount_percent=row[13],
+ url=row[14],
+ )
+ # creates a tuple of the new object or
+ # current object and a boolean of if it was created
+"""