def patron_status_request(self, patron_id, **kwargs): ''' Sends a Patron Status Request message. optional kwargs - institution -- required if default_institution is unset - patron_pwd ''' logging.debug("patron_status_request() for %s" % patron_id) msg = Message( spec = mspec.patron_status, fixed_fields = [ FixedField(ffspec.language, '000'), FixedField(ffspec.date, Message.sipdate()) ] ) msg.add_field(fspec.institution_id, kwargs.get('institution', self.default_institution)) msg.add_field(fspec.patron_id, patron_id) msg.maybe_add_field(fspec.terminal_pwd, self.terminal_pwd) msg.maybe_add_field(fspec.patron_pwd, kwargs.get('patron_pwd')) self.send_msg(msg) return self.recv_msg()
def patron_status_request(self, patron_id, **kwargs): ''' Sends a Patron Status Request message. optional kwargs - institution -- required if default_institution is unset - patron_pwd ''' logging.debug("patron_status_request() for %s" % patron_id) msg = Message(spec=mspec.patron_status, fixed_fields=[ FixedField(ffspec.language, '000'), FixedField(ffspec.date, Message.sipdate()) ]) msg.add_field(fspec.institution_id, kwargs.get('institution', self.default_institution)) msg.add_field(fspec.patron_id, patron_id) msg.maybe_add_field(fspec.terminal_pwd, self.terminal_pwd) msg.maybe_add_field(fspec.patron_pwd, kwargs.get('patron_pwd')) self.send_msg(msg) return self.recv_msg()
def item_info_request(self, item_id, **kwargs): ''' Sends an Item Information Request message kwargs - institution -- required if default_institution is unset ''' logging.debug("item_info_request() for %s" % item_id) msg = Message( spec = mspec.item_info, fixed_fields = [ FixedField(ffspec.date, Message.sipdate()) ] ) msg.add_field(fspec.institution_id, kwargs.get('institution', self.default_institution)) msg.add_field(fspec.item_id, item_id) msg.maybe_add_field(fspec.terminal_pwd, self.terminal_pwd) self.send_msg(msg) return self.recv_msg()
def patron_info_request(self, patron_id, **kwargs): ''' Send a Patron Information Request message. optional kwargs - institution -- required if default_institution is unset - summary -- determines what detailed information to request, if any - patron_pwd - start_item - end_item ''' logging.debug("patron_information_request() for %s" % patron_id) # summary may contain up to 1 "Y" value. summary = kwargs.get('summary', ' ') if summary.count('Y') > 1: raise ProtocolError( 'Too many summary values requested in patron info request') msg = Message( spec=mspec.patron_info, fixed_fields=[ FixedField(ffspec.language, '000'), FixedField(ffspec.date, Message.sipdate()), FixedField(ffspec.summary, summary) ], ) msg.add_field(fspec.institution_id, kwargs.get('institution', self.default_institution)) msg.add_field(fspec.patron_id, patron_id), msg.maybe_add_field(fspec.terminal_pwd, self.terminal_pwd) msg.maybe_add_field(fspec.patron_pwd, kwargs.get('patron_pwd')) msg.maybe_add_field(fspec.start_item, kwargs.get('start_item')) msg.maybe_add_field(fspec.end_item, kwargs.get('end_item')) self.send_msg(msg) return self.recv_msg()
def patron_info_request(self, patron_id, **kwargs): ''' Send a Patron Information Request message. optional kwargs - institution -- required if default_institution is unset - summary -- determines what detailed information to request, if any - patron_pwd - start_item - end_item ''' logging.debug("patron_information_request() for %s" % patron_id) # summary may contain up to 1 "Y" value. summary = kwargs.get('summary', ' ') if summary.count('Y') > 1: raise ProtocolError( 'Too many summary values requested in patron info request') msg = Message( spec = mspec.patron_info, fixed_fields = [ FixedField(ffspec.language, '000'), FixedField(ffspec.date, Message.sipdate()), FixedField(ffspec.summary, summary) ], ) msg.add_field(fspec.institution_id, kwargs.get('institution', self.default_institution)) msg.add_field(fspec.patron_id, patron_id), msg.maybe_add_field(fspec.terminal_pwd, self.terminal_pwd) msg.maybe_add_field(fspec.patron_pwd, kwargs.get('patron_pwd')) msg.maybe_add_field(fspec.start_item, kwargs.get('start_item')) msg.maybe_add_field(fspec.end_item, kwargs.get('end_item')) self.send_msg(msg) return self.recv_msg()
def fee_paid_request(self, patron_id, fee_amount, **kwargs): ''' Send a Fee Paid message. fee_id refers the ILS identifier for the fee / transaction. kwargs - institution -- required if default_institution is unset - transaction_id -- Unique client-side identifier for the payment - fee_id -- Unique ILS identifier for the fee/transaction toward which the payment is applied. - fee_type -- defaults to 01 (other/unknown) - payment_type -- defaults to 00 (cash) - check_number - register_login - patron_pwd - currency_type -- defaults to USD ''' logging.debug("fee_paid_request() for patron %s and amount %s" % (patron_id, fee_amount)) msg = Message(spec=mspec.fee_paid, fixed_fields=[ FixedField(ffspec.date, Message.sipdate()), FixedField(ffspec.fee_type, kwargs.get('fee_type', '01')), FixedField(ffspec.payment_type, kwargs.get('payment_type', '00')), FixedField(ffspec.currency_type, kwargs.get('currency_type', 'USD')), ]) msg.add_field(fspec.institution_id, kwargs.get('institution', self.default_institution)) msg.add_field(fspec.patron_id, patron_id) msg.add_field(fspec.fee_amount, fee_amount) msg.maybe_add_field(fspec.terminal_pwd, self.terminal_pwd) msg.maybe_add_field(fspec.fee_identifier, kwargs.get('fee_id')) msg.maybe_add_field(fspec.transaction_id, kwargs.get('transaction_id')) msg.maybe_add_field(fspec.patron_pwd, kwargs.get('patron_pwd')) msg.maybe_add_field(fspec.check_number, kwargs.get('check_number')) msg.maybe_add_field(fspec.register_login, kwargs.get('register_login')) self.send_msg(msg) return self.recv_msg()
def checkout_request(self, item_id, patron_id, **kwargs): ''' Send a Checkout message. kwargs - institution -- required if default_institution is unset - sc_renewal_policy - no_block - nb_due_date - item_properties - fee acknowledged - cancel ''' logging.debug( "checkout_request() for patron=%s and item=%s" % ( patron_id, item_id)) msg = Message( spec = mspec.checkout, fixed_fields = [ FixedField( ffspec.sc_renewal_policy, kwargs.get('sc_renewal_policy', 'N')), FixedField( ffspec.no_block, kwargs.get('no_block', 'N')), FixedField(ffspec.date, Message.sipdate()), FixedField( ffspec.nb_due_date, kwargs.get('nb_due_date', Message.sipdate())) ], ) msg.add_field( fspec.institution_id, kwargs.get('institution', self.default_institution)) msg.add_field(fspec.patron_id, patron_id), msg.add_field(fspec.item_id, item_id), msg.maybe_add_field(fspec.terminal_pwd, self.terminal_pwd) msg.maybe_add_field( fspec.item_properties, kwargs.get('item_properties')) msg.maybe_add_field(fspec.patron_pwd, kwargs.get('patron_pwd')) msg.maybe_add_field( fspec.fee_acknowledged, kwargs.get('fee_acknowledged')) msg.maybe_add_field(fspec.cancel, kwargs.get('cancel')) self.send_msg(msg) return self.recv_msg()
def checkin_request(self, item_id, current_location, **kwargs): ''' Send a Checkin message. kwargs - institution -- required if default_institution is unset - no_block - return_date - item_properties - cancel ''' logging.debug( "checkin_request() for item %s" % (item_id)) msg = Message( spec = mspec.checkin, fixed_fields = [ FixedField( ffspec.no_block, kwargs.get('no_block', 'N')), FixedField(ffspec.date, Message.sipdate()), FixedField( ffspec.return_date, kwargs.get('return_date', Message.sipdate())) ], ) msg.add_field( fspec.institution_id, kwargs.get('institution', self.default_institution)) msg.add_field(fspec.current_location, current_location), msg.add_field(fspec.item_id, item_id), msg.maybe_add_field(fspec.terminal_pwd, self.terminal_pwd) msg.maybe_add_field( fspec.item_properties, kwargs.get('item_properties')) msg.maybe_add_field(fspec.cancel, kwargs.get('cancel')) self.send_msg(msg) return self.recv_msg()