##### SUMMARY
inventory contains call to Display.deprecated or AnsibleModule.deprecate and is scheduled for removal

```
lib/ansible/plugins/inventory/__init__.py:298:8: ansible-deprecated-version: Deprecated version ('2.12') found in call to Display.deprecated or AnsibleModule.deprecate (0%)
lib/ansible/plugins/inventory/__init__.py:305:8: ansible-deprecated-version: Deprecated version ('2.12') found in call to Display.deprecated or AnsibleModule.deprecate (0%)
lib/ansible/plugins/inventory/__init__.py:314:8: ansible-deprecated-version: Deprecated version ('2.12') found in call to Display.deprecated or AnsibleModule.deprecate (0%)
```

##### ISSUE TYPE
 - Bug Report

##### COMPONENT NAME
```
lib/ansible/plugins/inventory/__init__.py
```

##### ANSIBLE VERSION
```
2.12
```

##### CONFIGURATION
N/A

##### OS / ENVIRONMENT
N/A

##### STEPS TO REPRODUCE
N/A

##### EXPECTED RESULTS
N/A

##### ACTUAL RESULTS
N/A

''' update existing options from alternate configuration sources not normally used by Ansible.
            Many API libraries already have existing configuration sources, this allows plugin author to leverage them.
            :arg data: key/value pairs that correspond to configuration options for this plugin
        '''
        for k in self._options:
            if k in data:
                self._options[k] = data.pop(k)
    def _expand_hostpattern(self, hostpattern):
        '''
        Takes a single host pattern and returns a list of hostnames and an
        optional port number that applies to all of them.
        '''
        
        
        try:
            (pattern, port) = parse_address(hostpattern, allow_ranges=True)
        except Exception:
            
            pattern = hostpattern
            port = None
        
        
        if detect_range(pattern):
            hostnames = expand_hostname_range(pattern)
        else:
            hostnames = [pattern]
        return (hostnames, port)
class BaseFileInventoryPlugin(BaseInventoryPlugin):