Source code for ohbm.events

'''
events: part of the ohbm-api

'''

from ohbm.utils import get_url, ordered_to_dict, parse_item, parse_items

[docs]class Events(): def __init__(self,api=None): if api == None: print("Please use this module from ohbm.api") else: self.api = api
[docs] def get_result(self,url,args=None): '''get_result takes a url and adds the apiKey for the get_result from utils :param url: the url to get the result for :param args: a dictionary of {"argumentName":value} to pass to the URL ''' if args != None: for arg_name,arg_value in args.iteritems(): if arg_value != None: url = "%s&%s=%s" %(url,arg_name,arg_value) url = "%s&apiKey=%s" %(url,self.api.key) return get_url(url)
[docs] def getEvents(self,statusFlag=None,publicUseFlag=None,approvedFlag=None, categoryID=None,plannerID=None,startsOnDate=None): '''Returns an XML payload containing a full listing of all event or session data. Event or session data consists primarily of the name, date, time description and location of events. Note: the tag, AI_ATTENDEEID, may be used within data elements and serves as a placeholder to be replaced by a valid attendee ID. This method is only available in its entirety between 7PM and 7AM. Between 7AM and 7PM the method will at most 5 event entries. :param statusFlag: Valid values: 1-Active; 0-Inactive; -1-All; Used to indicate if the event is active or inactive. Generally inactive events are events that have been cancelled or removed by the client. :param publicUseFlag: Valid values: 1=Public; 0=Private; -1=All; Used to determine the types of events to include. Public events are viewable to the general population. Private events are events clients are witholding from the general viewing public :param approvedFlag: Valid values: 1=Approved; 0=Not Approved; -1=Both; Used to determine the types of events to include. Note that a site setting can be used to use approvedFlag=1 by default. However, passing the parameter via the url will override the site setting parameter. :param categoryID: Numeric value; Use the 'getCategories' REST call to pull a list of valid categories. :param plannerID: Numeric value containing a valid planner. :param startsOnDate: Date value containing a valid date. Use the 'getSearchOptions' call to obtain a valid list of dates. ''' url = "%s/?do=cnt.getservice&service=getEvents" %(self.api.base) args = {"statusFlag":statusFlag, "publicUseFlag":publicUseFlag, "approvedFlag":approvedFlag, "categoryID":categoryID, "plannerID":plannerID, "startsOnDate":startsOnDate} result = self.get_result(url,args) return parse_items(result,"event")
[docs] def getEvent(self,eventID): '''Returns an XML payload containing the details of a single event. Sample Request URL: http://.../?do=cnt.getservice&service=getEvent Parameter Options: :param apiKey: Valid API key :param eventID: Numeric value of an event. ''' url = "%s/?do=cnt.getservice&service=getEvent" %(self.api.base) args = {"eventID":eventID} result = self.get_result(url,args) return parse_item(result,"event")
[docs] def getEventSearchOptions(self): '''getEventSearchOptions returns an XML payload containing search options for the getSearchResults service. The results of this call are used to obtain valid search values which can be passed to the 'getSearchResults' request. Sample Request URL: http://.../?do=cnt.getservice&service=getEventSearchOptions ''' url = "%s/?do=cnt.getservice&service=getEventSearchOptions" %(self.api.base) result = self.get_result(url) return ordered_to_dict(result)
[docs] def getEventSearchResults(self,searchText=None,categoryID=None,locationID=None,speakerID=None, startsOnDate=None,startsOnTime=None,statusFlag=None): '''getEventSearchResults Returns an XML payload containing an event listing. This data set returned is smaller than the getEvents request and intend for listing results. Use the result in combination with the getEvent call to pull addition information on a specific event. Sample Request URL: http://.../?do=cnt.getservice&service=getEventSearchResults Parameter Options: :param searchText: Text string used to perform a general search of the events. This parameter is used to find matches in the title, description, objectives or speaker names. :param categoryID: Numeric value containing a valid category. Use the 'getSearchOptions' call to obtain a valid list of categories :param locationID: Numeric value containing a valid location. Use the 'getSearchOptions' call to obtain a valid list of locations :param speakerID: Numeric value containing a valid speaker. Use the 'getSearchOptions' call to obtain the list of possible speakers. :param startsOnDate: Date value containing a valid date. Use the 'getSearchOptions' call to obtain a valid list of dates. :param startsOnTime: Time value in 12 hour format. E.g. 6:30PM :param statusFlag: Valid values: 1-Active; 0-Inactive; -1-All; Used to indicate if the event is active or inactive. Generally inactive events are events that have been cancelled or removed by the client. ''' url = "%s/?do=cnt.getservice&service=getEventSearchResults" %(self.api.base) args = {"searchText":searchText, "categoryID":categoryID, "locationID":locationID, "speakerID":speakerID, "startsOnDate":startsOnDate, "startsOnTime":startsOnTime, "statusFlag":statusFlag} result = self.get_result(url,args) return parse_items(result,"event")
[docs] def getEventsCreditsSummary(self,statusFlag=None,publicUseFlag=None,approvedFlag=None, categoryID=None,plannerID=None,startsOnDate=None): '''getEventsCreditsSummary Returns an XML payload containing a full listing of event or session credit data. Event or session data consists primarily of the name, date, time description and location of events. Credit data primarily consists of the total credits claimed and people who have claimed those credits. Note: The tag, AI_ATTENDEEID, may be used within data elements and serves as a placeholder to be replaced by a valid attendee ID. This method is only available in its entirety between 7PM and 7AM. Between 7AM and 7PM the method will at most 5 event entries. Sample Request URL: http://.../?do=cnt.getservice&service=getEventsCreditsSummary Parameter Options: :param statusFlag: Valid values: 1-Active; 0-Inactive; -1-All; Used to indicate if the event is active or inactive. Generally inactive events are events that have been cancelled or removed by the client. :param publicUseFlag: Valid values: 1=Public; 0=Private; -1=All; Used to determine the types of events to include. Public events are viewable to the general population. Private events are events clients are withholding from the general viewing public :param approvedFlag: Valid values: 1=Approved; 0=Not Approved; -1=Both; Used to determine the types of events to include. Note that a site setting can be used to use approvedFlag=1 by default. However, passing the parameter via the url will override the site setting parameter. :param categoryID: Numeric value; Use the 'getCategories' REST call to pull a list of valid categories. :param plannerID: Numeric value containing a valid planner. :param startsOnDate: Date value containing a valid date. Use the 'getSearchOptions' call to obtain a valid list of dates. ''' url = "%s/?do=cnt.getservice&service=getEventsCreditsSummary" %(self.api.base) args = {"statusFlag":statusFlag, "publicUseFlag":publicUseFlag, "approvedFlag":approvedFlag, "categoryID":categoryID, "plannerID":plannerID, "startsOnDate":startsOnDate} result = self.get_result(url,args) return parse_items(result,"event")
[docs] def getEventCreditSummary(self,eventID): '''getEventCreditsSummary Returns an XML payload containing the credit details of a single event. Sample Request URL: http://.../?do=cnt.getservice&service=getEventCreditsSummary Parameter Options: :param *eventID: Numeric value of an event. ''' url = "%s/?do=cnt.getservice&service=getEventCreditsSummary" %(self.api.base) args = {"eventID":eventID} result = self.get_result(url,args) return parse_item(result,"event")
[docs] def getEventsCreditsByRegTypeSummary(self,statusFlag=None,publicUseFlag=None,approvedFlag=None, categoryID=None,plannerID=None): '''service=getEventsCreditsByRegTypeSummary Returns an XML payload containing a full listing of event or session credit data grouped by registration type. Event or session data consists primarily of the name, date, time description and location of events. Credit data primarily consists of the total credits claimed and people who have claimed those credits. Note: The tag, AI_ATTENDEEID, may be used within data elements and serves as a placeholder to be replaced by a valid attendee ID. The data excludes people who do not have a registration type. This method is only available in its entirety between 7PM and 7AM. Between 7AM and 7PM the method will at most 5 event entries. Sample Request URL: http://.../?do=cnt.getservice&service=getEventsCreditsByRegTypeSummary Parameter Options: :param statusFlag: Valid values: 1-Active; 0-Inactive; -1-All; Used to indicate if the event is active or inactive. Generally inactive events are events that have been cancelled or removed by the client. :param publicUseFlag: Valid values: 1=Public; 0=Private; -1=All; Used to determine the types of events to include. Public events are viewable to the general population. Private events are events clients are withholding from the general viewing public :param approvedFlag: Valid values: 1=Approved; 0=Not Approved; -1=Both; Used to determine the types of events to include. Note that a site setting can be used to use approvedFlag=1 by default. However, passing the parameter via the url will override the site setting parameter. :param categoryID: Numeric value; Use the 'getCategories' REST call to pull a list of valid categories. :param plannerID: Numeric value containing a valid planner. startsOnDate: Date value containing a valid date. Use the 'getSearchOptions' call to obtain a valid list of dates. ''' url = "%s/?do=cnt.getservice&service=getEventsCreditsByRegTypeSummary" %(self.api.base) args = {"statusFlag":statusFlag, "publicUseFlag":publicUseFlag, "approvedFlag":approvedFlag, "categoryID":categoryID, "plannerID":plannerID} result = self.get_result(url,args) return parse_items(result,"event")
[docs] def getEventCreditsByRegTypeSummary(self,eventID): '''getEventCreditsByRegTypeSummary Returns an XML payload containing the credit details grouped by registration type of a single event. Sample Request URL: http://.../?do=cnt.getservice&service=getEventCreditsByRegTypeSummary Parameter Options: :param *apiKey: Valid API key :param *eventID: Numeric value of an event. ''' url = "%s/?do=cnt.getservice&service=getEventCreditsByRegTypeSummary" %(self.api.base) args = {"eventID":eventID} result = self.get_result(url,args) return parse_item(result,"event")