Skip to content

Add alias command

AddAliasCommand

Bases: CommandInterface

Add alias command.

Source code in myalias/commands/add_alias_command.py
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
class AddAliasCommand(CommandInterface):
    """Add alias command."""

    def execute(self, name, description, command):
        """
        Add alias command.

        Args:
            name (str): Name of command.
            description (str): Description of command.
            command (str): Command to execute.

        Returns:
            Config not found.
            Alias already exists.
            Alias created successfully.
        """

        console = Console()

        pathApp = GetPathApplicationService().execute()

        if not os.path.exists(pathApp):
            console.print(Text('Config not found', 'red'))
            return

        if name.find(' ') != -1:
            console.print(Text('Alias name can not have spaces', 'red'))
            return

        if name.find("'") != -1:
            console.print(Text("Alias name can not have '", 'red'))
            return

        if name.find('"') != -1:
            console.print(Text('Alias name can not have "', 'red'))
            return

        pathAlias = pathApp + '/aliases' + '/' + name

        # check file exists
        if os.path.exists(pathAlias):
            console.print(Text('Alias already exists', 'red'))
            return

        # sanitize command replace ' for \"
        command = command.replace("'", '\\"')

        alias = 'alias ' + name + "='" + command + "' # " + description + '\n'

        # create file
        with open(pathAlias, 'w') as f:
            f.write(alias)

        console.print(Text('Alias created successfully', 'green'))

execute(name, description, command)

Add alias command.

Parameters:

Name Type Description Default
name str

Name of command.

required
description str

Description of command.

required
command str

Command to execute.

required

Returns:

Type Description

Config not found.

Alias already exists.

Alias created successfully.

Source code in myalias/commands/add_alias_command.py
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
def execute(self, name, description, command):
    """
    Add alias command.

    Args:
        name (str): Name of command.
        description (str): Description of command.
        command (str): Command to execute.

    Returns:
        Config not found.
        Alias already exists.
        Alias created successfully.
    """

    console = Console()

    pathApp = GetPathApplicationService().execute()

    if not os.path.exists(pathApp):
        console.print(Text('Config not found', 'red'))
        return

    if name.find(' ') != -1:
        console.print(Text('Alias name can not have spaces', 'red'))
        return

    if name.find("'") != -1:
        console.print(Text("Alias name can not have '", 'red'))
        return

    if name.find('"') != -1:
        console.print(Text('Alias name can not have "', 'red'))
        return

    pathAlias = pathApp + '/aliases' + '/' + name

    # check file exists
    if os.path.exists(pathAlias):
        console.print(Text('Alias already exists', 'red'))
        return

    # sanitize command replace ' for \"
    command = command.replace("'", '\\"')

    alias = 'alias ' + name + "='" + command + "' # " + description + '\n'

    # create file
    with open(pathAlias, 'w') as f:
        f.write(alias)

    console.print(Text('Alias created successfully', 'green'))