U
    f»{jˆ  ã                   @   sJ   d Z ddlZddlZddlmZ dZdd„ Zdd„ Ze	dkZ
e
rFeƒ  dS )	zìAnonymize raw fif file.

To anonymize other file types call :func:`mne.io.anonymize_info` on their
:class:`~mne.Info` objects and resave to disk.

Examples
--------
.. code-block:: console

    $ mne anonymize -f sample_audvis_raw.fif

é    NZanonc                 C   s|   t jj| dd�}|j||d� t | ¡d }|dkrTt | ¡}t |d t	|¡¡}nt 
|¡sjt ||¡}|j||d� dS )a}  Call *anonymize_info* on fif file and save.

    Parameters
    ----------
    fif_fname : str
        Raw fif File
    out_fname : str | None
        Output file name
        relative paths are saved relative to parent dir of fif_fname
        None will save to parent dir of fif_fname with default prefix
    daysback : int | None
        Number of days to subtract from all dates.
        If None will default to move date of service to Jan 1 2000
    keep_his : bool
        If True his_id of subject_info will NOT be overwritten.
        defaults to False
    overwrite : bool
        Overwrite output file if it already exists
    T)Zallow_maxshield)ÚdaysbackÚkeep_hisr   Nz{}-{})Ú	overwrite)ÚmneÚioZread_raw_fifZ	anonymizeÚopÚsplitÚbasenameÚjoinÚformatÚANONYMIZE_FILE_PREFIXÚisabsÚsave)Z	fif_fnameÚ	out_fnamer   r   r   ÚrawÚdir_nameZ	fif_bname© r   úY/var/www/html/bwave/python/venv/lib/python3.8/site-packages/mne/commands/mne_anonymize.pyÚmne_anonymize   s    

ÿ
r   c            	   	   C   sô   ddl m}  | tƒ}|jddddddd	d
� |jddddddd	d
� |jdddddd� |jddddddd	d
� |jdddddd� | ¡ \}}|jd	kr¬| ¡  t d¡ |j}|j	}|j
}|j}|j}| d ¡sàtd!| ƒ‚t|||||ƒ d	S )"zRun *mne_anonymize* command.r   )Úget_optparserz-fz--fileÚstringÚfilezName of file to modify.ÚFILEN)ÚtypeÚdestÚhelpÚmetavarÚdefaultz-oz--outputÚoutputzKName of anonymized output file.`anon-` prefix is added to FILE if not givenZOUTFILEz
--keep_hisr   Ú
store_truezKeep the HIS tag (not advised)F)r   Úactionr   r   z-dz
--daysbackÚintr   z/Move dates in file backwards by this many days.ZN_DAYSz--overwriter   zOverwrite input file.é   z.fifz#%s does not seem to be a .fif file.)Zmne.commands.utilsr   Ú__file__Ú
add_optionÚ
parse_argsr   Ú
print_helpÚsysÚexitr   r   r   r   ÚendswithÚ
ValueErrorr   )	r   ÚparserÚoptionsÚargsÚfnamer   r   r   r   r   r   r   Úrun<   sJ     þ ý
 ÿ þ
 ÿ


r/   Ú__main__)Ú__doc__r'   r   Úos.pathÚpathr   r   r   r/   Ú__name__Zis_mainr   r   r   r   Ú<module>   s   #%