Skip to content

Commit

Permalink
Merge pull request #14 from ThilakReddyy/develop
Browse files Browse the repository at this point in the history
update:Redis
  • Loading branch information
ThilakReddyy committed Jun 9, 2023
2 parents be67858 + 181244a commit 915cd09
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 4 deletions.
9 changes: 6 additions & 3 deletions jntuhresults/Executables/notificationsretriever.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,14 @@
import os
from dotenv import load_dotenv


load_dotenv()
redis_url=os.environ.get("REDIS_URL")
redis_client = redis.from_url(redis_url)

def get_notifications():
# Load environment variables from .env file
load_dotenv()
redis_url=os.environ.get("REDIS_URL")
redis_client = redis.from_url(redis_url)

redis_response = redis_client.get("notifications")
if redis_response != None:
data = json.loads(redis_response)
Expand Down
23 changes: 22 additions & 1 deletion jntuhresults/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@
from jntuhresults.Executables.jntuhresultscraper import ResultScraper
from django.views.generic import View
from jntuhresults.Executables.notificationsretriever import get_notifications
import os
from dotenv import load_dotenv
import redis
import json
from datetime import timedelta

# Load environment variables from .env file
load_dotenv()
redis_url=os.environ.get("REDIS_URL")
redis_client = redis.from_url(redis_url)


# Class Result ----------------------------------------------------------------------
Expand Down Expand Up @@ -59,6 +69,11 @@ def get(self,request):
if len(htno) != 10:
return HttpResponse(htno+" Invalid hall ticket number")
try:
redis_response = redis_client.get(htno)
if redis_response != None:
data = json.loads(redis_response)
print(htno,"- Retrived from cache")
return data["data"]
# Create an instance of ResultScraper
jntuhresult = ResultScraper(htno.upper())

Expand Down Expand Up @@ -86,6 +101,9 @@ def get(self,request):
print(htno,result['Details']['NAME'],stopping-starting)

del jntuhresult

redis_client.set(htno, json.dumps({"data": result}))
redis_client.expire(htno, timedelta(minutes=45))
# Return the result
return JsonResponse(result,safe=False)

Expand All @@ -100,7 +118,10 @@ def get(self,request):
#- Notifications -------------------------------------------------------------------------------------------------
class Notification(View):
def get(self,request):

redis_response = redis_client.get("notifications")
if redis_response != None:
data = json.loads(redis_response)
return JsonResponse(data["data"],safe=False)
return JsonResponse(get_notifications(),safe=False)

#---------------------------------------------------------------------------------------------------------------
Expand Down

0 comments on commit 915cd09

Please sign in to comment.