Skip to content

Commit 6aa308a

Browse files
committed
initial commit
1 parent 311e187 commit 6aa308a

18 files changed

+355
-0
lines changed

Diff for: .flaskenv

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
FLASK_APP=app.py
2+
FLASK_ENV=development

Diff for: .vscode/settings.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"python.pythonPath": "/Users/bhargavbachina/Projects/python/python-flask-restapi/myapp/bin/python3"
3+
}

Diff for: app.py

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
from flask import Flask, request
2+
from app_service import AppService
3+
import json
4+
5+
app = Flask(__name__)
6+
appService = AppService();
7+
8+
9+
@app.route('/')
10+
def home():
11+
return "App Works!!!"
12+
13+
14+
@app.route('/api/tasks')
15+
def tasks():
16+
return appService.get_tasks()
17+
18+
@app.route('/api/task', methods=['POST'])
19+
def create_task():
20+
request_data = request.get_json()
21+
task = request_data['task']
22+
return appService.create_task(task)
23+
24+
25+
@app.route('/api/task', methods=['PUT'])
26+
def update_task():
27+
request_data = request.get_json()
28+
return appService.update_task(request_data['task'])
29+
30+
31+
@app.route('/api/task/<int:id>', methods=['DELETE'])
32+
def delete_task(id):
33+
return appService.delete_task(id)
34+

Diff for: app_service.py

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import json
2+
3+
class AppService:
4+
5+
tasks = [
6+
{
7+
'id': 1,
8+
'name': "task1",
9+
"description": "This is task 1"
10+
},
11+
{
12+
"id": 2,
13+
"name": "task2",
14+
"description": "This is task 2"
15+
},
16+
{
17+
"id": 3,
18+
"name": "task3",
19+
"description": "This is task 3"
20+
}
21+
]
22+
23+
def __init__(self):
24+
self.tasksJSON = json.dumps(self.tasks)
25+
26+
def get_tasks(self):
27+
return self.tasksJSON
28+
29+
def create_task(self,task):
30+
tasksData = json.loads(self.tasksJSON)
31+
tasksData.append(task)
32+
self.tasksJSON = json.dumps(tasksData)
33+
return self.tasksJSON
34+
35+
def update_task(self, request_task):
36+
tasksData = json.loads(self.tasksJSON)
37+
for task in tasksData:
38+
if task["id"] == request_task['id']:
39+
task.update(request_task)
40+
return json.dumps(tasksData);
41+
return json.dumps({'message': 'task id not found'});
42+
43+
def delete_task(self, request_task_id):
44+
tasksData = json.loads(self.tasksJSON)
45+
for task in tasksData:
46+
if task["id"] == request_task_id:
47+
tasksData.remove(task)
48+
return json.dumps(tasksData);
49+
return json.dumps({'message': 'task id not found'});
50+
51+

Diff for: myapp/bin/activate

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# This file must be used with "source bin/activate" *from bash*
2+
# you cannot run it directly
3+
4+
deactivate () {
5+
# reset old environment variables
6+
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
7+
PATH="${_OLD_VIRTUAL_PATH:-}"
8+
export PATH
9+
unset _OLD_VIRTUAL_PATH
10+
fi
11+
if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
12+
PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
13+
export PYTHONHOME
14+
unset _OLD_VIRTUAL_PYTHONHOME
15+
fi
16+
17+
# This should detect bash and zsh, which have a hash command that must
18+
# be called to get it to forget past commands. Without forgetting
19+
# past commands the $PATH changes we made may not be respected
20+
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
21+
hash -r
22+
fi
23+
24+
if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
25+
PS1="${_OLD_VIRTUAL_PS1:-}"
26+
export PS1
27+
unset _OLD_VIRTUAL_PS1
28+
fi
29+
30+
unset VIRTUAL_ENV
31+
if [ ! "$1" = "nondestructive" ] ; then
32+
# Self destruct!
33+
unset -f deactivate
34+
fi
35+
}
36+
37+
# unset irrelevant variables
38+
deactivate nondestructive
39+
40+
VIRTUAL_ENV="/Users/bhargavbachina/Projects/python/python-flask-restapi/myapp"
41+
export VIRTUAL_ENV
42+
43+
_OLD_VIRTUAL_PATH="$PATH"
44+
PATH="$VIRTUAL_ENV/bin:$PATH"
45+
export PATH
46+
47+
# unset PYTHONHOME if set
48+
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
49+
# could use `if (set -u; : $PYTHONHOME) ;` in bash
50+
if [ -n "${PYTHONHOME:-}" ] ; then
51+
_OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
52+
unset PYTHONHOME
53+
fi
54+
55+
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
56+
_OLD_VIRTUAL_PS1="${PS1:-}"
57+
if [ "x(myapp) " != x ] ; then
58+
PS1="(myapp) ${PS1:-}"
59+
else
60+
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
61+
# special case for Aspen magic directories
62+
# see http://www.zetadev.com/software/aspen/
63+
PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
64+
else
65+
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
66+
fi
67+
fi
68+
export PS1
69+
fi
70+
71+
# This should detect bash and zsh, which have a hash command that must
72+
# be called to get it to forget past commands. Without forgetting
73+
# past commands the $PATH changes we made may not be respected
74+
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
75+
hash -r
76+
fi

Diff for: myapp/bin/activate.csh

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# This file must be used with "source bin/activate.csh" *from csh*.
2+
# You cannot run it directly.
3+
# Created by Davide Di Blasi <[email protected]>.
4+
# Ported to Python 3.3 venv by Andrew Svetlov <[email protected]>
5+
6+
alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate'
7+
8+
# Unset irrelevant variables.
9+
deactivate nondestructive
10+
11+
setenv VIRTUAL_ENV "/Users/bhargavbachina/Projects/python/python-flask-restapi/myapp"
12+
13+
set _OLD_VIRTUAL_PATH="$PATH"
14+
setenv PATH "$VIRTUAL_ENV/bin:$PATH"
15+
16+
17+
set _OLD_VIRTUAL_PROMPT="$prompt"
18+
19+
if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
20+
if ("myapp" != "") then
21+
set env_name = "myapp"
22+
else
23+
if (`basename "VIRTUAL_ENV"` == "__") then
24+
# special case for Aspen magic directories
25+
# see http://www.zetadev.com/software/aspen/
26+
set env_name = `basename \`dirname "$VIRTUAL_ENV"\``
27+
else
28+
set env_name = `basename "$VIRTUAL_ENV"`
29+
endif
30+
endif
31+
set prompt = "[$env_name] $prompt"
32+
unset env_name
33+
endif
34+
35+
alias pydoc python -m pydoc
36+
37+
rehash

Diff for: myapp/bin/activate.fish

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org)
2+
# you cannot run it directly
3+
4+
function deactivate -d "Exit virtualenv and return to normal shell environment"
5+
# reset old environment variables
6+
if test -n "$_OLD_VIRTUAL_PATH"
7+
set -gx PATH $_OLD_VIRTUAL_PATH
8+
set -e _OLD_VIRTUAL_PATH
9+
end
10+
if test -n "$_OLD_VIRTUAL_PYTHONHOME"
11+
set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
12+
set -e _OLD_VIRTUAL_PYTHONHOME
13+
end
14+
15+
if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
16+
functions -e fish_prompt
17+
set -e _OLD_FISH_PROMPT_OVERRIDE
18+
functions -c _old_fish_prompt fish_prompt
19+
functions -e _old_fish_prompt
20+
end
21+
22+
set -e VIRTUAL_ENV
23+
if test "$argv[1]" != "nondestructive"
24+
# Self destruct!
25+
functions -e deactivate
26+
end
27+
end
28+
29+
# unset irrelevant variables
30+
deactivate nondestructive
31+
32+
set -gx VIRTUAL_ENV "/Users/bhargavbachina/Projects/python/python-flask-restapi/myapp"
33+
34+
set -gx _OLD_VIRTUAL_PATH $PATH
35+
set -gx PATH "$VIRTUAL_ENV/bin" $PATH
36+
37+
# unset PYTHONHOME if set
38+
if set -q PYTHONHOME
39+
set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
40+
set -e PYTHONHOME
41+
end
42+
43+
if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
44+
# fish uses a function instead of an env var to generate the prompt.
45+
46+
# save the current fish_prompt function as the function _old_fish_prompt
47+
functions -c fish_prompt _old_fish_prompt
48+
49+
# with the original prompt function renamed, we can override with our own.
50+
function fish_prompt
51+
# Save the return status of the last command
52+
set -l old_status $status
53+
54+
# Prompt override?
55+
if test -n "(myapp) "
56+
printf "%s%s" "(myapp) " (set_color normal)
57+
else
58+
# ...Otherwise, prepend env
59+
set -l _checkbase (basename "$VIRTUAL_ENV")
60+
if test $_checkbase = "__"
61+
# special case for Aspen magic directories
62+
# see http://www.zetadev.com/software/aspen/
63+
printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal)
64+
else
65+
printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal)
66+
end
67+
end
68+
69+
# Restore the return status of the previous command.
70+
echo "exit $old_status" | .
71+
_old_fish_prompt
72+
end
73+
74+
set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
75+
end

Diff for: myapp/bin/dotenv

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/Users/bhargavbachina/Projects/python/python-flask-restapi/myapp/bin/python3
2+
# -*- coding: utf-8 -*-
3+
import re
4+
import sys
5+
6+
from dotenv.cli import cli
7+
8+
if __name__ == '__main__':
9+
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10+
sys.exit(cli())

Diff for: myapp/bin/easy_install

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/Users/bhargavbachina/Projects/python/python-flask-restapi/myapp/bin/python3
2+
# -*- coding: utf-8 -*-
3+
import re
4+
import sys
5+
6+
from setuptools.command.easy_install import main
7+
8+
if __name__ == '__main__':
9+
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10+
sys.exit(main())

Diff for: myapp/bin/easy_install-3.7

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/Users/bhargavbachina/Projects/python/python-flask-restapi/myapp/bin/python3
2+
# -*- coding: utf-8 -*-
3+
import re
4+
import sys
5+
6+
from setuptools.command.easy_install import main
7+
8+
if __name__ == '__main__':
9+
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10+
sys.exit(main())

Diff for: myapp/bin/flask

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/Users/bhargavbachina/Projects/python/python-flask-restapi/myapp/bin/python3
2+
# -*- coding: utf-8 -*-
3+
import re
4+
import sys
5+
6+
from flask.cli import main
7+
8+
if __name__ == '__main__':
9+
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10+
sys.exit(main())

Diff for: myapp/bin/pip

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/Users/bhargavbachina/Projects/python/python-flask-restapi/myapp/bin/python3
2+
# -*- coding: utf-8 -*-
3+
import re
4+
import sys
5+
6+
from pip._internal import main
7+
8+
if __name__ == '__main__':
9+
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10+
sys.exit(main())

Diff for: myapp/bin/pip3

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/Users/bhargavbachina/Projects/python/python-flask-restapi/myapp/bin/python3
2+
# -*- coding: utf-8 -*-
3+
import re
4+
import sys
5+
6+
from pip._internal import main
7+
8+
if __name__ == '__main__':
9+
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10+
sys.exit(main())

Diff for: myapp/bin/pip3.7

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/Users/bhargavbachina/Projects/python/python-flask-restapi/myapp/bin/python3
2+
# -*- coding: utf-8 -*-
3+
import re
4+
import sys
5+
6+
from pip._internal import main
7+
8+
if __name__ == '__main__':
9+
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
10+
sys.exit(main())

Diff for: myapp/bin/python

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
python3

Diff for: myapp/bin/python3

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3

Diff for: myapp/pyvenv.cfg

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
home = /Library/Frameworks/Python.framework/Versions/3.7/bin
2+
include-system-site-packages = false
3+
version = 3.7.4

Diff for: requirements.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
flask
2+
python-dotenv

0 commit comments

Comments
 (0)