'Write to multiple time series names.
:param data: A dictionary mapping series names to pandas DataFrames
:param time_precision: [Optional, default \'s\'] Either \'s\', \'m\', \'ms\'
or \'u\'.
:param batch_size: [Optional] Value to write the points in batches
instead of all at one time. Useful for when doing data dumps from
one database to another or when doing a massive write operation
:type batch_size: int'

def write_points(self, data, *args, **kwargs):

    batch_size = kwargs.get(u'batch_size')
    time_precision = kwargs.get(u'time_precision', u's')
    if batch_size:
        kwargs.pop(u'batch_size')
        for (key, data_frame) in data.items():
            number_batches = int(math.ceil((len(data_frame) / float(batch_size))))
            for batch in range(number_batches):
                start_index = (batch * batch_size)
                end_index = ((batch + 1) * batch_size)
                outdata = [self._convert_dataframe_to_json(name=key, dataframe=data_frame.ix[start_index:end_index].copy(), time_precision=time_precision)]
                InfluxDBClient.write_points(self, outdata, *args, **kwargs)
        return True
    outdata = [self._convert_dataframe_to_json(name=key, dataframe=dataframe, time_precision=time_precision) for (key, dataframe) in data.items()]
    return InfluxDBClient.write_points(self, outdata, *args, **kwargs)
