<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get(self, key, what):
 """Generic getter magic method. The node with the nearest but not less hash value is returned. :param key: the key to look for. :param what: the information to look for in, allowed values: - instance (default):
 associated node instance - nodename: node name - pos: index of the given key in the ring - tuple: ketama compatible (pos, name) tuple - weight: node weight """

        if not self.runtime._ring:
            return None

        pos = self._get_pos(key)
        if what == 'pos':
            return pos

        nodename = self.runtime._ring[self.runtime._keys[pos]]
        if what in ['hostname', 'instance', 'port', 'weight']:
            return self.runtime._nodes[nodename][what]
        elif what == 'dict':
            return self.runtime._nodes[nodename]
        elif what == 'nodename':
            return nodename
        elif what == 'tuple':
            return (self.runtime._keys[pos], nodename)