mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-11-04 09:02:08 +00:00 
			
		
		
		
	add conda
This commit is contained in:
		
							
								
								
									
										24
									
								
								tests/rules/test_conda_mistype.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								tests/rules/test_conda_mistype.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
import pytest
 | 
			
		||||
 | 
			
		||||
from thefuck.rules.conda_mistype import match, get_new_command
 | 
			
		||||
from thefuck.types import Command
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@pytest.fixture
 | 
			
		||||
def mistype_response():
 | 
			
		||||
    return """
 | 
			
		||||
 | 
			
		||||
CommandNotFoundError: No command 'conda lst'.
 | 
			
		||||
Did you mean 'conda list'?
 | 
			
		||||
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_match(mistype_response):
 | 
			
		||||
    assert match(Command('conda lst', mistype_response))
 | 
			
		||||
    err_response = 'bash: codna: command not found'
 | 
			
		||||
    assert not match(Command('codna list', err_response))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_get_new_command(mistype_response):
 | 
			
		||||
    assert (get_new_command(Command('conda lst', mistype_response)) == ['conda list'])
 | 
			
		||||
							
								
								
									
										16
									
								
								thefuck/rules/conda_mistype.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								thefuck/rules/conda_mistype.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
import re
 | 
			
		||||
from thefuck.utils import get_all_matched_commands, replace_command
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def match(command):
 | 
			
		||||
    '''
 | 
			
		||||
    Match a mistyped command
 | 
			
		||||
    '''
 | 
			
		||||
    return 'conda' in command.script and "Did you mean 'conda" in command.output
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_new_command(command):
 | 
			
		||||
    match = re.findall(r"'conda ([^']*)'", command.output)
 | 
			
		||||
    broken_cmd = match[0]
 | 
			
		||||
    correct_cmd = match[1]
 | 
			
		||||
    return replace_command(command, broken_cmd, [correct_cmd])
 | 
			
		||||
		Reference in New Issue
	
	Block a user