From db21e96492f18efa5969b7ee2548648c0992a518 Mon Sep 17 00:00:00 2001 From: Pixel2022UA Date: Tue, 11 Apr 2023 13:40:11 +0300 Subject: [PATCH] Commit func parse_cookie --- main.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index acda0b2..253a897 100644 --- a/main.py +++ b/main.py @@ -11,11 +11,27 @@ def parse(query: str) -> dict: def parse_cookie(query: str) -> dict: - return {} + my_dict = {} + if query: + for elem in query.split(';'): + key_value = elem.split('=', maxsplit=1) + if len(key_value) == 2: + key, value = key_value + value_parts = value.split('=') + if len(value_parts) > 1: + value = '='.join(value_parts) + my_dict[key] = value + return my_dict if __name__ == '__main__': assert parse_cookie('name=Dima;') == {'name': 'Dima'} assert parse_cookie('') == {} assert parse_cookie('name=Dima;age=28;') == {'name': 'Dima', 'age': '28'} - assert parse_cookie('name=Dima=User;age=28;') == {'name': 'Dima=User', 'age': '28'} \ No newline at end of file + assert parse_cookie('name=Dima=User;age=28;') == {'name': 'Dima=User', 'age': '28'} + assert parse_cookie('name=Dima;name=Vasya;') == {'name': 'Vasya'} + assert parse_cookie('name=Dima;name=Vasya;name=Kolya;') == {'name': 'Kolya'} + assert parse_cookie('name=Dima;age=28;city=Odessa') == {'name': 'Dima', 'age': '28', 'city': 'Odessa'} + assert parse_cookie('name=Dima=User=Test;age=28;') == {'name': 'Dima=User=Test', 'age': '28'} + assert parse_cookie('name=Dima;age=28;city=Kyiv;') == {'name': 'Dima', 'age': '28', 'city': 'Kyiv'} + assert parse_cookie('name=Dima;age=15;city=Paris;city=Berlin;') == {'name': 'Dima', 'age': '15', 'city': 'Berlin'} \ No newline at end of file