code: def _service_by_name(name):
      '''
      Return the service info for a service by label, filename or path
      '''
      services = _available_services()
      name = name.lower()
  
      if name in services:
          # Match on label
          return services[name]
  
      for service in six.itervalues(services):
          if service['file_path'].lower() == name:
              # Match on full path
              return service
          basename, ext = os.path.splitext(service['filename'])
          if basename.lower() == name:
              # Match on basename
              return service
  
      return Falsf _service_by_name(name):
      '''
      Return the service info for a service by label, filename or path
      '''
      services = _available_services()
      name = name.lower()
  
      if name in services:
          # Match on label
          return services[name]
  
      for service in six.itervalues(services):
          if service['file_path'].lower() == name:
              # Match on full path
              return service
          basename, ext = os.path.splitext(service['filename'])
          if basename.lower() == name:
              # Match on basename
              return service
  
      return False
docs: Return the service info for a service by label, filename or path