<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _hashi_weight_generator(self, node_name, node_conf):
 """Calculate the weight factor of the given node and yield its hash key for every configured replica. :param node_name: the node name. """

        ks = (node_conf['vnodes'] * len(self._nodes) *
              node_conf['weight']) // self._weight_sum
        for w in range(0, ks):
            w_node_name = '%s-%s' % (node_name, w)
            for i in range(0, self._replicas):
                yield self.hashi(w_node_name, replica=i)