From 1c6291c79f0e11b4d8a0bb8240d30258f25919d7 Mon Sep 17 00:00:00 2001 From: Jason Danker Date: Tue, 11 Oct 2016 13:14:43 -0700 Subject: [PATCH] lab x --- .../__pycache__/config.cpython-35.pyc | Bin 0 -> 325 bytes Labs/lab-SQL/Lab-SQLite/app.db | Bin 3072 -> 3072 bytes .../app/__pycache__/__init__.cpython-35.pyc | Bin 0 -> 409 bytes .../app/__pycache__/forms.cpython-35.pyc | Bin 0 -> 667 bytes .../app/__pycache__/models.cpython-35.pyc | Bin 0 -> 783 bytes .../app/__pycache__/views.cpython-35.pyc | Bin 0 -> 1130 bytes Labs/lab-SQL/Lab-SQLite/app/forms.py | 3 +-- Labs/lab-SQL/Lab-SQLite/app/models.py | 11 ++++++++++- .../Lab-SQLite/app/templates/customer.html | 10 +++++++++- .../Lab-SQLite/app/templates/home.html | 8 +++++++- Labs/lab-SQL/Lab-SQLite/app/views.py | 5 +++++ Labs/lab-SQL/Lab-SQLite/schema.sql | 7 +++++++ Labs/lab-SQL/Pokemon.db | Bin 9216 -> 9216 bytes 13 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 Labs/lab-SQL/Lab-SQLite/__pycache__/config.cpython-35.pyc create mode 100644 Labs/lab-SQL/Lab-SQLite/app/__pycache__/__init__.cpython-35.pyc create mode 100644 Labs/lab-SQL/Lab-SQLite/app/__pycache__/forms.cpython-35.pyc create mode 100644 Labs/lab-SQL/Lab-SQLite/app/__pycache__/models.cpython-35.pyc create mode 100644 Labs/lab-SQL/Lab-SQLite/app/__pycache__/views.cpython-35.pyc diff --git a/Labs/lab-SQL/Lab-SQLite/__pycache__/config.cpython-35.pyc b/Labs/lab-SQL/Lab-SQLite/__pycache__/config.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6d438dd6a7d5e69384daf3280f2dd12270ce5f2a GIT binary patch literal 325 zcmYjNO-sW-5S@IOgkr&icoa`U4{_Cl2NBV>35cO;6Dj7hY?^7Cx=BhlQR3BK(~CbS zS5N){51!m8g2Q`n-V8hjW~bZjysbYc`wGB2{3}iR3rTS*C6-Wt1B3twuvB2F{uvEW zhgYRVxB;;Wp#iZ5q1i_Kp8g^8FbZC_>%6j`6VB}npRlm!6$;U_8Z{Sp37%}Fr;iMyN02B0}?1!RR910 literal 0 HcmV?d00001 diff --git a/Labs/lab-SQL/Lab-SQLite/app.db b/Labs/lab-SQL/Lab-SQLite/app.db index a61b799d7873a03304be0292aedb9853420f73b2..41f65b171d4c4df727b0827b45614730c197f7f4 100644 GIT binary patch delta 149 zcmZpWXpop7Ey&Nnz`zW}j6j-oqK+|8Q1@pCFObK`T*|;)%6xLOBFjmp$(GDET#X!z z?BeqBjE(V=eV83tQqxn5CigO%h~z2cmFDDdX@YbyF~4A7{=)oXvm(b1=7|j|DqKt~ h4E*9rNe)SRNnDH|c4DGKqFy3UEetSi=Hd9l3;=A39iIRI delta 363 zcmZpWXpop7Ey&Hlz`zW|Fu*)f#~3K6`;3K``40mVvl9ce6Z6TnqG2# zt{6KDgSdJ|YEDi*h;T>;5+HGDHWmhXO}L)Kav*R3kswJCRu%?P)r|at)XWlx^8BLg zVvwj13k!p=GDM3*abgNsjG2YOOISHCwH$~XfEXkw%EZDTsa%o@R8tI8?f}GKVMd^- d>OkQV5Ox3&AYm@B-)=H6|6%^VnTO*GGXM=oXL0}l diff --git a/Labs/lab-SQL/Lab-SQLite/app/__pycache__/__init__.cpython-35.pyc b/Labs/lab-SQL/Lab-SQLite/app/__pycache__/__init__.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..67f021521f63341267f39b8b4ba4539fd9ee5b07 GIT binary patch literal 409 zcmX|6Jx{|h5IrY#XwxEfK+LQesDXhAAwZ}SQUyX4AZ4-gaiwYPq}VCYnP1a|nctF? zi9f)=#JNaVzUO!EzI?me+u{5A`{4rsKFR)%N9>HurUW@%1`0qkh#4^Fd!RhfKEysS zWPmMrqaX+5FbiO|1-b7OhQ5e0>wdhAnt$;Ar7ee&jr5NCeT%m%3ep^m`_}RaUYI%Hhh4u^}s%<`l(@PXC8;2@LM7=wZQvaD7Bvc*E2J#SqLy;7ST*ev+G45jl+hF$ N67*T$>#;uTdA}?!WSsy2 literal 0 HcmV?d00001 diff --git a/Labs/lab-SQL/Lab-SQLite/app/__pycache__/forms.cpython-35.pyc b/Labs/lab-SQL/Lab-SQLite/app/__pycache__/forms.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d033268b1cadb0f289a14dced3cb956f1365ecc0 GIT binary patch literal 667 zcmZ8f&2H2%5FY2BkfkdQ6-TZ)5CamNP_=@xs8Uq~D}>}ra5vs%C6`?%CV?H4?xCuxAMSu|?UJpP9 zph93Fs0dgzT0@XAs03It>Ji8kR0b>q@}`NQN#F}6Cm;x1WAYtnQdpGP53B+uanZcj zstnxSh1G4hp0`3at~lzfSPQ+=Ferbmcq?zT;*eYZUR(^V7R}PXbF=>TFhh#~PaT=F z07U5f!4^aW*8pqeLI{gNB+#JiKYI#IgdAg6yc&${6%s*`E?xF&!@I4^FS%?RZhLK9 zEIhT7GILp7cU+0Oc6nW^z8R#Ki@LrTxEwt?L|!`aka>tbj0*CA>?|i`&L%6#&3Pq0+v>`$bbx-AqU1A2!ajxV?ZRqwRA*MnXFKxj m{-40=b|hnezTRz5qqK)Mm%SKgbATTZj32|4?2{>(2EPHlr<)c4 literal 0 HcmV?d00001 diff --git a/Labs/lab-SQL/Lab-SQLite/app/__pycache__/models.cpython-35.pyc b/Labs/lab-SQL/Lab-SQLite/app/__pycache__/models.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7ac8a865d4cd43d78a4d19081e85bab6d76e6e46 GIT binary patch literal 783 zcmY+C&2G~`5XWcje9N4xU;y*oQQp8but8;y<6-+rFmw*bDwwSjARhNhb+AwCRZ zfDwbxg3yLfILAo|!g4XUDZqCtKQJ14oKDjyp>3kI&~yjI0L(B4gDVDK_F-kg(t?=< zR{$#;mNv{V6FLEw45sL}fKfz=BG?%gax!>}>brLDvJ%YayW!+=uha9}gQ3&u4f_ty zw2_HW+G%o`%!72XBa$GBUFXg7?rGb1nnycFu3OG+{XWjCT&AhuCa>^JX{qw6_$YX0 z1Uh7rM8+*qOpzxq7m0Ek&!A-LD=50$uc3FU@q?Z`PcrYNI7W9sc@bEfbB0~}D-T5NF9i^DnjQ?K9CWbW>u(nv8 zZ8O!tIVT4V+P;O>LesBMZlHbwtF@Z14S!@cPYpIiaO9`VQ@j?8fpeekNHHJF7$J8D4xusDRJBl3l*Od^RV&_^?YL_Z9 T*A9?$7K=kh`KY|QRj>XAsBN+t literal 0 HcmV?d00001 diff --git a/Labs/lab-SQL/Lab-SQLite/app/__pycache__/views.cpython-35.pyc b/Labs/lab-SQL/Lab-SQLite/app/__pycache__/views.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e21d9d577d3660a99a60aa1dc3e31d6f9745a8dd GIT binary patch literal 1130 zcmZWo&2AGh5FYPOl1(>F8bLv#2X1H&bb$jWgb;;RNL30-QKgkowOPB(rt565y@f>W zsXPl(UxGM> z`~agTO}H^NfTBYa=n5P=Xd*NO+FH1+EZkOYgf`I5!h~*X(2u%T2p1w(w*?zhCJq(j zlOk12Hw2@(V42c&!M;{ZD)e&G$wb$9Nm(JaLkCyH{7rPYRY_HHCbmn#uSuMlsEgsC zvV~JNQ7B6d=FpFv-mDX6g5hn4+0FkE5y&iDf>^=DitB#-Su!Exa>%RrU71y!jg^ew zGI7ERHjQ6Ad;aqAc3KqihrQi&5aX0_kq(~rKkb^0S#!l=#2%mK?3>)2Otqh5y5AcH zmca*(XrcTckgjv4h9#BS-Fd&Sy^nkS{bhCrs)y5NcYq3JcL8t?a0W0UMi)C)cVOhg zIk7qx6?F%c52G5K;UQMe0ix=rYYa6C%jy7j1BStx_9L%1YsL$Xr%zL-@iaKhEZ%QC-1+*{9N-^6{Hg_B8*7cS~%V6Ub WKBcN)uMHFSd2Emk((xa8Pr|>eeEJ#y literal 0 HcmV?d00001 diff --git a/Labs/lab-SQL/Lab-SQLite/app/forms.py b/Labs/lab-SQL/Lab-SQLite/app/forms.py index a0d42b1..377c5f2 100755 --- a/Labs/lab-SQL/Lab-SQLite/app/forms.py +++ b/Labs/lab-SQL/Lab-SQLite/app/forms.py @@ -5,5 +5,4 @@ class CustomerForm(Form): company = StringField('company', validators=[DataRequired()]) - email = EmailField('email', validators=[DataRequired()]) - + email = EmailField('email', validators=[DataRequired()]) \ No newline at end of file diff --git a/Labs/lab-SQL/Lab-SQLite/app/models.py b/Labs/lab-SQL/Lab-SQLite/app/models.py index 9be98c2..9534bb3 100755 --- a/Labs/lab-SQL/Lab-SQLite/app/models.py +++ b/Labs/lab-SQL/Lab-SQLite/app/models.py @@ -1,7 +1,16 @@ import sqlite3 as sql -def insert_customer(): +def insert_customer(company,email): # SQL statement to insert into database goes here + with sql.connect('app.db') as con: + cur = con.cursor() + cur.execute('INSERT INTO customers (company,email) VALUES (?,?)',(company,email)) + con.commit() def retrieve_customers(): # SQL statement to query database goes here + with sql.connect('app.db') as con: + con.row_factory = sql.Row + cur = con.cursor() + result = cur.execute('SELECT * FROM customers').fetchall() + return result \ No newline at end of file diff --git a/Labs/lab-SQL/Lab-SQLite/app/templates/customer.html b/Labs/lab-SQL/Lab-SQLite/app/templates/customer.html index 6e74a14..59457cf 100755 --- a/Labs/lab-SQL/Lab-SQLite/app/templates/customer.html +++ b/Labs/lab-SQL/Lab-SQLite/app/templates/customer.html @@ -11,6 +11,14 @@

Add Customer to Our Database

+

+ Company name:
+ {{form.company(size=120)}}
+

+

+ Customer email:
+ {{form.email(size=120)}}
+

@@ -20,4 +28,4 @@

Add Customer to Our Database

-{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/Labs/lab-SQL/Lab-SQLite/app/templates/home.html b/Labs/lab-SQL/Lab-SQLite/app/templates/home.html index e2216db..25781f9 100755 --- a/Labs/lab-SQL/Lab-SQLite/app/templates/home.html +++ b/Labs/lab-SQL/Lab-SQLite/app/templates/home.html @@ -17,8 +17,14 @@

These are all of our awesome customers:

+ {% for customer in customers %} + + {{customer['company']}} + {{customer['email']}} + + {% endfor %} -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/Labs/lab-SQL/Lab-SQLite/app/views.py b/Labs/lab-SQL/Lab-SQLite/app/views.py index 4fc2de6..f33adaf 100755 --- a/Labs/lab-SQL/Lab-SQLite/app/views.py +++ b/Labs/lab-SQL/Lab-SQLite/app/views.py @@ -1,6 +1,7 @@ from flask import render_template, redirect, request from app import app, models, db from .forms import CustomerForm +#from models import * # Access the models file to use SQL functions @@ -14,11 +15,15 @@ def create_customer(): if form.validate_on_submit(): # Get data from the form # Send data from form to Database + company = form.company.data + email = form.email.data + models.insert_customer(company,email) return redirect('/customers') return render_template('customer.html', form=form) @app.route('/customers') def display_customer(): #Retreive data from database to display + customers = models.retrieve_customers() return render_template('home.html', customers=customers) diff --git a/Labs/lab-SQL/Lab-SQLite/schema.sql b/Labs/lab-SQL/Lab-SQLite/schema.sql index f06fbdb..14d886c 100644 --- a/Labs/lab-SQL/Lab-SQLite/schema.sql +++ b/Labs/lab-SQL/Lab-SQLite/schema.sql @@ -1,2 +1,9 @@ -- Insert code to create Database Schema -- This will create your .db database file for use + +drop table if exists customers; +create table customers ( + customer_id integer primary key, + company text not null, + email text non null +); \ No newline at end of file diff --git a/Labs/lab-SQL/Pokemon.db b/Labs/lab-SQL/Pokemon.db index 7fbc93f8b758953747c84f7262cab5cb34af8b5b..900247862f8b52b87fe9958b1ef85290f1a014f3 100644 GIT binary patch delta 186 zcmZqhXz-XIEhxgkz`zN_Oi(O4QO8(ZghBTiH!Dztfdxb`uruCc^kwv%Saz9(fro)% zvoGT=CRRqE1m|WRmLL2aOw5lMm_IT<+AJt?k$GYOs{t<)3xh19Q)*FmYEEh;GcO}5 z7pRk!p^$-j9n)Em$qa=P%i_5jBYD`x_4OH>5+`=JF>*~jFV3W+F!7`8WPV23$-0aR OlV2!HZ1$Dh%mo13>?w2r delta 149 zcmZqhXz-XIEhxmmz`zN_OhC*6#4;0gjKzf*bf0nYfG1@eKQZs4}K1iPUeryk2VX6Tx6aYz^cc~#KIuY>0DZnT2zvmm(R<{ d!XV2SoS3KJm0z67gl_U?MHXAe&AyVGxd7w{Ap8IT