From 39642f56b0a6edcece51de51854a9c64f6173af4 Mon Sep 17 00:00:00 2001 From: Kenta Sato Date: Wed, 18 Oct 2017 11:52:45 +0900 Subject: [PATCH 1/4] rename compressors and decompressors --- README.md | 12 ++++++------ src/CodecXz.jl | 8 ++++---- src/compression.jl | 30 +++++++++++++++--------------- src/decompression.jl | 30 +++++++++++++++--------------- test/runtests.jl | 34 +++++++++++++++++----------------- 5 files changed, 57 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index 7ea3b44..49c384a 100644 --- a/README.md +++ b/README.md @@ -27,24 +27,24 @@ erat ex bibendum ipsum, sed varius ipsum ipsum vitae dui. """ # Streaming API. -stream = XzCompressionStream(IOBuffer(text)) -for line in eachline(XzDecompressionStream(stream)) +stream = XzCompressorStream(IOBuffer(text)) +for line in eachline(XzDecompressorStream(stream)) println(line) end close(stream) # Array API. -compressed = transcode(XzCompression(), text) +compressed = transcode(XzCompressor(), text) @assert sizeof(compressed) < sizeof(text) -@assert transcode(XzDecompression(), compressed) == Vector{UInt8}(text) +@assert transcode(XzDecompressor(), compressed) == Vector{UInt8}(text) ``` This package exports following codecs and streams: | Codec | Stream | | ----------------- | ----------------------- | -| `XzCompression` | `XzCompressionStream` | -| `XzDecompression` | `XzDecompressionStream` | +| `XzCompressor` | `XzCompressorStream` | +| `XzDecompressor` | `XzDecompressorStream` | See docstrings and [TranscodingStreams.jl](https://github.com/bicycle1885/TranscodingStreams.jl) for details. diff --git a/src/CodecXz.jl b/src/CodecXz.jl index 94ca6fc..ef70ada 100644 --- a/src/CodecXz.jl +++ b/src/CodecXz.jl @@ -3,10 +3,10 @@ __precompile__() module CodecXz export - XzCompression, - XzCompressionStream, - XzDecompression, - XzDecompressionStream + XzCompressor, + XzCompressorStream, + XzDecompressor, + XzDecompressorStream import TranscodingStreams: TranscodingStreams, diff --git a/src/compression.jl b/src/compression.jl index e27b2e2..694e8d4 100644 --- a/src/compression.jl +++ b/src/compression.jl @@ -1,13 +1,13 @@ -# Compression Codec +# Compressor Codec # ================= -struct XzCompression <: TranscodingStreams.Codec +struct XzCompressor <: TranscodingStreams.Codec stream::LZMAStream preset::UInt32 check::Cint end -function Base.show(io::IO, codec::XzCompression) +function Base.show(io::IO, codec::XzCompressor) print(io, summary(codec), "(level=$(codec.preset), check=$(codec.check))") end @@ -15,7 +15,7 @@ const DEFAULT_COMPRESSION_LEVEL = 6 const DEFAULT_CHECK = LZMA_CHECK_CRC64 """ - XzCompression(;level=$(DEFAULT_COMPRESSION_LEVEL), check=LZMA_CHECK_CRC64) + XzCompressor(;level=$(DEFAULT_COMPRESSION_LEVEL), check=LZMA_CHECK_CRC64) Create an xz compression codec. @@ -24,31 +24,31 @@ Arguments - `level`: compression level (0..9) - `check`: integrity check type (`LZMA_CHECK_{NONE,CRC32,CRC64,SHA256}`) """ -function XzCompression(;level::Integer=DEFAULT_COMPRESSION_LEVEL, check::Cint=DEFAULT_CHECK) +function XzCompressor(;level::Integer=DEFAULT_COMPRESSION_LEVEL, check::Cint=DEFAULT_CHECK) if !(0 ≤ level ≤ 9) throw(ArgumentError("compression level must be within 0..9")) elseif check ∉ (LZMA_CHECK_NONE, LZMA_CHECK_CRC32, LZMA_CHECK_CRC64, LZMA_CHECK_SHA256) throw(ArgumentError("invalid integrity check")) end - return XzCompression(LZMAStream(), level, check) + return XzCompressor(LZMAStream(), level, check) end -const XzCompressionStream{S} = TranscodingStream{XzCompression,S} where S<:IO +const XzCompressorStream{S} = TranscodingStream{XzCompressor,S} where S<:IO """ - XzCompressionStream(stream::IO; kwargs...) + XzCompressorStream(stream::IO; kwargs...) -Create an xz compression stream (see `XzCompression` for `kwargs`). +Create an xz compression stream (see `XzCompressor` for `kwargs`). """ -function XzCompressionStream(stream::IO; kwargs...) - return TranscodingStream(XzCompression(;kwargs...), stream) +function XzCompressorStream(stream::IO; kwargs...) + return TranscodingStream(XzCompressor(;kwargs...), stream) end # Methods # ------- -function TranscodingStreams.initialize(codec::XzCompression) +function TranscodingStreams.initialize(codec::XzCompressor) ret = easy_encoder(codec.stream, codec.preset, codec.check) if ret != LZMA_OK lzmaerror(codec.stream, ret) @@ -56,11 +56,11 @@ function TranscodingStreams.initialize(codec::XzCompression) return end -function TranscodingStreams.finalize(codec::XzCompression) +function TranscodingStreams.finalize(codec::XzCompressor) free(codec.stream) end -function TranscodingStreams.startproc(codec::XzCompression, mode::Symbol, error::Error) +function TranscodingStreams.startproc(codec::XzCompressor, mode::Symbol, error::Error) ret = easy_encoder(codec.stream, codec.preset, codec.check) if ret != LZMA_OK error[] = ErrorException("xz error") @@ -69,7 +69,7 @@ function TranscodingStreams.startproc(codec::XzCompression, mode::Symbol, error: return :ok end -function TranscodingStreams.process(codec::XzCompression, input::Memory, output::Memory, error::Error) +function TranscodingStreams.process(codec::XzCompressor, input::Memory, output::Memory, error::Error) stream = codec.stream stream.next_in = input.ptr stream.avail_in = input.size diff --git a/src/decompression.jl b/src/decompression.jl index 0624b86..72e1d23 100644 --- a/src/decompression.jl +++ b/src/decompression.jl @@ -1,20 +1,20 @@ -# Decompression Codec +# Decompressor Codec # =================== -struct XzDecompression <: TranscodingStreams.Codec +struct XzDecompressor <: TranscodingStreams.Codec stream::LZMAStream memlimit::Integer flags::UInt32 end -function Base.show(io::IO, codec::XzDecompression) +function Base.show(io::IO, codec::XzDecompressor) print(io, summary(codec), "(memlimit=$(codec.memlimit), flags=$(codec.flags))") end const DEFAULT_MEM_LIMIT = typemax(UInt64) """ - XzDecompression(;memlimit=$(DEFAULT_MEM_LIMIT), flags=LZMA_CONCATENATED) + XzDecompressor(;memlimit=$(DEFAULT_MEM_LIMIT), flags=LZMA_CONCATENATED) Create an xz decompression codec. @@ -23,30 +23,30 @@ Arguments - `memlimit`: memory usage limit as bytes - `flags`: decoder flags """ -function XzDecompression(;memlimit::Integer=DEFAULT_MEM_LIMIT, flags::UInt32=LZMA_CONCATENATED) +function XzDecompressor(;memlimit::Integer=DEFAULT_MEM_LIMIT, flags::UInt32=LZMA_CONCATENATED) if memlimit ≤ 0 throw(ArgumentError("memlimit must be positive")) end # NOTE: flags are checked in liblzma - return XzDecompression(LZMAStream(), memlimit, flags) + return XzDecompressor(LZMAStream(), memlimit, flags) end -const XzDecompressionStream{S} = TranscodingStream{XzDecompression,S} where S<:IO +const XzDecompressorStream{S} = TranscodingStream{XzDecompressor,S} where S<:IO """ - XzDecompressionStream(stream::IO; kwargs...) + XzDecompressorStream(stream::IO; kwargs...) -Create an xz decompression stream (see `XzDecompression` for `kwargs`). +Create an xz decompression stream (see `XzDecompressor` for `kwargs`). """ -function XzDecompressionStream(stream::IO; kwargs...) - return TranscodingStream(XzDecompression(;kwargs...), stream) +function XzDecompressorStream(stream::IO; kwargs...) + return TranscodingStream(XzDecompressor(;kwargs...), stream) end # Methods # ------- -function TranscodingStreams.initialize(codec::XzDecompression) +function TranscodingStreams.initialize(codec::XzDecompressor) ret = stream_decoder(codec.stream, codec.memlimit, codec.flags) if ret != LZMA_OK lzmaerror(codec.stream, ret) @@ -54,11 +54,11 @@ function TranscodingStreams.initialize(codec::XzDecompression) return end -function TranscodingStreams.finalize(codec::XzDecompression) +function TranscodingStreams.finalize(codec::XzDecompressor) free(codec.stream) end -function TranscodingStreams.startproc(codec::XzDecompression, mode::Symbol, error::Error) +function TranscodingStreams.startproc(codec::XzDecompressor, mode::Symbol, error::Error) ret = stream_decoder(codec.stream, codec.memlimit, codec.flags) if ret != LZMA_OK error[] = ErrorException("xz error") @@ -67,7 +67,7 @@ function TranscodingStreams.startproc(codec::XzDecompression, mode::Symbol, erro return :ok end -function TranscodingStreams.process(codec::XzDecompression, input::Memory, output::Memory, error::Error) +function TranscodingStreams.process(codec::XzDecompressor, input::Memory, output::Memory, error::Error) stream = codec.stream stream.next_in = input.ptr stream.avail_in = input.size diff --git a/test/runtests.jl b/test/runtests.jl index 8029252..d7300f3 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -3,34 +3,34 @@ using Base.Test import TranscodingStreams @testset "Xz Codec" begin - codec = XzCompression() - @test codec isa XzCompression - @test ismatch(r"^CodecXz.XzCompression\(level=\d, check=\d+\)$", sprint(show, codec)) + codec = XzCompressor() + @test codec isa XzCompressor + @test ismatch(r"^CodecXz.XzCompressor\(level=\d, check=\d+\)$", sprint(show, codec)) @test CodecXz.initialize(codec) === nothing @test CodecXz.finalize(codec) === nothing - codec = XzDecompression() - @test codec isa XzDecompression - @test ismatch(r"^CodecXz.XzDecompression\(memlimit=\d+, flags=\d+\)$", sprint(show, codec)) + codec = XzDecompressor() + @test codec isa XzDecompressor + @test ismatch(r"^CodecXz.XzDecompressor\(memlimit=\d+, flags=\d+\)$", sprint(show, codec)) @test CodecXz.initialize(codec) === nothing @test CodecXz.finalize(codec) === nothing # Generated by `lzma.compress(b"foo")` on CPython 3.5.2. data = b"\xfd7zXZ\x00\x00\x04\xe6\xd6\xb4F\x02\x00!\x01\x16\x00\x00\x00t/\xe5\xa3\x01\x00\x02foo\x00\x00X\x15\xa9{,\xe6,\x98\x00\x01\x1b\x03\x0b/\xb9\x10\x1f\xb6\xf3}\x01\x00\x00\x00\x00\x04YZ" - @test read(XzDecompressionStream(IOBuffer(data))) == b"foo" - @test read(XzDecompressionStream(IOBuffer(vcat(data, data)))) == b"foofoo" + @test read(XzDecompressorStream(IOBuffer(data))) == b"foo" + @test read(XzDecompressorStream(IOBuffer(vcat(data, data)))) == b"foofoo" # corrupt data data[[1,3,5]] = b"bug" - @test_throws ErrorException read(XzDecompressionStream(IOBuffer(data))) + @test_throws ErrorException read(XzDecompressorStream(IOBuffer(data))) - @test XzCompressionStream <: TranscodingStreams.TranscodingStream - @test XzDecompressionStream <: TranscodingStreams.TranscodingStream + @test XzCompressorStream <: TranscodingStreams.TranscodingStream + @test XzDecompressorStream <: TranscodingStreams.TranscodingStream - TranscodingStreams.test_roundtrip_read(XzCompressionStream, XzDecompressionStream) - TranscodingStreams.test_roundtrip_write(XzCompressionStream, XzDecompressionStream) - TranscodingStreams.test_roundtrip_lines(XzCompressionStream, XzDecompressionStream) - TranscodingStreams.test_roundtrip_transcode(XzCompression, XzDecompression) + TranscodingStreams.test_roundtrip_read(XzCompressorStream, XzDecompressorStream) + TranscodingStreams.test_roundtrip_write(XzCompressorStream, XzDecompressorStream) + TranscodingStreams.test_roundtrip_lines(XzCompressorStream, XzDecompressorStream) + TranscodingStreams.test_roundtrip_transcode(XzCompressor, XzDecompressor) - @test_throws ArgumentError XzCompression(level=10) - @test_throws ArgumentError XzDecompression(memlimit=0) + @test_throws ArgumentError XzCompressor(level=10) + @test_throws ArgumentError XzDecompressor(memlimit=0) end From bf8253f22839898e4b9ae86a18ceb40373f4b689 Mon Sep 17 00:00:00 2001 From: Kenta Sato Date: Wed, 18 Oct 2017 11:55:35 +0900 Subject: [PATCH 2/4] deprecates --- src/CodecXz.jl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/CodecXz.jl b/src/CodecXz.jl index ef70ada..52981cb 100644 --- a/src/CodecXz.jl +++ b/src/CodecXz.jl @@ -20,4 +20,10 @@ include("liblzma.jl") include("compression.jl") include("decompression.jl") +# Deprecations +@deprecate XzCompression XzCompressor +@deprecate XzCompressionStream XzCompressorStream +@deprecate XzDecompression XzDecompressor +@deprecate XzDecompressionStream XzDecompressorStream + end # module From a2def50c030b4ea36df87b7feed0cf04bdd50c93 Mon Sep 17 00:00:00 2001 From: Kenta Sato Date: Wed, 18 Oct 2017 11:56:57 +0900 Subject: [PATCH 3/4] fix .travis.yml --- .travis.yml | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index ff16f84..3452083 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,26 +11,9 @@ matrix: - julia: nightly notifications: email: false -git: - depth: 99999999 - -## uncomment the following lines to allow failures on nightly julia -## (tests will run but not make your overall status red) -#matrix: -# allow_failures: -# - julia: nightly - -## uncomment and modify the following lines to manually install system packages -#addons: -# apt: # apt-get for linux -# packages: -# - gfortran -#before_script: # homebrew for mac -# - if [ $TRAVIS_OS_NAME = osx ]; then brew install gcc; fi - ## uncomment the following lines to override the default test script #script: # - julia -e 'Pkg.clone(pwd()); Pkg.build("CodecXz"); Pkg.test("CodecXz"; coverage=true)' after_success: # push coverage results to Codecov - - julia -e 'cd(Pkg.dir("CodecXz")); Pkg.add("Coverage"); using Coverage; Codecov.submit(Codecov.process_folder())' + - if [ $TRAVIS_JULIA_VERSION != "nightly" ]; then julia -e 'cd(Pkg.dir("CodecXz")); Pkg.add("Coverage"); using Coverage; Codecov.submit(Codecov.process_folder())' From 9bcf5b7667a2cc60d9fe4e42fe3dd2e06c9eb328 Mon Sep 17 00:00:00 2001 From: Kenta Sato Date: Wed, 18 Oct 2017 12:08:39 +0900 Subject: [PATCH 4/4] fix --- README.md | 8 ++++---- src/compression.jl | 2 +- src/decompression.jl | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 49c384a..9b07560 100644 --- a/README.md +++ b/README.md @@ -34,15 +34,15 @@ end close(stream) # Array API. -compressed = transcode(XzCompressor(), text) +compressed = transcode(XzCompressor, text) @assert sizeof(compressed) < sizeof(text) -@assert transcode(XzDecompressor(), compressed) == Vector{UInt8}(text) +@assert transcode(XzDecompressor, compressed) == Vector{UInt8}(text) ``` This package exports following codecs and streams: -| Codec | Stream | -| ----------------- | ----------------------- | +| Codec | Stream | +| ---------------- | ---------------------- | | `XzCompressor` | `XzCompressorStream` | | `XzDecompressor` | `XzDecompressorStream` | diff --git a/src/compression.jl b/src/compression.jl index 694e8d4..45c9274 100644 --- a/src/compression.jl +++ b/src/compression.jl @@ -1,5 +1,5 @@ # Compressor Codec -# ================= +# ================ struct XzCompressor <: TranscodingStreams.Codec stream::LZMAStream diff --git a/src/decompression.jl b/src/decompression.jl index 72e1d23..464c07c 100644 --- a/src/decompression.jl +++ b/src/decompression.jl @@ -1,5 +1,5 @@ # Decompressor Codec -# =================== +# ================== struct XzDecompressor <: TranscodingStreams.Codec stream::LZMAStream