From 39195dd0ab4db02753b2c3aee77664107e128a9f Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Thu, 7 May 2020 00:53:25 +0530 Subject: [PATCH 01/18] Added a python file to calculate the angle. --- clock_angle.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 clock_angle.py diff --git a/clock_angle.py b/clock_angle.py new file mode 100644 index 0000000..e3438d3 --- /dev/null +++ b/clock_angle.py @@ -0,0 +1,23 @@ +def calcAngle(h,m): + + if (h < 0 or m < 0 or h > 12 or m > 60): + print('Wrong input') + if (h == 12): + h = 0 + if (m == 60): + m = 0 + + # Calculate the angles moved by + # hour and minute hands with + # reference to 12:00 + hour_angle = 0.5 * (h * 60 + m) + minute_angle = 6 * m + + # Find the difference between two angles + angle = abs(hour_angle - minute_angle) + + # Return the smaller angle of two + # possible angles + angle = min(360 - angle, angle) + + return angle From a8dbf238faf7f01dd2fff8d75d70ced2d59166b8 Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Thu, 7 May 2020 01:35:49 +0530 Subject: [PATCH 02/18] Update clock_angle.py --- clock_angle.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/clock_angle.py b/clock_angle.py index e3438d3..1f994ce 100644 --- a/clock_angle.py +++ b/clock_angle.py @@ -1,17 +1,25 @@ -def calcAngle(h,m): +def calcAngle(request): + request_json = request.get_json(silent=True) + request_args = request.args - if (h < 0 or m < 0 or h > 12 or m > 60): + if request_json and ('hour' in request_json and 'minute' in request_json): + hour = request_json['hour'] + minute = request_json['minute'] + else: + hour = 12 + minute = 0 + if (hour < 0 or minute < 0 or hour > 12 or minute > 60): print('Wrong input') - if (h == 12): - h = 0 - if (m == 60): - m = 0 + if (hour == 12): + hour = 0 + if (minute == 60): + minute = 0 # Calculate the angles moved by # hour and minute hands with # reference to 12:00 - hour_angle = 0.5 * (h * 60 + m) - minute_angle = 6 * m + hour_angle = 0.5 * (hour * 60 + minute) + minute_angle = 6 * minute # Find the difference between two angles angle = abs(hour_angle - minute_angle) @@ -20,4 +28,4 @@ def calcAngle(h,m): # possible angles angle = min(360 - angle, angle) - return angle + return str(int(angle)) From 6951d166ff03b2f594a322d5d3e2624d473d0693 Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Thu, 7 May 2020 01:41:03 +0530 Subject: [PATCH 03/18] Rename clock_angle.py to main.py --- clock_angle.py => main.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename clock_angle.py => main.py (100%) diff --git a/clock_angle.py b/main.py similarity index 100% rename from clock_angle.py rename to main.py From d82c42a6079ca518772e0541956f9403340efab9 Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Thu, 7 May 2020 01:57:31 +0530 Subject: [PATCH 04/18] Update main.py --- main.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 1f994ce..11d1915 100644 --- a/main.py +++ b/main.py @@ -1,3 +1,4 @@ +from flask import escape def calcAngle(request): request_json = request.get_json(silent=True) request_args = request.args @@ -26,6 +27,6 @@ def calcAngle(request): # Return the smaller angle of two # possible angles - angle = min(360 - angle, angle) + angle = str(int(min(360 - angle, angle))) - return str(int(angle)) + return 'Angle is {}'.format(escape(angle)) From 665f270aba370034be4fe1f570f9defaa2b9b451 Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Thu, 7 May 2020 01:58:42 +0530 Subject: [PATCH 05/18] Add files via upload --- main_test.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 main_test.py diff --git a/main_test.py b/main_test.py new file mode 100644 index 0000000..999453d --- /dev/null +++ b/main_test.py @@ -0,0 +1,20 @@ +from unittest.mock import Mock + +import main + + +def test_clock_angle(): + name = 'test' + data = {'hour': 4,'minute':45} + req = Mock(get_json=Mock(return_value=data), args=data) + + # Call tested function + assert main.calcAngle(req) == 'Angle is {}!'.format(angle) + + +def test_print_hello_world(): + data = {} + req = Mock(get_json=Mock(return_value=data), args=data) + + # Call tested function + assert main.calcAngle(req) == 'Angle is {}'.format(angle) \ No newline at end of file From cc6c7814199f4f490fbaa8aa6d34b13da80f1244 Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Thu, 7 May 2020 02:23:59 +0530 Subject: [PATCH 06/18] Create requirements.txt --- requirements.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..d318800 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +flask==1.1.2 +google-cloud-error-reporting==0.33.0 From ee390a23cdd1929220c8c3925b9f562936a86b7d Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Thu, 7 May 2020 02:25:14 +0530 Subject: [PATCH 07/18] Create requirements-test.txt --- requirements-test.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 requirements-test.txt diff --git a/requirements-test.txt b/requirements-test.txt new file mode 100644 index 0000000..781d432 --- /dev/null +++ b/requirements-test.txt @@ -0,0 +1 @@ +pytest==5.3.2 From ce89f1362e1ff7bc947d7d15dabd9df4ce0903b1 Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Wed, 13 May 2020 00:54:16 +0530 Subject: [PATCH 08/18] Create cloudbuild.yaml --- cloudbuild.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 cloudbuild.yaml diff --git a/cloudbuild.yaml b/cloudbuild.yaml new file mode 100644 index 0000000..8fbec5b --- /dev/null +++ b/cloudbuild.yaml @@ -0,0 +1,9 @@ +steps: +- name: 'gcr.io/cloud-builders/gcloud' + args: + - functions + - deploy + - calcAngle + - --source='https://github.com/JafarShaik6/clocks' + - --trigger-http + - --allow-unauthenticated From 68f8f7644cde42b8d03a762dc8c2efe72ed8792b Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Wed, 13 May 2020 00:54:47 +0530 Subject: [PATCH 09/18] Update main_test.py --- main_test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main_test.py b/main_test.py index 999453d..abde70d 100644 --- a/main_test.py +++ b/main_test.py @@ -5,7 +5,7 @@ def test_clock_angle(): name = 'test' - data = {'hour': 4,'minute':45} + data = {'hour': 9,'minute':45} req = Mock(get_json=Mock(return_value=data), args=data) # Call tested function @@ -17,4 +17,4 @@ def test_print_hello_world(): req = Mock(get_json=Mock(return_value=data), args=data) # Call tested function - assert main.calcAngle(req) == 'Angle is {}'.format(angle) \ No newline at end of file + assert main.calcAngle(req) == 'Angle is {}'.format(angle) From fc5feb155d37df39ca67c9e976b8c89048a31d81 Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Wed, 13 May 2020 01:01:36 +0530 Subject: [PATCH 10/18] Update cloudbuild.yaml --- cloudbuild.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cloudbuild.yaml b/cloudbuild.yaml index 8fbec5b..c68e228 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -4,6 +4,8 @@ steps: - functions - deploy - calcAngle - - --source='https://github.com/JafarShaik6/clocks' - - --trigger-http - - --allow-unauthenticated + - '--source=https://github.com/JafarShaik6/clocks' + - '--runtime' + - python37 + - '--trigger-http' + - '--allow-unauthenticated' From e6114e20f618eb0cb499a6baea31c2b889fbe145 Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Wed, 13 May 2020 01:02:40 +0530 Subject: [PATCH 11/18] Update main.py --- main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.py b/main.py index 11d1915..ec35320 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,5 @@ from flask import escape -def calcAngle(request): +def calc(request): request_json = request.get_json(silent=True) request_args = request.args From ad68c8b95ffdfd3b46e97ca44d54c34ae4fe0341 Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Wed, 13 May 2020 01:02:56 +0530 Subject: [PATCH 12/18] Update cloudbuild.yaml --- cloudbuild.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloudbuild.yaml b/cloudbuild.yaml index c68e228..013c2cf 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -3,7 +3,7 @@ steps: args: - functions - deploy - - calcAngle + - calc - '--source=https://github.com/JafarShaik6/clocks' - '--runtime' - python37 From 15e9da1267f5539d585660beb5931d8e6606a747 Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Wed, 13 May 2020 01:03:28 +0530 Subject: [PATCH 13/18] Update main_test.py --- main_test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main_test.py b/main_test.py index abde70d..08a2012 100644 --- a/main_test.py +++ b/main_test.py @@ -9,7 +9,7 @@ def test_clock_angle(): req = Mock(get_json=Mock(return_value=data), args=data) # Call tested function - assert main.calcAngle(req) == 'Angle is {}!'.format(angle) + assert main.calc(req) == 'Angle is {}!'.format(angle) def test_print_hello_world(): @@ -17,4 +17,4 @@ def test_print_hello_world(): req = Mock(get_json=Mock(return_value=data), args=data) # Call tested function - assert main.calcAngle(req) == 'Angle is {}'.format(angle) + assert main.calc(req) == 'Angle is {}'.format(angle) From 947b1d480746b1bf6c8be3d167ae8caf690e4d7c Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Wed, 13 May 2020 01:52:06 +0530 Subject: [PATCH 14/18] Delete cloudbuild.yaml --- cloudbuild.yaml | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 cloudbuild.yaml diff --git a/cloudbuild.yaml b/cloudbuild.yaml deleted file mode 100644 index 013c2cf..0000000 --- a/cloudbuild.yaml +++ /dev/null @@ -1,11 +0,0 @@ -steps: -- name: 'gcr.io/cloud-builders/gcloud' - args: - - functions - - deploy - - calc - - '--source=https://github.com/JafarShaik6/clocks' - - '--runtime' - - python37 - - '--trigger-http' - - '--allow-unauthenticated' From 2749ff0b7d13c9612a00270314d6c0ff7bde0731 Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Wed, 13 May 2020 02:54:20 +0530 Subject: [PATCH 15/18] Create cloudbuild.yaml --- cloudbuild.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 cloudbuild.yaml diff --git a/cloudbuild.yaml b/cloudbuild.yaml new file mode 100644 index 0000000..631e317 --- /dev/null +++ b/cloudbuild.yaml @@ -0,0 +1,11 @@ +steps: +- name: 'gcr.io/cloud-builders/gcloud' + args: + - functions + - deploy + - calc + - --source=https://source.developers.google.com/projects/data-engineer-practice-263910/repos/github_jafarshaik6_clocks/ + - --runtime + - python37 + - --trigger-http + - --allow-unauthenticated From eaf8b60549158d13330a945a17ec241af7e1f8ef Mon Sep 17 00:00:00 2001 From: SHAIK JAFAR SHARIF Date: Wed, 13 May 2020 02:58:36 +0530 Subject: [PATCH 16/18] Update cloudbuild.yaml --- cloudbuild.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloudbuild.yaml b/cloudbuild.yaml index 631e317..7365580 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -4,7 +4,7 @@ steps: - functions - deploy - calc - - --source=https://source.developers.google.com/projects/data-engineer-practice-263910/repos/github_jafarshaik6_clocks/ + - --source=https://source.developers.google.com/projects/data-engineer-practice-263910/repos/github_jafarshaik6_clocks - --runtime - python37 - --trigger-http From dcc3dfadd0e8fcca193d813c3b23dd9c1b8e9d55 Mon Sep 17 00:00:00 2001 From: gh-jshaik <62153531+gh-jshaik@users.noreply.github.com> Date: Wed, 13 May 2020 13:43:29 +0530 Subject: [PATCH 17/18] Made changes in cloud build and function --- cloudbuild.yaml | 2 +- main.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cloudbuild.yaml b/cloudbuild.yaml index 7365580..e2d5549 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -3,7 +3,7 @@ steps: args: - functions - deploy - - calc + - calcAng - --source=https://source.developers.google.com/projects/data-engineer-practice-263910/repos/github_jafarshaik6_clocks - --runtime - python37 diff --git a/main.py b/main.py index ec35320..6852dec 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,5 @@ from flask import escape -def calc(request): +def calcAng(request): request_json = request.get_json(silent=True) request_args = request.args From eae2b2d63d9bbbc7c30eef1b53b59fbf313cd03a Mon Sep 17 00:00:00 2001 From: gh-jshaik <62153531+gh-jshaik@users.noreply.github.com> Date: Wed, 13 May 2020 13:48:45 +0530 Subject: [PATCH 18/18] made changes for testing --- cloudbuild.yaml | 2 +- main.py | 2 +- main_test.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cloudbuild.yaml b/cloudbuild.yaml index e2d5549..b11cd8c 100644 --- a/cloudbuild.yaml +++ b/cloudbuild.yaml @@ -3,7 +3,7 @@ steps: args: - functions - deploy - - calcAng + - calcAngle - --source=https://source.developers.google.com/projects/data-engineer-practice-263910/repos/github_jafarshaik6_clocks - --runtime - python37 diff --git a/main.py b/main.py index 6852dec..11d1915 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,5 @@ from flask import escape -def calcAng(request): +def calcAngle(request): request_json = request.get_json(silent=True) request_args = request.args diff --git a/main_test.py b/main_test.py index 08a2012..ccbdf26 100644 --- a/main_test.py +++ b/main_test.py @@ -5,7 +5,7 @@ def test_clock_angle(): name = 'test' - data = {'hour': 9,'minute':45} + data = {'hour': 9,'minute':0} req = Mock(get_json=Mock(return_value=data), args=data) # Call tested function