Skip to content

add_magnet ¤

Command to add magnets.

Functions:

add_magnets ¤

add_magnets(
    api: API,
    uris: list[str] | None = None,
    from_file: str | None = None,
    options: dict | None = None,
    position: int | None = None,
) -> int

Add magnet subcommand.

Parameters:

  • api (API) –

    The API instance to use.

  • uris (list[str] | None, default: None ) –

    The URIs of the magnets.

  • from_file (str | None, default: None ) –

    Path to the file to read uris from.

  • options (dict | None, default: None ) –

    String of aria2c options to add to download.

  • position (int | None, default: None ) –

    Position to add new download in the queue.

Returns:

  • int ( int ) –

    Always 0.

Source code in src/aria2p/cli/commands/add_magnet.py
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
def add_magnets(
    api: API,
    uris: list[str] | None = None,
    from_file: str | None = None,
    options: dict | None = None,
    position: int | None = None,
) -> int:
    """Add magnet subcommand.

    Parameters:
        api: The API instance to use.
        uris: The URIs of the magnets.
        from_file: Path to the file to read uris from.
        options: String of aria2c options to add to download.
        position: Position to add new download in the queue.

    Returns:
        int: Always 0.
    """
    ok = True

    if not uris:
        uris = []

    if from_file:
        try:
            uris.extend(read_lines(from_file))
        except OSError:
            print(f"Cannot open file: {from_file}", file=sys.stderr)
            ok = False

    for uri in uris:
        new_download = api.add_magnet(uri, options=options, position=position)
        print(f"Created download {new_download.gid}")

    return 0 if ok else 1