Code Duplication    Length = 59-60 lines in 2 locations

src/Modify/Compress/Gzip.php 1 location

@@ 23-81 (lines=59) @@
20
use Graze\DataFile\Node\LocalFileNodeInterface;
21
use Psr\Log\LoggerAwareInterface;
22
23
class Gzip implements
24
    CompressionTypeInterface,
25
    CompressorInterface,
26
    DeCompressorInterface,
27
    LoggerAwareInterface,
28
    ProcessFactoryAwareInterface
29
{
30
    use GetOptionTrait;
31
    use FileProcessTrait;
32
    use OptionalLoggerTrait;
33
    use CompressorTrait;
34
    use DeCompressorTrait;
35
36
    const NAME = 'gzip';
37
38
    /**
39
     * Get the extension used by this compressor
40
     *
41
     * @return string
42
     */
43
    public function getExtension()
44
    {
45
        return 'gz';
46
    }
47
48
    /**
49
     * @return string
50
     */
51
    public function getName()
52
    {
53
        return static::NAME;
54
    }
55
56
    /**
57
     * Get the command line to compress a file
58
     *
59
     * @param LocalFileNodeInterface $from
60
     * @param LocalFileNodeInterface $to
61
     *
62
     * @return string
63
     */
64
    public function getCompressCommand(LocalFileNodeInterface $from, LocalFileNodeInterface $to)
65
    {
66
        return sprintf("gzip -c %s > %s", escapeshellarg($from->getPath()), escapeshellarg($to->getPath()));
67
    }
68
69
    /**
70
     * Get the command line to decompress a file
71
     *
72
     * @param LocalFileNodeInterface $from
73
     * @param LocalFileNodeInterface $to
74
     *
75
     * @return string
76
     */
77
    public function getDecompressCommand(LocalFileNodeInterface $from, LocalFileNodeInterface $to)
78
    {
79
        return sprintf("gunzip -c %s > %s", escapeshellarg($from->getPath()), escapeshellarg($to->getPath()));
80
    }
81
}
82

src/Modify/Compress/Zip.php 1 location

@@ 23-82 (lines=60) @@
20
use Graze\DataFile\Node\LocalFileNodeInterface;
21
use Psr\Log\LoggerAwareInterface;
22
23
class Zip implements
24
    CompressionTypeInterface,
25
    CompressorInterface,
26
    DeCompressorInterface,
27
    LoggerAwareInterface,
28
    ProcessFactoryAwareInterface
29
{
30
    use GetOptionTrait;
31
    use FileProcessTrait;
32
    use OptionalLoggerTrait;
33
    use CompressorTrait;
34
    use DeCompressorTrait;
35
36
    const NAME = 'zip';
37
38
    /**
39
     * Get the extension used by this compressor
40
     *
41
     * @return string
42
     */
43
    public function getExtension()
44
    {
45
        return 'zip';
46
    }
47
48
    /**
49
     * @return string
50
     */
51
    public function getName()
52
    {
53
        return static::NAME;
54
    }
55
56
    /**
57
     * Get the command line to compress a file
58
     *
59
     * @param LocalFileNodeInterface $from
60
     * @param LocalFileNodeInterface $to
61
     *
62
     * @return string
63
     */
64
    public function getCompressCommand(LocalFileNodeInterface $from, LocalFileNodeInterface $to)
65
    {
66
        return sprintf("zip %s %s", escapeshellarg($to->getPath()), escapeshellarg($from->getPath()));
67
    }
68
69
    /**
70
     * Get the command line to decompress a file
71
     *
72
     * @param LocalFileNodeInterface $from
73
     * @param LocalFileNodeInterface $to
74
     *
75
     * @return string
76
     *
77
     */
78
    public function getDecompressCommand(LocalFileNodeInterface $from, LocalFileNodeInterface $to)
79
    {
80
        return sprintf("unzip -p %s > %s", escapeshellarg($from->getPath()), escapeshellarg($to->getPath()));
81
    }
82
}
83