From 35e29b1c65b226a198300b8b49c59d38aee65ff3 Mon Sep 17 00:00:00 2001 From: Skyler Nesheim Date: Wed, 24 Sep 2025 22:46:08 -0500 Subject: [PATCH 1/4] Update verify script for Python 3 pizza party --- 08-pizza-party/python-pizza-party/README.md | 4 ++-- 08-pizza-party/python-pizza-party/main.py | 5 ++--- 08-pizza-party/python-pizza-party/party/__init__.py | 2 +- 08-pizza-party/python-pizza-party/party/party.py | 2 +- verify.sh | 7 ++++++- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/08-pizza-party/python-pizza-party/README.md b/08-pizza-party/python-pizza-party/README.md index 94f7bee..804be7b 100644 --- a/08-pizza-party/python-pizza-party/README.md +++ b/08-pizza-party/python-pizza-party/README.md @@ -3,11 +3,11 @@ ##to run ``` -./main.py +python3 main.py ``` ##tests ``` -python -m unittest discover -s tests +python3 -m unittest discover -s tests ``` diff --git a/08-pizza-party/python-pizza-party/main.py b/08-pizza-party/python-pizza-party/main.py index 15c7fac..fdac6df 100755 --- a/08-pizza-party/python-pizza-party/main.py +++ b/08-pizza-party/python-pizza-party/main.py @@ -1,6 +1,5 @@ -#!/usr/bin/python +#!/usr/bin/env python3 -from __future__ import print_function from party import PizzaParty @@ -18,4 +17,4 @@ def run(read, prt): prt('There are %s leftover pieces.' % (party.leftovers())) if __name__ == "__main__": - run(raw_input, print) + run(input, print) diff --git a/08-pizza-party/python-pizza-party/party/__init__.py b/08-pizza-party/python-pizza-party/party/__init__.py index fb59141..718b00a 100644 --- a/08-pizza-party/python-pizza-party/party/__init__.py +++ b/08-pizza-party/python-pizza-party/party/__init__.py @@ -1 +1 @@ -from party import PizzaParty # noqa F401 +from .party import PizzaParty # noqa: F401 diff --git a/08-pizza-party/python-pizza-party/party/party.py b/08-pizza-party/python-pizza-party/party/party.py index 5b226d1..e6187ba 100644 --- a/08-pizza-party/python-pizza-party/party/party.py +++ b/08-pizza-party/python-pizza-party/party/party.py @@ -20,7 +20,7 @@ def order(self, pizzas, size=None): return self def pieces_per_person(self): - return self.slices / self.people + return self.slices // self.people def leftovers(self): return self.slices % self.people diff --git a/verify.sh b/verify.sh index b6d80d0..7a142c7 100755 --- a/verify.sh +++ b/verify.sh @@ -13,6 +13,11 @@ verify_python() python -m unittest discover -s tests } +verify_python3() +{ + python3 -m unittest discover -s tests +} + verify_scala() { sbt scalastyle test:scalastyle assembly @@ -40,7 +45,7 @@ pushd 06-retirement-calculator/elixir_retirement_calculator && verify_elixir && pushd 07-area-of-room/elixir_area_of_room && verify_elixir && popd #08 -pushd 08-pizza-party/python-pizza-party && verify_python && popd +pushd 08-pizza-party/python-pizza-party && verify_python3 && popd #09 pushd 09-paint-calculator/scala-paint-calculator && verify_scala && popd From cb25a519c6b1cc0b0671efdb991498b1e1ff2111 Mon Sep 17 00:00:00 2001 From: Skyler Nesheim Date: Wed, 24 Sep 2025 22:52:12 -0500 Subject: [PATCH 2/4] Install python3 in Docker image --- Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Dockerfile b/Dockerfile index 97d084e..a77ca85 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,10 @@ FROM lochnesh/exercises-docker:latest MAINTAINER Skyler Nesheim +RUN apt-get update \ + && apt-get install -y --no-install-recommends python3 \ + && rm -rf /var/lib/apt/lists/* + COPY ./ /usr/src/exercises WORKDIR /usr/src/exercises RUN ./verify.sh From f80bf869df60963bad1066acd01538024cb7d302 Mon Sep 17 00:00:00 2001 From: Skyler Nesheim Date: Wed, 24 Sep 2025 22:57:04 -0500 Subject: [PATCH 3/4] Handle python3 install for multiple base images --- Dockerfile | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index a77ca85..0d633ef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,9 +2,20 @@ FROM lochnesh/exercises-docker:latest MAINTAINER Skyler Nesheim -RUN apt-get update \ - && apt-get install -y --no-install-recommends python3 \ - && rm -rf /var/lib/apt/lists/* +RUN set -eux; \ + if command -v apt-get >/dev/null 2>&1; then \ + apt-get update; \ + apt-get install -y --no-install-recommends python3; \ + rm -rf /var/lib/apt/lists/*; \ + elif command -v apk >/dev/null 2>&1; then \ + apk add --no-cache python3; \ + elif command -v yum >/dev/null 2>&1; then \ + yum install -y python3; \ + yum clean all; \ + else \ + echo "Unsupported package manager; cannot install python3" >&2; \ + exit 1; \ + fi COPY ./ /usr/src/exercises WORKDIR /usr/src/exercises From cb9ebd72788e0aca5a68db96ddebf65329a65478 Mon Sep 17 00:00:00 2001 From: Skyler Nesheim Date: Thu, 25 Sep 2025 09:56:24 -0500 Subject: [PATCH 4/4] Simplify Dockerfile python install for apk --- Dockerfile | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0d633ef..dc5112a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,19 +3,7 @@ FROM lochnesh/exercises-docker:latest MAINTAINER Skyler Nesheim RUN set -eux; \ - if command -v apt-get >/dev/null 2>&1; then \ - apt-get update; \ - apt-get install -y --no-install-recommends python3; \ - rm -rf /var/lib/apt/lists/*; \ - elif command -v apk >/dev/null 2>&1; then \ - apk add --no-cache python3; \ - elif command -v yum >/dev/null 2>&1; then \ - yum install -y python3; \ - yum clean all; \ - else \ - echo "Unsupported package manager; cannot install python3" >&2; \ - exit 1; \ - fi + apk add --no-cache python3 COPY ./ /usr/src/exercises WORKDIR /usr/src/exercises