
    (e                         d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZmZ ddZe j                  fdZ	 	 dd	ee   d
ee   dee   fdZedk(  r# e j&                   ee j                               yy)    N)Optional)gdal)PathLikeOrStr)ColorTableLikeget_color_table)GetOutputDriverForopen_dsc                     | rt         j                  nt         j                  }t        d|       t        d|       | rdS dS )Nz1Usage: gdalattachpct.py [--help] [--help-general])filez4                        <pctfile> <infile> <outfile>   r   )sysstderrstdoutprint)isErrorfs     ;/usr/lib/python3/dist-packages/osgeo_utils/gdalattachpct.pyUsager   +   s6    

3::A	
=AF	
@qI1Q    c                 |   d }d }d }d }t        j                  |       } | yd}|t        |       k  ra| |   }|dk(  rt        d      S |dk(  s|dk(  r|dz   }| |   }n"|| |   }n|| |   }n|| |   }n
t               S |dz   }|t        |       k  rat        |       dk  r
t               S t	        ||||	      \  }}|S )
Nr      z--helpF)r   z-ofz-f   )src_filenamepct_filenamedst_filenamedriver_name)r   GeneralCmdLineProcessorlenr   doit)	argvr   r   r   r   iarg_dserrs	            r   mainr%   2   s    LLLK''-D| 	
A
c$i-1g(?''E\SD[AAq'K!7L!7L!7L 7NE- c$i-0 4y1}w!!!	HC Jr   r   r   r   c                    t        |      }||t        d|       yt        |       }t        j                  d      j                  d|      }|j                  d      j                  |       |j                  d      j                  t        j                         |st        |      }t        j                  |      }|t        d|z         y|j                         dk(  r|}n|j                  |xs d|      }d }d }|dfS )	NzNo color table on file )Nr   MEMmemr   z"%s" driver not registered. r   )r   r   r	   r   GetDriverByName
CreateCopyGetRasterBandSetRasterColorTableSetRasterColorInterpretationGCI_PaletteIndexr   upper)	r   r   r   r   ctsrc_dsmem_ds
dst_driverout_dss	            r   r   r   b   s     
	&BBJ'6 \"F!!%(33E6BF //3
889N9NO (6%%k2J+k9:e#&&|'9r6BFF19r   __main__)T)NN)r   typingr   osgeor   osgeo_utils.auxiliary.baser   !osgeo_utils.auxiliary.color_tabler   r   osgeo_utils.auxiliary.utilr   r	   r   r    r%   strr   __name__exit r   r   <module>r@      s   D    4 M B hh -f -1!%	3>*3 =)3 #	3l zCHHT#((^ r   