<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def getcompress(self):
 """Retrieves info about dataset compression type and mode. Args:: no argument Returns:: tuple holding: - compression type (one of the SDC.COMP_xxx constants) - optional values, depending on the compression type COMP_NONE 0 value no additional value COMP_SKPHUFF 1 value : skip size COMP_DEFLATE 1 value : gzip compression level (1 to 9) COMP_SZIP 5 values : options mask, pixels per block (2 to 32) pixels per scanline, bits per pixel (number of bits in the SDS datatype) pixels (number of elements in the SDS) Note: in the context of an SDS, the word "pixel" should really be understood as meaning "data element", eg a cell value inside a multidimensional grid. Test the options mask against constants SDC.COMP_SZIP_NN and SDC.COMP_SZIP_EC, eg : if optionMask & SDC.COMP_SZIP_EC: print "EC encoding scheme used" An exception is raised if dataset is not compressed. .. note:: Starting with v0.8, an exception is always raised if pyhdf was installed with the NOCOMPRESS macro set. C library equivalent: SDgetcompress """


        status, comp_type, value, v2, v3, v4, v5 = _C._SDgetcompress(self._id)
        _checkErr('getcompress', status, 'no compression')
        if comp_type == SDC.COMP_NONE:
            return (comp_type,)
        elif comp_type == SDC.COMP_SZIP:
            return comp_type, value, v2, v3, v4, v5
        else:
            return comp_type, value