From: erickson Date: Fri, 15 Jan 2010 20:29:26 +0000 (+0000) Subject: updated contrib scripts to use new-style per-thread tasks X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=7c09b67de63225bb826b152c168cc72a586c5051;p=working%2Frandom.git updated contrib scripts to use new-style per-thread tasks git-svn-id: svn://svn.open-ils.org/ILS-Contrib/constrictor/trunk@760 6d9bc8c9-1ec2-4278-b937-99fde70a366f --- diff --git a/contrib/evergreen/eg_bib_search.py b/contrib/evergreen/eg_bib_search.py index 774a25d66..2ec0e374a 100644 --- a/contrib/evergreen/eg_bib_search.py +++ b/contrib/evergreen/eg_bib_search.py @@ -4,11 +4,6 @@ from constrictor.log import * import eg_utils, eg_data, eg_tasks import random -eg_utils.init() -words_file = open('/usr/share/dict/words') # add config property -words = words_file.readlines() -words_file.close() - class BibSearchScript(Script): def run(self): @@ -25,7 +20,7 @@ class BibSearchScript(Script): search_term = eg_utils.random_phrase(None, 3) # search phrase has 1-3 words logInfo('Search term="%s" args="%s"' % (search_term, str(search_args))) - res = eg_tasks.TASKS['BibSearchTask'].run( + res = eg_tasks.BibSearchTask().start( search_args = search_args, search_term = search_term ) @@ -33,6 +28,10 @@ class BibSearchScript(Script): logInfo('Search returned %d hits' % int(res['count'])) return True +eg_utils.init() +words_file = open('/usr/share/dict/words') # add config property +words = words_file.readlines() +words_file.close() ScriptManager.go(BibSearchScript()) diff --git a/contrib/evergreen/eg_tasks.py b/contrib/evergreen/eg_tasks.py index 8f8d267e4..74a9921fb 100644 --- a/contrib/evergreen/eg_tasks.py +++ b/contrib/evergreen/eg_tasks.py @@ -4,11 +4,6 @@ import eg_utils from oils.const import * import osrf.net_obj -TASKS = {} - -def registerTask(task): - TASKS[task.name] = task.wrap() - class AbstractMethodTask(Task): ''' Generic superclass for tasks that perform a single server-side operation ''' @@ -23,9 +18,6 @@ class AbstractMethodTask(Task): def runMethod(self, *args): return eg_utils.request(self.service, self.method, *args).send() - def register(self): - TASKS[self.name] = self.wrap() - class CheckoutTask(AbstractMethodTask): def __init__(self): @@ -40,8 +32,6 @@ class CheckoutTask(AbstractMethodTask): return self.runMethod(eg_utils.authtoken(), dict(kw)) -registerTask(CheckoutTask()) - class RenewTask(AbstractMethodTask): def __init__(self): @@ -54,8 +44,6 @@ class RenewTask(AbstractMethodTask): return self.runMethod(eg_utils.authtoken(), dict(kw)) -registerTask(RenewTask()) - class CheckinTask(AbstractMethodTask): @@ -68,8 +56,6 @@ class CheckinTask(AbstractMethodTask): ''' kw[copy_barcode] ''' return self.runMethod(eg_utils.authtoken(), dict(kw)) -registerTask(CheckinTask()) - class AbortTransitTask(AbstractMethodTask): def __init__(self): @@ -81,26 +67,22 @@ class AbortTransitTask(AbstractMethodTask): ''' kw[copy_barcode] ''' return self.runMethod(eg_utils.authtoken(), {"barcode":kw['copy_barcode']}) -registerTask(AbortTransitTask()) - -class TitleHoldPermitTask(AbstractMethodTask): - def __init__(self): - AbstractMethodTask.__init__(self) - self.service = OILS_APP_CIRC - self.method = 'open-ils.circ.title_hold.is_possible' - - def run(self, **kw): - ''' kw[title_id] - kw[patron_id] - kw[pickup_lib] - ''' - return self.runMethod(eg_utils.authtoken(), { - "patronid" : kw['patron_id'], - "titleid" : kw['title_id'], - "pickup_lib" : kw['pickup_lib']}) - -registerTask(TitleHoldPermitTask()) +class TitleHoldPermitTask(AbstractMethodTask): + def __init__(self): + AbstractMethodTask.__init__(self) + self.service = OILS_APP_CIRC + self.method = 'open-ils.circ.title_hold.is_possible' + + def run(self, **kw): + ''' kw[title_id] + kw[patron_id] + kw[pickup_lib] + ''' + return self.runMethod(eg_utils.authtoken(), { + "patronid" : kw['patron_id'], + "titleid" : kw['title_id'], + "pickup_lib" : kw['pickup_lib']}) class TitleHoldTask(AbstractMethodTask): @@ -123,8 +105,6 @@ class TitleHoldTask(AbstractMethodTask): return self.runMethod(eg_utils.authtoken(), hold) -registerTask(TitleHoldTask()) - class TitleHoldCancelTask(AbstractMethodTask): def __init__(self): @@ -136,8 +116,6 @@ class TitleHoldCancelTask(AbstractMethodTask): ''' kw['hold_id'] ''' return self.runMethod(eg_utils.authtoken(), kw['hold_id']) -registerTask(TitleHoldCancelTask()) - class TitleHoldFetchAllTask(AbstractMethodTask): @@ -150,8 +128,6 @@ class TitleHoldFetchAllTask(AbstractMethodTask): ''' kw['patron_id'] ''' return self.runMethod(eg_utils.authtoken(), kw['patron_id']) -registerTask(TitleHoldFetchAllTask()) - class BibSearchTask(AbstractMethodTask): def __init__(self): @@ -162,8 +138,6 @@ class BibSearchTask(AbstractMethodTask): def run(self, **kw): return self.runMethod(kw['search_args'], kw['search_term'], True) -registerTask(BibSearchTask()) - class UserTransactionsByType(AbstractMethodTask): def __init__(self): @@ -174,8 +148,6 @@ class UserTransactionsByType(AbstractMethodTask): self.method = kw['method'] return self.runMethod(eg_utils.authtoken(), kw['user_id']) -registerTask(UserTransactionsByType()) - class UserSearchTask(AbstractMethodTask): def __init__(self): @@ -186,5 +158,3 @@ class UserSearchTask(AbstractMethodTask): def run(self, **kw): return self.runMethod(eg_utils.authtoken(), kw['search_args'], 100) -registerTask(UserSearchTask()) - diff --git a/contrib/evergreen/eg_user_search.py b/contrib/evergreen/eg_user_search.py index 5c3f1ae07..3c91afe02 100644 --- a/contrib/evergreen/eg_user_search.py +++ b/contrib/evergreen/eg_user_search.py @@ -1,4 +1,3 @@ -from constrictor.task import Task from constrictor.script import Script, ScriptManager, ScriptThread from constrictor.log import * import eg_utils, eg_data, eg_tasks @@ -21,7 +20,7 @@ class UserSearchScript(Script): logInfo('Search for patron %s' % str(search_args)) try: - res = eg_tasks.TASKS['UserSearchTask'].run(search_args = search_args) + res = eg_tasks.UserSearchTask().start(search_args = search_args) logInfo('Search returned %d hits' % len(res)) except Exception, e: diff --git a/contrib/evergreen/eg_user_transactions.py b/contrib/evergreen/eg_user_transactions.py index 315c93865..889571e91 100644 --- a/contrib/evergreen/eg_user_transactions.py +++ b/contrib/evergreen/eg_user_transactions.py @@ -29,7 +29,7 @@ class BibSearchScript(Script): for type in types: logInfo('Loading patron(%s) transactions with %s' % (int(user_id), type)) - res = eg_tasks.TASKS['UserTransactionsByType'].run( + res = eg_tasks.UserTransactionsByType().start( method = type, user_id = user_id ) diff --git a/contrib/evergreen/eg_workflow.py b/contrib/evergreen/eg_workflow.py index 2223d9272..805bd5dd8 100644 --- a/contrib/evergreen/eg_workflow.py +++ b/contrib/evergreen/eg_workflow.py @@ -1,4 +1,4 @@ -from eg_tasks import TASKS +import eg_tasks from eg_data import DataManager from eg_utils import ILSEventException from constrictor.log import * @@ -11,7 +11,7 @@ SUCCESS = {'text_code':'SUCCESS', 'ilsevent':0} def doCheckout(copyBarcode, patronID, recurse=False): - evt = TASKS['CheckoutTask'].run( + evt = eg_tasks.CheckoutTask().start( copy_barcode=copyBarcode, patron_id=patronID) evt_txt = Event.parse_event(evt).text_code logInfo("Checkout(%s,%s) -> %s" % (copyBarcode, patronID, evt_txt)) @@ -32,7 +32,7 @@ def doCheckout(copyBarcode, patronID, recurse=False): def doRenew(copyBarcode): - evt = TASKS['RenewTask'].run(copy_barcode=copyBarcode) + evt = eg_tasks.RenewTask().start(copy_barcode=copyBarcode) evt_txt = Event.parse_event(evt).text_code logInfo("Renew(%s) -> %s" % (copyBarcode, evt_txt)) @@ -45,7 +45,7 @@ def doRenew(copyBarcode): def doCheckin(copyBarcode): - evt = TASKS['CheckinTask'].run(copy_barcode=copyBarcode) + evt = eg_tasks.CheckinTask().start(copy_barcode=copyBarcode) evt_txt = Event.parse_event(evt).text_code logInfo("Checkin(%s) -> %s" % (copyBarcode, evt_txt)) @@ -55,7 +55,7 @@ def doCheckin(copyBarcode): if evt_txt == 'ROUTE_ITEM': logInfo("Cancelling post-checkin transit...") - res = TASKS['AbortTransitTask'].run(copy_barcode=copyBarcode) + res = eg_tasks.AbortTransitTask().start(copy_barcode=copyBarcode) if Event.parse_event(res): # transit returns "1" on success logError("Unable to abort transit for %s : %s" % (copyBarcode, osrf.json.to_json(evt))) @@ -69,7 +69,7 @@ def doCheckin(copyBarcode): def doTitleHoldPermit(titleID, patronID, pickupLib): - evt = TASKS['TitleHoldPermitTask'].run( + evt = eg_tasks.TitleHoldPermitTask().start( title_id=titleID, patron_id=patronID, pickup_lib=pickupLib) if Event.parse_event(evt): @@ -91,7 +91,7 @@ def doTitleHold(titleID, patronID, pickupLib): if not doTitleHoldPermit(titleID, patronID, pickupLib): return - evt = TASKS['TitleHoldTask'].run(title_id=titleID, patron_id=patronID, pickup_lib=pickupLib) + evt = et_tasks.TitleHoldTask().start(title_id=titleID, patron_id=patronID, pickup_lib=pickupLib) logInfo("title task returned %s" % str(evt)) @@ -116,7 +116,7 @@ def doTitleHold(titleID, patronID, pickupLib): def doTitleHoldCancel(holdID): - evt = TASKS['TitleHoldCancelTask'].run(hold_id=holdID) + evt = eg_tasks.TitleHoldCancelTask().start(hold_id=holdID) if Event.parse_event(evt): evt_txt = Event.parse_event(evt).text_code @@ -129,7 +129,7 @@ def doTitleHoldCancel(holdID): return True def doTitleHoldFetchAll(patronID): - evt = TASKS['TitleHoldFetchAllTask'].run(patron_id=patronID) + evt = eg_tasks.TitleHoldFetchAllTask().start(patron_id=patronID) if Event.parse_event(evt): raise ILSEventException( "TitleHoldFetchAll(%s) failed -> %s" % (patronID, evt))