(self, direction, factor, values)
| 219 | return factor, number_fraction |
| 220 | |
| 221 | def __call__(self, direction, factor, values): |
| 222 | if len(values) == 0: |
| 223 | return [] |
| 224 | |
| 225 | ss = np.sign(values) |
| 226 | signs = ["-" if v < 0 else "" for v in values] |
| 227 | |
| 228 | factor, number_fraction = self._get_number_fraction(factor) |
| 229 | |
| 230 | values = np.abs(values) |
| 231 | |
| 232 | if number_fraction is not None: |
| 233 | values, frac_part = divmod(values, 10 ** number_fraction) |
| 234 | frac_fmt = "%%0%dd" % (number_fraction,) |
| 235 | frac_str = [frac_fmt % (f1,) for f1 in frac_part] |
| 236 | |
| 237 | if factor == 1: |
| 238 | if number_fraction is None: |
| 239 | return [self.fmt_d % (s * int(v),) for s, v in zip(ss, values)] |
| 240 | else: |
| 241 | return [self.fmt_ds % (s * int(v), f1) |
| 242 | for s, v, f1 in zip(ss, values, frac_str)] |
| 243 | elif factor == 60: |
| 244 | deg_part, min_part = divmod(values, 60) |
| 245 | if number_fraction is None: |
| 246 | return [self.fmt_d_m % (s1, d1, m1) |
| 247 | for s1, d1, m1 in zip(signs, deg_part, min_part)] |
| 248 | else: |
| 249 | return [self.fmt_d_ms % (s, d1, m1, f1) |
| 250 | for s, d1, m1, f1 |
| 251 | in zip(signs, deg_part, min_part, frac_str)] |
| 252 | |
| 253 | elif factor == 3600: |
| 254 | if ss[-1] == -1: |
| 255 | inverse_order = True |
| 256 | values = values[::-1] |
| 257 | signs = signs[::-1] |
| 258 | else: |
| 259 | inverse_order = False |
| 260 | |
| 261 | l_hm_old = "" |
| 262 | r = [] |
| 263 | |
| 264 | deg_part, min_part_ = divmod(values, 3600) |
| 265 | min_part, sec_part = divmod(min_part_, 60) |
| 266 | |
| 267 | if number_fraction is None: |
| 268 | sec_str = [self.fmt_s_partial % (s1,) for s1 in sec_part] |
| 269 | else: |
| 270 | sec_str = [self.fmt_ss_partial % (s1, f1) |
| 271 | for s1, f1 in zip(sec_part, frac_str)] |
| 272 | |
| 273 | for s, d1, m1, s1 in zip(signs, deg_part, min_part, sec_str): |
| 274 | l_hm = self.fmt_d_m_partial % (s, d1, m1) |
| 275 | if l_hm != l_hm_old: |
| 276 | l_hm_old = l_hm |
| 277 | l = l_hm + s1 |
| 278 | else: |
nothing calls this directly
no test coverage detected