From 081278ffdce083d846453538ba1711a6ed09cacb Mon Sep 17 00:00:00 2001 From: Quentin Hivert Date: Fri, 18 Apr 2025 15:02:08 +0200 Subject: [PATCH 1/2] add devcontainer --- .devcontainer/Dockerfile | 19 +++++++++++++++++++ .devcontainer/devcontainer.json | 6 ++++++ 2 files changed, 25 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..cfa495b --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,19 @@ +FROM python:3.13-slim + +# Install Java +RUN apt update && \ + apt install -y curl telnet git + +## Pip dependencies +# Upgrade pip +RUN pip install --upgrade pip + +# Install production dependencies +COPY requirements.txt /tmp/requirements.txt +RUN pip install -r /tmp/requirements.txt && \ + rm /tmp/requirements.txt + +# Install development dependencies +COPY dev-requirements.txt /tmp/requirements-dev.txt +RUN pip install -r /tmp/requirements-dev.txt && \ + rm /tmp/requirements-dev.txt \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..f51e1ea --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,6 @@ +{ + "build": { + "dockerfile": "Dockerfile", + "context": ".." + } +} \ No newline at end of file From 12422d70ad09fcf21367f848fe69809180a08ea1 Mon Sep 17 00:00:00 2001 From: Quentin Hivert Date: Fri, 18 Apr 2025 15:04:07 +0200 Subject: [PATCH 2/2] Remove warning from python 3.13 for escaped chars in dosctring --- sievelib/managesieve.py | 6 +++--- sievelib/parser.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sievelib/managesieve.py b/sievelib/managesieve.py index e9e2298..1dbacc7 100644 --- a/sievelib/managesieve.py +++ b/sievelib/managesieve.py @@ -178,7 +178,7 @@ def __read_line(self) -> bytes: return ret def __read_response(self, nblines: int = -1) -> Tuple[bytes, bytes, bytes]: - """Read a response from the server. + r"""Read a response from the server. In the usual case, we read lines until we find one that looks like a response (OK|NO|BYE\s*(.+)?). @@ -214,7 +214,7 @@ def __read_response(self, nblines: int = -1) -> Tuple[bytes, bytes, bytes]: return (code, data, resp) def __prepare_args(self, args: List[Any]) -> List[bytes]: - """Format command arguments before sending them. + r"""Format command arguments before sending them. Command arguments of type string must be quoted, the only exception concerns size indication (of the form {\d\+?}). @@ -307,7 +307,7 @@ def __get_capabilities(self) -> bool: return True def __parse_error(self, text: bytes): - """Parse an error received from the server. + r"""Parse an error received from the server. if text corresponds to a size indication, we grab the remaining content from the server. diff --git a/sievelib/parser.py b/sievelib/parser.py index c4e6b77..bf565f4 100755 --- a/sievelib/parser.py +++ b/sievelib/parser.py @@ -25,7 +25,7 @@ def __str__(self): class Lexer: - """ + r""" The lexical analysis part. This class provides a simple way to define tokens (with patterns)