summaryrefslogtreecommitdiff
path: root/app/unused_apps/ebay/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/unused_apps/ebay/models.py')
-rw-r--r--app/unused_apps/ebay/models.py84
1 files changed, 0 insertions, 84 deletions
diff --git a/app/unused_apps/ebay/models.py b/app/unused_apps/ebay/models.py
deleted file mode 100644
index 089e0e4..0000000
--- a/app/unused_apps/ebay/models.py
+++ /dev/null
@@ -1,84 +0,0 @@
-import datetime
-import re
-from django.utils.encoding import force_text
-from django.contrib.gis.db import models
-from django.utils import timezone
-from bs4 import BeautifulSoup
-import requests
-
-class Item(models.Model):
- name = models.CharField(max_length=200)
- purchase_price = models.IntegerField()
- url = models.CharField(max_length=200)
- currently_own = models.BooleanField(blank=True, default=False)
- sold = models.BooleanField(blank=True, default=False)
- sale_price = models.IntegerField()
-
- def save(self, **kwargs):
- super(Item, self).save()
-
- def __str__(self):
- return self.name
-
-
-class TrackedItem(models.Model):
- title = models.CharField(max_length=200)
- url = models.CharField(max_length=200)
- DESIRE = (
- (0, '1'),
- (1, '2'),
- (2, '3'),
- (3, '4'),
- (4, '5'),
- )
- amount_desired = models.IntegerField(choices=DESIRE, default=0)
- date_ending = models.DateTimeField(default=timezone.now)
-
- class Meta:
- ordering = ('date_ending', 'amount_desired')
- get_latest_by = 'date_ending'
-
- @property
- def get_latest_price(self):
- return self.price_set.latest().price
-
- def admin_link(self):
- return force_text('<a href="%s">View Auction page</a>' % (self.url))
- admin_link.allow_tags = True
- admin_link.short_description = 'Link'
-
- def __str__(self):
- return self.title
-
- def save(self, **kwargs):
- super(TrackedItem, self).save()
-
-
-class Price(models.Model):
- date = models.DateTimeField(blank=True)
- price = models.DecimalField(max_digits=6, decimal_places=2)
- item = models.ForeignKey(TrackedItem)
-
- class Meta:
- ordering = ('-date',)
- get_latest_by = 'date'
-
- def __str__(self):
- return str(self.date)
-
- def save(self, **kwargs):
- if not self.pk:
- self.date = datetime.datetime.now()
- super(Price, self).save()
-
-
-def update_tracked_item_price(item):
- r = requests.get(item.url)
- soup = BeautifulSoup(r.text, "lxml")
- numbers = re.compile('\d+(?:\.\d+)?')
- price = soup.find(itemprop="price").get_text()
- price = numbers.findall(price)[0]
- l, created = Price.objects.get_or_create(
- price=price,
- item=item
- )