Function
universal_write_open
(
path,
mode,
buffering=-1,
encoding=None,
errors=None,
newline=None,
compresslevel=9,
format=None,
check=-1,
preset=None,
filters=None,
compression=None,
)
Source from the content-addressed store, hash-verified
| 297 | |
| 298 | |
| 299 | def universal_write_open( |
| 300 | path, |
| 301 | mode, |
| 302 | buffering=-1, |
| 303 | encoding=None, |
| 304 | errors=None, |
| 305 | newline=None, |
| 306 | compresslevel=9, |
| 307 | format=None, |
| 308 | check=-1, |
| 309 | preset=None, |
| 310 | filters=None, |
| 311 | compression=None, |
| 312 | ): |
| 313 | # pylint: disable=unexpected-keyword-arg,no-member |
| 314 | if compression is None: |
| 315 | return builtins.open( |
| 316 | path, |
| 317 | mode=mode, |
| 318 | buffering=buffering, |
| 319 | encoding=encoding, |
| 320 | errors=errors, |
| 321 | newline=newline, |
| 322 | ) |
| 323 | elif compression in ("gz", "gzip"): |
| 324 | return gzip.open( |
| 325 | path, |
| 326 | mode=mode, |
| 327 | compresslevel=compresslevel, |
| 328 | errors=errors, |
| 329 | newline=newline, |
| 330 | encoding=encoding, |
| 331 | ) |
| 332 | elif compression in ("lzma", "xz"): |
| 333 | return lzma.open( |
| 334 | path, |
| 335 | mode=mode, |
| 336 | format=format, |
| 337 | check=check, |
| 338 | preset=preset, |
| 339 | filters=filters, |
| 340 | encoding=encoding, |
| 341 | errors=errors, |
| 342 | newline=newline, |
| 343 | ) |
| 344 | elif compression == "bz2": |
| 345 | return bz2.open( |
| 346 | path, |
| 347 | mode=mode, |
| 348 | compresslevel=compresslevel, |
| 349 | encoding=encoding, |
| 350 | errors=errors, |
| 351 | newline=newline, |
| 352 | ) |
| 353 | else: |
| 354 | raise ValueError( |
| 355 | "compression must be None, gz, gzip, lzma, or xz and was {0}".format( |
| 356 | compression |