Skip to content

Commit d277c4c

Browse files
author
Jack Li
committed
Use db data to start app
1 parent 8262d11 commit d277c4c

File tree

13 files changed

+79
-18
lines changed

13 files changed

+79
-18
lines changed

storage/base.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
from pymongo import collection
2+
from uuid import uuid4
3+
from datetime import datetime
24

35
def insert_one__(coll: collection.Collection, doc: dict):
46
return coll.insert_one(doc)
@@ -23,3 +25,9 @@ def find_one__(coll: collection.Collection, filter: dict, projection):
2325

2426
def find_many__(coll: collection.Collection, filter: dict, projection, **kwargs):
2527
return coll.find(filter=filter, projection=projection, **kwargs)
28+
29+
def gen_additional_attrs():
30+
return {
31+
"_id": str(uuid4()),
32+
"last_modified": datetime.today().replace(microsecond=0)
33+
}

storage/storage.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
from utils import get_db_handle
22
from .base import *
3-
from uuid import uuid4
43

54
# insert one
65
def insert_one(collection_name, doc: dict, db_name="tickets"):
76
db = get_db_handle(db_name)
8-
doc["_id"] = str(uuid4())
97
coll = db[collection_name]
8+
# additional attributes
9+
doc.update(gen_additional_attrs())
1010
return insert_one__(coll, doc)
1111

1212
# insert many
1313
def insert_many(collection_name, docs: list, db_name="tickets"):
1414
db = get_db_handle(db_name)
15-
for doc in docs:
16-
doc["_id"] = str(uuid4())
1715
coll = db[collection_name]
16+
# additional attributes
17+
for doc in docs:
18+
doc.update(gen_additional_attrs())
1819
return insert_many__(coll, docs)
1920

2021
# delete one

ticketscraping/scraping.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ def renew_reese84_token(self):
2828
"""
2929
This method should not be called directly.
3030
"""
31+
print("renewing token")
3132
self.token_semaphore.acquire() # invalidate a token
3233
self.reese84_token = getReese84Token()
3334
self.token_semaphore.release()
@@ -44,9 +45,10 @@ def start(self):
4445

4546

4647
class TicketScraping():
47-
def __init__(self, token_generator: Reese84TokenUpdating, event_id = constants.EVENT_ID, num_seats=2, price_range=(0, 200)):
48+
def __init__(self, token_generator: Reese84TokenUpdating, event_id, subscribe_id, num_seats=2, price_range=(0, 200)):
4849
self.is_running = False
4950
self.event_id = event_id
51+
self.subscribe_id = subscribe_id
5052
self.num_seats = num_seats
5153
self.price_range = price_range
5254
self.token_gen = token_generator
@@ -90,10 +92,10 @@ def start():
9092

9193
# ticket scraping threads
9294
scraping_list = []
93-
events = find_many(constants.DATABASE["EVENTS"], {}, {"_id": False})
95+
events = find_many(constants.DATABASE["EVENTS"], {})
9496

9597
for evt in events:
96-
ticket_scraping = TicketScraping(reese_token_gen, evt["tm_event_id"], evt["ticket_num"], evt["price_range"])
98+
ticket_scraping = TicketScraping(reese_token_gen, evt["tm_event_id"], evt["_id"], evt["ticket_num"], evt["price_range"])
9799
print(ticket_scraping.initialDelay, "s")
98100
serverThread_ticket_scraping = Thread(target=ticket_scraping.start)
99101
scraping_list.append(serverThread_ticket_scraping)

tmtracker/settings.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,28 +27,34 @@
2727

2828
ALLOWED_HOSTS = []
2929

30-
3130
# Application definition
3231

3332
INSTALLED_APPS = [
34-
'django.contrib.admin',
35-
'django.contrib.auth',
33+
# 'django.contrib.admin',
34+
# 'django.contrib.auth',
3635
'django.contrib.contenttypes',
37-
'django.contrib.messages',
36+
# 'django.contrib.messages',
3837
'django.contrib.staticfiles',
39-
'startupApp'
38+
'startupApp',
39+
'trackerapi',
4040
]
4141

4242
MIDDLEWARE = [
4343
'django.middleware.security.SecurityMiddleware',
44-
'django.contrib.sessions.middleware.SessionMiddleware',
44+
# 'django.contrib.sessions.middleware.SessionMiddleware',
4545
'django.middleware.common.CommonMiddleware',
46-
'django.middleware.csrf.CsrfViewMiddleware',
47-
'django.contrib.auth.middleware.AuthenticationMiddleware',
48-
'django.contrib.messages.middleware.MessageMiddleware',
46+
# 'django.middleware.csrf.CsrfViewMiddleware',
47+
# 'django.contrib.auth.middleware.AuthenticationMiddleware',
48+
# 'django.contrib.messages.middleware.MessageMiddleware',
4949
'django.middleware.clickjacking.XFrameOptionsMiddleware',
5050
]
5151

52+
REST_FRAMEWORK = {
53+
'DEFAULT_AUTHENTICATION_CLASSES': [],
54+
'DEFAULT_PERMISSION_CLASSES': [],
55+
'UNAUTHENTICATED_USER': None
56+
}
57+
5258
ROOT_URLCONF = 'tmtracker.urls'
5359

5460
TEMPLATES = [

tmtracker/urls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
1515
"""
1616
from django.contrib import admin
17-
from django.urls import path
17+
from django.urls import path, include
1818

1919
urlpatterns = [
20-
path('admin/', admin.site.urls),
20+
path('tracker-api/', include('trackerapi.urls'))
2121
]

trackerapi/__init__.py

Whitespace-only changes.

trackerapi/admin.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.contrib import admin
2+
3+
# Register your models here.

trackerapi/apps.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class TrackerapiConfig(AppConfig):
5+
default_auto_field = 'django.db.models.BigAutoField'
6+
name = 'trackerapi'

trackerapi/migrations/__init__.py

Whitespace-only changes.

trackerapi/models.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.db import models
2+
3+
# Create your models here.

0 commit comments

Comments
 (0)