diff --git a/pythonbookdef.py b/pythonbookdef.py index 93730d4..65c2655 100644 --- a/pythonbookdef.py +++ b/pythonbookdef.py @@ -1,8 +1,18 @@ -class libaccount(): +import requests +import datetime +from tabulate import tabulate +import boto3 +import json +from json import JSONEncoder + +class libaccount(dict): def __init__(self,name,barcode,pin): + dict.__init__(self,name=name, barcode=barcode, pin=pin) self.name=name self.barcode=barcode self.pin=pin + def toJson(self): + return json.dumps(self,default=lambda o: o.__dict__) class book(): def __init__(self,itemid,renewalcount,checkoutdate,duedate,vendor,resourceid,resourceinstanceid,title,materialtype,coverurl,person,authsession,renewresult,overdue): self.id=itemid @@ -37,7 +47,7 @@ class book(): print(e.json()) finally: pass - + #print(renewresult.json()) def sendemail(body,subject): print("Sending Email") boto3.setup_default_session(profile_name='hamik') @@ -61,10 +71,29 @@ def sendemail(body,subject): }, Source='librarynotices@hamik.net' ) +upcomingdays=5 +autorenewaldays=3 +alwayssendemail=False +returndata=False +recipients=['dan@hamik.net','allisonmhamik@gmail.com','danalli@hamik.net'] +uri = "https://auth.na2.iiivega.com/auth/realms/sioux/protocol/openid-connect/token" +checkoutsuri='https://sioux.na2.iiivega.com/api/search-result/patrons/me/checkouts' +with open('libaccounts.json') as accountfile: + accountsjson= json.load(accountfile) + +accounts=[] +for account in accountsjson: + accounts.append( + libaccount( + accountsjson[account]['name'], + str(accountsjson[account]['barcode']), + str(accountsjson[account]['pin'])) + ) + allbooks=[] mediatypes=[] for myaccount in accounts: - account=accounts[myaccount] + account=myaccount print(account.name) # Create a session session = requests.Session() @@ -123,33 +152,59 @@ for myaccount in accounts: mediatypes.append(thisbook.materialtype) allbooks.append(thisbook) -duesoon = [d for d in allbooks if d.duedate < datetime.date.today() + datetime.timedelta(days=10)] - for book in allbooks: #print(datetime.date.today(),book.duedate) if datetime.date.today() > book.duedate: book.renew() + +#sendemail() +tablestart=""" + + +
+ +