From ba27c89b42e482c6dd9cacd6af0cccf9f68be61d Mon Sep 17 00:00:00 2001 From: Anna Klimova Date: Thu, 4 Jan 2024 17:43:36 +0100 Subject: [PATCH] Create smaller submethods to update items fields --- python/gilded_rose.py | 49 ++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/python/gilded_rose.py b/python/gilded_rose.py index 9d511f7e..13d3451a 100755 --- a/python/gilded_rose.py +++ b/python/gilded_rose.py @@ -5,32 +5,43 @@ class GildedRose(object): def __init__(self, items): self.items = items + def _update_aged_brie(self, item): + if item.quality < 50: + item.quality = item.quality + 1 + if item.sell_in < 0: + item.quality = item.quality + 1 + item.sell_in = + 1 + + def _update_backstage_passes(self, item): + if item.quality < 50: + item.quality = item.quality + 1 + if item.sell_in < 11: + item.quality = item.quality + 1 + if item.sell_in < 6: + item.quality = item.quality + 1 + if item.sell_in <= 0: + item.quality = 0 + item.sell_in = + 1 + + def _update_simple_item(self, item): + if item.quality > 0: + item.quality = item.quality - 1 + item.sell_in = item.sell_in - 1 + if item.sell_in < 0: + if item.quality > 0: + item.quality = item.quality - 1 + def update_quality(self): for item in self.items: if item.name == "Backstage passes to a TAFKAL80ETC concert": - if item.quality < 50: - item.quality = item.quality + 1 - if item.sell_in < 11: - item.quality = item.quality + 1 - if item.sell_in < 6: - item.quality = item.quality + 1 - if item.sell_in <= 0: - item.quality = 0 + self._update_backstage_passes(item) elif item.name == "Aged Brie": - if item.quality < 50: - item.quality = item.quality + 1 - if item.sell_in < 0: - item.quality = item.quality + 1 + self._update_aged_brie(item) elif item.name == "Sulfuras, Hand of Ragnaros": - item.quality = 80 + pass else: - if item.quality > 0: - item.quality = item.quality - 1 - item.sell_in = item.sell_in - 1 - if item.sell_in < 0: - if item.quality > 0: - item.quality = item.quality - 1 + self._update_simple_item(item) class Item: