--- /dev/null
+from constrictor.script import Script, ScriptThread
+import eg_utils
+from eg_data import *
+from eg_workflow import *
+import constrictor.log as log
+
+eg_utils.init()
+
+class CreateTitleHoldScript(Script):
+
+ def run(self):
+
+ dm = DataManager()
+ title_id = dm.get_thread_data(PROP_TITLE_IDS)
+ pickup_lib = dm.get_thread_data(PROP_ORG_IDS)
+ patron_id = dm.get_thread_data(PROP_PATRON_IDS)
+ copy_barcode = dm.get_thread_data(PROP_COPY_BARCODES, True)
+
+ # title hold
+ hold_id = doTitleHold(title_id, patron_id, pickup_lib)
+ if hold_id:
+ doTitleHoldCancel(hold_id)
+
+ # checkout/renew/checkin
+ evt = doCheckout(copy_barcode, patron_id)
+ if not evt: return False
+
+ evt = doRenew(copy_barcode)
+ if not evt: return False
+
+ evt = doCheckin(copy_barcode)
+ if not evt: return False
+
+ # patron search
+ search_args = {
+ 'family_name' : {'value' : eg_utils.random_phrase(1), 'group' : 0},
+ 'first_given_name' : {'value' : eg_utils.random_phrase(1), 'group' : 0}
+ }
+
+ log.log_info('Search for patron %s' % str(search_args))
+ res = eg_tasks.UserSearchTask().start(search_args = search_args)
+
+ return True
+
+
+
+ScriptManager.go(CreateTitleHoldScript())
+