from eg_data import DataManager
from eg_utils import ILSEventException
from constrictor.log import *
-from oils.utils.utils import eventText, eventCode
+from oils.event import Event
from oils.const import *
-from osrf.json import osrfObjectToJSON
+import osrf.json
-SUCCESS = {'textcode':'SUCCESS', 'ilsevent':0}
+SUCCESS = {'text_code':'SUCCESS', 'ilsevent':0}
-def doCheckoutPermit(copyBarcode, patronID, recurse=False):
- evt = TASKS['CheckoutPermitTask'].run(copy_barcode=copyBarcode, patron_id=patronID)
- logInfo("CheckoutPermit(%s, %s) -> %s" % (copyBarcode, patronID, eventText(evt)))
+def doCheckout(copyBarcode, patronID, recurse=False):
- if eventText(evt) == OILS_EVENT_SUCCESS:
+ evt = TASKS['CheckoutTask'].run(
+ copy_barcode=copyBarcode, patron_id=patronID)
+ evt_txt = Event.parse_event(evt).text_code
+ logInfo("Checkout(%s,%s) -> %s" % (copyBarcode, patronID, evt_txt))
+
+ if evt_txt == OILS_EVENT_SUCCESS:
return evt
if recurse: return None
- if eventText(evt) == 'OPEN_CIRCULATION_EXISTS':
+ if evt_txt == 'OPEN_CIRCULATION_EXISTS':
evt = doCheckin(copyBarcode)
- if eventText(evt) == OILS_EVENT_SUCCESS:
- return doCheckoutPermit(copyBarcode, patronID, True)
+ if evt_txt == OILS_EVENT_SUCCESS:
+ return doCheckout(copyBarcode, patronID, True)
logInfo("* Unable to checkin open circ: %s" % copyBarcode)
return None
-def doCheckout(copyBarcode, patronID, permitKey):
-
- evt = TASKS['CheckoutTask'].run(
- copy_barcode=copyBarcode, patron_id=patronID, permit_key=permitKey)
- logInfo("Checkout(%s,%s) -> %s" % (copyBarcode, patronID, eventText(evt)))
-
- if eventText(evt) == OILS_EVENT_SUCCESS:
- return evt
-
- return None
-
-
def doRenew(copyBarcode):
evt = TASKS['RenewTask'].run(copy_barcode=copyBarcode)
- logInfo("Checkout(%s) -> %s" % (copyBarcode, eventText(evt)))
+ evt_txt = Event.parse_event(evt).text_code
+ logInfo("Checkout(%s) -> %s" % (copyBarcode, evt_txt))
- if eventText(evt) == OILS_EVENT_SUCCESS:
+ if evt_txt == OILS_EVENT_SUCCESS:
return evt
return None
def doCheckin(copyBarcode):
evt = TASKS['CheckinTask'].run(copy_barcode=copyBarcode)
- logInfo("Checkin(%s) -> %s" % (copyBarcode, eventText(evt)))
+ evt_txt = Event.parse_event(evt).text_code
+ logInfo("Checkin(%s) -> %s" % (copyBarcode, evt_txt))
- if eventText(evt) == OILS_EVENT_SUCCESS or eventText(evt) == 'NO_CHANGE':
+ if evt_txt == OILS_EVENT_SUCCESS or evt_txt == 'NO_CHANGE':
return SUCCESS
- if eventText(evt) == 'ROUTE_ITEM':
+ if evt_txt == 'ROUTE_ITEM':
logInfo("Cancelling post-checkin transit...")
- evt = TASKS['AbortTransitTask'].run(copy_barcode=copyBarcode)
+ res = TASKS['AbortTransitTask'].run(copy_barcode=copyBarcode)
- if eventCode(evt): # transit returns "1" on success
- logError("Unable to abort transit for %s : %s" % (copyBarcode, osrfObjectToJSON(evt)))
+ if Event.parse_event(res): # transit returns "1" on success
+ logError("Unable to abort transit for %s : %s" % (copyBarcode, osrf.json.to_json(evt)))
return None
return SUCCESS
evt = TASKS['TitleHoldPermitTask'].run(
title_id=titleID, patron_id=patronID, pickup_lib=pickupLib)
- if eventCode(evt):
+ if Event.parse_event(evt):
raise ILSEventException(
"TitleHoldPermit(%s, %s, %s) failed -> %s" % (
- titleID, patronID, pickupLib, osrfObjectToJSON(evt)))
+ titleID, patronID, pickupLib, osrf.json.to_json(evt)))
if str(evt) != '1':
logInfo("TitleHoldPermit(%s, %s, %s) not allowed -> %s" % (
if isinstance(evt, list):
evts = []
for e in evt:
- evts.append(e['textcode'])
+ evts.append(e['text_code'])
logInfo("TitleHold(%s, %s, %s) -> %s" % (titleID, patronID, pickupLib, str(evts)))
return None
- if eventCode(evt):
- logInfo("TitleHold(%s, %s, %s) -> %s" % (titleID, patronID, pickupLib, eventCode(evt)))
+ if Event.parse_event(evt):
+ logInfo("TitleHold(%s, %s, %s) -> %s" % (titleID, patronID, pickupLib, Event.parse_event(evt).code))
return None
if str(evt) != '1':
def doTitleHoldCancel(holdID):
evt = TASKS['TitleHoldCancelTask'].run(hold_id=holdID)
+ evt_txt = Event.parse_event(evt).text_code
- if eventCode(evt):
- if eventText(evt) == 'ACTION_HOLD_REQUEST_NOT_FOUND':
+ if Event.parse_event(evt):
+ if evt_txt == 'ACTION_HOLD_REQUEST_NOT_FOUND':
return True
raise ILSEventException(
"TitleHoldCancel(%s) failed -> %s" % (holdID, str(evt)))
def doTitleHoldFetchAll(patronID):
evt = TASKS['TitleHoldFetchAllTask'].run(patron_id=patronID)
- if eventCode(evt):
+ if Event.parse_event(evt):
raise ILSEventException(
"TitleHoldFetchAll(%s) failed -> %s" % (patronID, evt))
return evt