Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file not shown.
140 changes: 77 additions & 63 deletions week-0/day-3/my_todo_app/todo_app/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,71 +2,85 @@

from flask import Flask
from flask import request

from flask import render_template
from flaskext.mysql import MySQL

# our fake db
todo_store = {}
todo_store['depo'] = ['Go for run', 'Listen Rock Music']
todo_store['shivang'] = ['Read book', 'Play Fifa', 'Drink Coffee']
todo_store['raj'] = ['Study', 'Brush']
todo_store['sanket'] = ['Sleep', 'Code']
todo_store['aagam'] = ['play cricket', 'have tea']

def create_app(test_config=None):
# create and configure the app
app = Flask(__name__, instance_relative_config=True)

# ensure the instance folder exists
try:
os.makedirs(app.instance_path)
except OSError:
pass

def select_todos(name):
global todo_store
return todo_store[name]

def insert_todo(name, todo):
global todo_store
current_todos = todo_store[name]
current_todos.append(todo)
todo_store[name] = current_todos
return

def add_todo_by_name(name, todo):
# call DB function
insert_todo(name, todo)
return

def get_todos_by_name(name):
try:
return select_todos(name)
except:
return None


# http://127.0.0.1:5000/todos?name=duster
@app.route('/todos')
def todos():
name = request.args.get('name')
print('---------')
print(name)
print('---------')

person_todo_list = get_todos_by_name(name)
if person_todo_list == None:
return render_template('404.html'), 404
else:
return render_template('todo_view.html',todos=person_todo_list)


@app.route('/add_todos')
def add_todos():
name = request.args.get('name')
todo = request.args.get('todo')
add_todo_by_name(name, todo)
return 'Added Successfully'

return app
# create and configure the app
app = Flask(__name__, instance_relative_config=True)
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
app.config['MYSQL_DATABASE_USER'] = 'administrator'
app.config['MYSQL_DATABASE_PASSWORD'] = '12345678!@#QWEqwe'
app.config['MYSQL_DATABASE_DB'] = 'tododb'
mysql = MySQL(app)
mysql.init_app(app)

# ensure the instance folder exists
try:
os.makedirs(app.instance_path)
except OSError:
pass


#MODEL STRATS HERE

def get_from_db(name):
conn=mysql.connect()
cur=conn.cursor()
cur.execute("SELECT work FROM todolisttable WHERE name = %s",(name))
data=cur.fetchall()
data1=[A[0] for A in data]
conn.commit()
if len(data1) == 0 :
return None
return data1


def get_todos_by_name(name):
try:
return get_from_db(name)
except:
return None

def add_in_list(name,work):
conn=mysql.connect()
cur = conn.cursor()
cur.execute("INSERT INTO todolisttable(name, work) VALUES (%s, %s)", (name, work))
conn.commit()
#mysql.connection.commit()
#cur.close()
return

def verify_before_add(name,work):
return add_in_list(name,work)

#MODELS ENDS HERE

#...............................................................................................................#


#CONTROLLER STARTS HERE


@app.route('/add_todo')
def add_todo():
name=request.args.get('name')
work=request.args.get('work')
verify_before_add(name,work)
return 'ADDED SUCCESFULLY'


# a simple page that list my todos
@app.route('/todos')
def todos():
name = request.args.get('name')
dolist = get_todos_by_name(name)
if dolist!=None :
return render_template('todo_view.html',worklist = dolist)
else :
return render_template('404.html'),404
#...................................................................................................................#

return app

Binary file not shown.
2 changes: 1 addition & 1 deletion week-0/day-3/my_todo_app/todo_app/templates/todo_view.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
List of my todos:<br/>

{% for todo in todos %}
{% for todo in worklist %}
{{todo}}<br/>
{% endfor %}

Expand Down
Empty file.
78 changes: 78 additions & 0 deletions week-0/day-3/my_todo_app/yournewvirtualenv/bin/activate
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly

deactivate () {
unset -f pydoc >/dev/null 2>&1

# reset old environment variables
# ! [ -z ${VAR+_} ] returns true if VAR is declared at all
if ! [ -z "${_OLD_VIRTUAL_PATH+_}" ] ; then
PATH="$_OLD_VIRTUAL_PATH"
export PATH
unset _OLD_VIRTUAL_PATH
fi
if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then
PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME"
export PYTHONHOME
unset _OLD_VIRTUAL_PYTHONHOME
fi

# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
hash -r 2>/dev/null
fi

if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then
PS1="$_OLD_VIRTUAL_PS1"
export PS1
unset _OLD_VIRTUAL_PS1
fi

unset VIRTUAL_ENV
if [ ! "${1-}" = "nondestructive" ] ; then
# Self destruct!
unset -f deactivate
fi
}

# unset irrelevant variables
deactivate nondestructive

VIRTUAL_ENV="/home/lk/academy-hackathon/week-0/day-3/my_todo_app/yournewvirtualenv"
export VIRTUAL_ENV

_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
export PATH

# unset PYTHONHOME if set
if ! [ -z "${PYTHONHOME+_}" ] ; then
_OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
unset PYTHONHOME
fi

if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then
_OLD_VIRTUAL_PS1="$PS1"
if [ "x" != x ] ; then
PS1="$PS1"
else
PS1="(`basename \"$VIRTUAL_ENV\"`) $PS1"
fi
export PS1
fi

# Make sure to unalias pydoc if it's already there
alias pydoc 2>/dev/null >/dev/null && unalias pydoc

pydoc () {
python -m pydoc "$@"
}

# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
hash -r 2>/dev/null
fi
36 changes: 36 additions & 0 deletions week-0/day-3/my_todo_app/yournewvirtualenv/bin/activate.csh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# This file must be used with "source bin/activate.csh" *from csh*.
# You cannot run it directly.
# Created by Davide Di Blasi <davidedb@gmail.com>.

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 && unalias pydoc'

# Unset irrelevant variables.
deactivate nondestructive

setenv VIRTUAL_ENV "/home/lk/academy-hackathon/week-0/day-3/my_todo_app/yournewvirtualenv"

set _OLD_VIRTUAL_PATH="$PATH"
setenv PATH "$VIRTUAL_ENV/bin:$PATH"



if ("" != "") then
set env_name = ""
else
set env_name = `basename "$VIRTUAL_ENV"`
endif

# Could be in a non-interactive environment,
# in which case, $prompt is undefined and we wouldn't
# care about the prompt anyway.
if ( $?prompt ) then
set _OLD_VIRTUAL_PROMPT="$prompt"
set prompt = "[$env_name] $prompt"
endif

unset env_name

alias pydoc python -m pydoc

rehash

76 changes: 76 additions & 0 deletions week-0/day-3/my_todo_app/yournewvirtualenv/bin/activate.fish
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# This file must be used using `. bin/activate.fish` *within a running fish ( http://fishshell.com ) session*.
# Do not run it directly.

function deactivate -d 'Exit virtualenv mode and return to the normal environment.'
# reset old environment variables
if test -n "$_OLD_VIRTUAL_PATH"
set -gx PATH $_OLD_VIRTUAL_PATH
set -e _OLD_VIRTUAL_PATH
end

if test -n "$_OLD_VIRTUAL_PYTHONHOME"
set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
set -e _OLD_VIRTUAL_PYTHONHOME
end

if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
# Set an empty local `$fish_function_path` to allow the removal of `fish_prompt` using `functions -e`.
set -l fish_function_path

# Erase virtualenv's `fish_prompt` and restore the original.
functions -e fish_prompt
functions -c _old_fish_prompt fish_prompt
functions -e _old_fish_prompt
set -e _OLD_FISH_PROMPT_OVERRIDE
end

set -e VIRTUAL_ENV

if test "$argv[1]" != 'nondestructive'
# Self-destruct!
functions -e pydoc
functions -e deactivate
end
end

# Unset irrelevant variables.
deactivate nondestructive

set -gx VIRTUAL_ENV "/home/lk/academy-hackathon/week-0/day-3/my_todo_app/yournewvirtualenv"

set -gx _OLD_VIRTUAL_PATH $PATH
set -gx PATH "$VIRTUAL_ENV/bin" $PATH

# Unset `$PYTHONHOME` if set.
if set -q PYTHONHOME
set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
set -e PYTHONHOME
end

function pydoc
python -m pydoc $argv
end

if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
# Copy the current `fish_prompt` function as `_old_fish_prompt`.
functions -c fish_prompt _old_fish_prompt

function fish_prompt
# Save the current $status, for fish_prompts that display it.
set -l old_status $status

# Prompt override provided?
# If not, just prepend the environment name.
if test -n ""
printf '%s%s' "" (set_color normal)
else
printf '%s(%s) ' (set_color normal) (basename "$VIRTUAL_ENV")
end

# Restore the original $status
echo "exit $old_status" | source
_old_fish_prompt
end

set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
end
34 changes: 34 additions & 0 deletions week-0/day-3/my_todo_app/yournewvirtualenv/bin/activate_this.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
"""By using execfile(this_file, dict(__file__=this_file)) you will
activate this virtualenv environment.

This can be used when you must use an existing Python interpreter, not
the virtualenv bin/python
"""

try:
__file__
except NameError:
raise AssertionError(
"You must run this like execfile('path/to/activate_this.py', dict(__file__='path/to/activate_this.py'))")
import sys
import os

old_os_path = os.environ.get('PATH', '')
os.environ['PATH'] = os.path.dirname(os.path.abspath(__file__)) + os.pathsep + old_os_path
base = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if sys.platform == 'win32':
site_packages = os.path.join(base, 'Lib', 'site-packages')
else:
site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages')
prev_sys_path = list(sys.path)
import site
site.addsitedir(site_packages)
sys.real_prefix = sys.prefix
sys.prefix = base
# Move the added items to the front of the path:
new_sys_path = []
for item in list(sys.path):
if item not in prev_sys_path:
new_sys_path.append(item)
sys.path.remove(item)
sys.path[:0] = new_sys_path
11 changes: 11 additions & 0 deletions week-0/day-3/my_todo_app/yournewvirtualenv/bin/easy_install
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/home/lk/academy-hackathon/week-0/day-3/my_todo_app/yournewvirtualenv/bin/python3.6

# -*- coding: utf-8 -*-
import re
import sys

from setuptools.command.easy_install import main

if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
Loading