add get_service_with_docs_by_service_type() #35
@ -209,3 +209,22 @@ class Services(object):
 | 
			
		||||
                doc_struct[srv["service_category"]].append(srv_res)
 | 
			
		||||
 | 
			
		||||
        return dict(categories=doc_struct)
 | 
			
		||||
 | 
			
		||||
    def get_service_with_docs_by_service_type(self, service_type):
 | 
			
		||||
        """Retrieve service and service docs by service_type
 | 
			
		||||
 | 
			
		||||
        :param str service_type: Filter by service_type
 | 
			
		||||
        """
 | 
			
		||||
        res = dict()
 | 
			
		||||
        res['service'] = {}
 | 
			
		||||
        docs = []
 | 
			
		||||
        services = self._service_data
 | 
			
		||||
        for doc in services['documents']:
 | 
			
		||||
            if doc['service_type'] == service_type:
 | 
			
		||||
                docs.append(doc)
 | 
			
		||||
        res['documents'] = docs
 | 
			
		||||
        for service in services['services']:
 | 
			
		||||
            if service['service_type'] == service_type:
 | 
			
		||||
                res['service'] = service
 | 
			
		||||
                break
 | 
			
		||||
| 
					
	
	
	
	
	
	
	
	 
					
					tischrei marked this conversation as resolved
					
				 
				 | 
			||||
        return res
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user
	
why break is required here? There’s only unique service_type in services so after the if condition for the matching service_type you should get exactly one matching res[‘service’] even after completing the loop.
You are right, that the break is not necessary. The reason I use it here is to shorten the runtime a bit. The loop breaks because 1 result is expected, otherwise the loop would run further which is not necessary and results in larger runtime of this loop.