-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9b3956d
commit 980471c
Showing
30 changed files
with
2,192 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"python.pythonPath": "C:\\Users\\DENVER\\anaconda3\\envs\\corona_env\\python.exe" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
../coronavizdata\forms.py /^ email =Bcrypt ../coronavizdata\__init__.py /^from flask_bcrypt import Bcrypt$/;" kind:namespace line:3 | ||
Bcrypt ../coronavizdata\__init__.py /^from flask_bcrypt import Bcrypt$/;" kind:namespace line:3 | ||
Flask ../coronavizdata\__init__.py /^from flask import Flask$/;" kind:namespace line:1 | ||
Image ../coronavizdata\routes.py /^from PIL import Image$/;" kind:namespace line:3 | ||
Item ../coronavizdata\models.py /^class Item(db.Model):$/;" kind:class line:34 | ||
Item ../coronavizdata\routes.py /^from squares.models import User, Post, Item$/;" kind:namespace line:7 | ||
ItemDemo ../coronavizdata\routes.py /^from squares.forms import RegistrationForm, LoginForm, UpdateAccountForm, PostForm, ItemForm, ItemDemo$/;" kind:namespace line:6 | ||
ItemForm ../coronavizdata\routes.py /^from squares.forms import RegistrationForm, LoginForm, UpdateAccountForm, PostForm, ItemForm, ItemDemo$/;" kind:namespace line:6 | ||
LoginForm ../coronavizdata\routes.py /^from squares.forms import RegistrationForm, LoginForm, UpdateAccountForm, PostForm, ItemForm, ItemDemo$/;" kind:namespace line:6 | ||
LoginManager ../coronavizdata\__init__.py /^from flask_login import LoginManager$/;" kind:namespace line:4 | ||
Post ../coronavizdata\models.py /^class Post(db.Model):$/;" kind:class line:23 | ||
Post ../coronavizdata\routes.py /^from squares.models import User, Post, Item$/;" kind:namespace line:7 | ||
PostForm ../coronavizdata\routes.py /^from squares.forms import RegistrationForm, LoginForm, UpdateAccountForm, PostForm, ItemForm, ItemDemo$/;" kind:namespace line:6 | ||
RegistrationForm ../coronavizdata\routes.py /^from squares.forms import RegistrationForm, LoginForm, UpdateAccountForm, PostForm, ItemForm, ItemDemo$/;" kind:namespace line:6 | ||
SQLAlchemy ../coronavizdata\__init__.py /^from flask_sqlalchemy import SQLAlchemy$/;" kind:namespace line:2 | ||
UpdateAccountForm ../coronavizdata\routes.py /^from squares.forms import RegistrationForm, LoginForm, UpdateAccountForm, PostForm, ItemForm, ItemDemo$/;" kind:namespace line:6 | ||
User ../coronavizdata\routes.py /^from squares.models import User, Post, Item$/;" kind:namespace line:7 | ||
__init__.py ../coronavizdata\__init__.py 1;" kind:file line:1 | ||
__repr__ ../coronavizdata\models.py /^ def __repr__(self):$/;" kind:member line:46 | ||
__repr__ ../coronavizdata\models.py /^ def __repr__(self):$/;" kind:member line:19 | ||
__repr__ ../coronavizdata\models.py /^ def __repr__(self):$/;" kind:member line:30 | ||
abort ../coronavizdata\routes.py /^from flask import render_template, url_for, flash, redirect, request, abort$/;" kind:namespace line:4 | ||
about ../coronavizdata\routes.py /^def about():$/;" kind:function line:19 | ||
account ../coronavizdata\routes.py /^def account():$/;" kind:function line:110 | ||
app ../coronavizdata\__init__.py /^app = Flask(__name__)$/;" kind:variable line:7 | ||
app ../coronavizdata\routes.py /^from squares import app, db, bcrypt$/;" kind:namespace line:5 | ||
app ../run.py /^from squares import app$/;" kind:namespace line:1 | ||
bcrypt ../coronavizdata\__init__.py /^bcrypt = Bcrypt(app)$/;" kind:variable line:13 | ||
bcrypt ../coronavizdata\routes.py /^from squares import app, db, bcrypt$/;" kind:namespace line:5 | ||
body_type ../coronavizdata\models.py /^ body_type = db.Column(db.String(16), nullable=False, default='3')$/;" kind:variable line:40 | ||
cityFinder ../coronavizdata\routes.py /^ def cityFinder(item_dest_id):$/;" kind:function line:291 | ||
content ../coronavizdata\models.py /^ content = db.Column(db.Text, nullable=False)$/;" kind:variable line:27 | ||
create_item ../coronavizdata\routes.py /^def create_item():$/;" kind:function line:37 | ||
current_user ../coronavizdata\routes.py /^from flask_login import login_user, current_user, logout_user, login_required$/;" kind:namespace line:8 | ||
date_posted ../coronavizdata\models.py /^ date_posted = db.Column(db.DateTime, nullable=False,$/;" kind:variable line:43 | ||
date_posted ../coronavizdata\models.py /^ date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)$/;" kind:variable line:26 | ||
db ../coronavizdata\__init__.py /^db = SQLAlchemy(app)$/;" kind:variable line:12 | ||
db ../coronavizdata\routes.py /^from squares import app, db, bcrypt$/;" kind:namespace line:5 | ||
default ../coronavizdata\models.py /^ default=datetime.utcnow)$/;" kind:variable line:44 | ||
delete_post ../coronavizdata\routes.py /^def delete_post(post_id):$/;" kind:function line:172 | ||
destStyler ../coronavizdata\routes.py /^ def destStyler(item_dest_index):$/;" kind:function line:218 | ||
dest_id ../coronavizdata\models.py /^ dest_id = db.Column(db.String(16), nullable=False, default='0')$/;" kind:variable line:41 | ||
email ../coronavizdata\models.py /^ email = db.Column(db.String(120), unique=True, nullable=False)$/;" kind:variable line:14 | ||
flash ../coronavizdata\routes.py /^from flask import render_template, url_for, flash, redirect, request, abort$/;" kind:namespace line:4 | ||
home ../coronavizdata\routes.py /^def home():$/;" kind:function line:13 | ||
id ../coronavizdata\models.py /^ id = db.Column(db.Integer, primary_key=True)$/;" kind:variable line:36 | ||
id ../coronavizdata\models.py /^ id = db.Column(db.Integer, primary_key=True)$/;" kind:variable line:24 | ||
imageFinder ../coronavizdata\routes.py /^ def imageFinder(item_bodyType_index):$/;" kind:function line:237 | ||
image_file ../coronavizdata\models.py /^ image_file = db.Column(db.String(20), nullable=False, default='default.png')$/;" kind:variable line:15 | ||
inject_ItemDemoList ../coronavizdata\routes.py /^def inject_ItemDemoList():$/;" kind:function line:185 | ||
inject_bodyTypeImgDict ../coronavizdata\routes.py /^def inject_bodyTypeImgDict():$/;" kind:function line:234 | ||
inject_bodyTypeTextDict ../coronavizdata\routes.py /^def inject_bodyTypeTextDict():$/;" kind:function line:252 | ||
inject_destCityDict ../coronavizdata\routes.py /^def inject_destCityDict():$/;" kind:function line:288 | ||
inject_destStyleDict ../coronavizdata\routes.py /^def inject_destStyleDict():$/;" kind:function line:215 | ||
inject_shipStatMsgDict ../coronavizdata\routes.py /^def inject_shipStatMsgDict():$/;" kind:function line:270 | ||
inv_home ../coronavizdata\routes.py /^def inv_home():$/;" kind:function line:24 | ||
login ../coronavizdata\routes.py /^def login():$/;" kind:function line:73 | ||
login_manager ../coronavizdata\__init__.py /^login_manager = LoginManager(app)$/;" kind:variable line:14 | ||
login_required ../coronavizdata\routes.py /^from flask_login import login_user, current_user, logout_user, login_required$/;" kind:namespace line:8 | ||
login_user ../coronavizdata\routes.py /^from flask_login import login_user, current_user, logout_user, login_required$/;" kind:namespace line:8 | ||
logout ../coronavizdata\routes.py /^def logout():$/;" kind:function line:89 | ||
logout_user ../coronavizdata\routes.py /^from flask_login import login_user, current_user, logout_user, login_required$/;" kind:namespace line:8 | ||
make ../coronavizdata\models.py /^ make = db.Column(db.String(16), nullable=False, default='Ford')$/;" kind:variable line:37 | ||
model ../coronavizdata\models.py /^ model = db.Column(db.String(16), nullable=False, default='Mustang')$/;" kind:variable line:38 | ||
new_post ../coronavizdata\routes.py /^def new_post():$/;" kind:function line:131 | ||
os ../coronavizdata\__init__.py /^import os$/;" kind:namespace line:5 | ||
os ../coronavizdata\routes.py /^import os$/;" kind:namespace line:1 | ||
password ../coronavizdata\models.py /^ password = db.Column(db.String(60), nullable=False)$/;" kind:variable line:16 | ||
post ../coronavizdata\routes.py /^def post(post_id):$/;" kind:function line:144 | ||
posts ../coronavizdata\models.py /^ posts = db.relationship('Post', backref='author', lazy=True)$/;" kind:variable line:17 | ||
redirect ../coronavizdata\routes.py /^from flask import render_template, url_for, flash, redirect, request, abort$/;" kind:namespace line:4 | ||
register ../coronavizdata\routes.py /^def register():$/;" kind:function line:57 | ||
render_template ../coronavizdata\routes.py /^from flask import render_template, url_for, flash, redirect, request, abort$/;" kind:namespace line:4 | ||
request ../coronavizdata\routes.py /^from flask import render_template, url_for, flash, redirect, request, abort$/;" kind:namespace line:4 | ||
routes ../coronavizdata\__init__.py /^from squares import routes$/;" kind:namespace line:18 | ||
routes.py ../coronavizdata\routes.py 1;" kind:file line:1 | ||
run.py ../run.py 1;" kind:file line:1 | ||
save_picture ../coronavizdata\routes.py /^def save_picture(form_picture):$/;" kind:function line:94 | ||
secrets ../coronavizdata\routes.py /^import secrets$/;" kind:namespace line:2 | ||
ship_status ../coronavizdata\models.py /^ ship_status = db.Column(db.String(16), nullable=False, default='0')$/;" kind:variable line:42 | ||
statusFinder ../coronavizdata\routes.py /^ def statusFinder(item_ship_status):$/;" kind:function line:273 | ||
title ../coronavizdata\models.py /^ title = db.Column(db.String(100), nullable=False)$/;" kind:variable line:25 | ||
typeFinder ../coronavizdata\routes.py /^ def typeFinder(item_bodyType_id):$/;" kind:function line:255 | ||
update_post ../coronavizdata\routes.py /^def update_post(post_id):$/;" kind:function line:152 | ||
url_for ../coronavizdata\routes.py /^from flask import render_template, url_for, flash, redirect, request, abort$/;" kind:namespace line:4 | ||
user_id ../coronavizdata\models.py /^ user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)$/;" kind:variable line:28 | ||
username ../coronavizdata\models.py /^ username = db.Column(db.String(20), unique=True, nullable=False)$/;" kind:variable line:13 | ||
year ../coronavizdata\models.py /^ year = db.Column(db.String(16), nullable=False, default='2007')$/;" kind:variable line:39 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
web: gunicorn run:app |
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
from flask import Flask | ||
from flask_sqlalchemy import SQLAlchemy | ||
import os | ||
|
||
app = Flask(__name__) | ||
app.config['SECRET_KEY'] = '5791628bb0b13ce0c676dfde280ba245' | ||
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DATABASE_URL', '') | ||
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False | ||
app.config['FLASK_ENV'] = os.environ.get('FLASK_ENV') | ||
db = SQLAlchemy(app) | ||
|
||
from coronavizdata import routes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
from flask_wtf import FlaskForm | ||
from flask_wtf.file import FileField, FileAllowed | ||
from flask_login import current_user | ||
from wtforms import SelectField, StringField, PasswordField, SubmitField, BooleanField, TextAreaField | ||
from wtforms.validators import DataRequired, Length, Email, EqualTo, ValidationError | ||
from squares.models import User | ||
|
||
|
||
class RegistrationForm(FlaskForm): | ||
username = StringField('Username', | ||
validators=[DataRequired(), Length(min=2, max=20)]) | ||
email = StringField('Email', | ||
validators=[DataRequired(), Email()]) | ||
password = PasswordField('Password', validators=[DataRequired()]) | ||
confirm_password = PasswordField('Confirm Password', | ||
validators=[DataRequired(), EqualTo('password')]) | ||
submit = SubmitField('Sign Up') | ||
|
||
def validate_username(self, username): | ||
user = User.query.filter_by(username=username.data).first() | ||
if user: | ||
raise ValidationError( | ||
'That username is taken. Please choose a different one.') | ||
|
||
def validate_email(self, email): | ||
user = User.query.filter_by(email=email.data).first() | ||
if user: | ||
raise ValidationError( | ||
'That email is taken. Please choose a different one.') | ||
|
||
|
||
class LoginForm(FlaskForm): | ||
email = StringField('Email', | ||
validators=[DataRequired(), Email()]) | ||
password = PasswordField('Password', validators=[DataRequired()]) | ||
remember = BooleanField('Remember Me') | ||
submit = SubmitField('Login') | ||
|
||
|
||
class UpdateAccountForm(FlaskForm): | ||
username = StringField('Username', | ||
validators=[DataRequired(), Length(min=2, max=20)]) | ||
email = StringField('Email', | ||
validators=[DataRequired(), Email()]) | ||
picture = FileField('Update Profile Picture', validators=[ | ||
FileAllowed(['jpg', 'png'])]) | ||
submit = SubmitField('Update') | ||
|
||
def validate_username(self, username): | ||
if username.data != current_user.username: | ||
user = User.query.filter_by(username=username.data).first() | ||
if user: | ||
raise ValidationError( | ||
'That username is taken. Please choose a different one.') | ||
|
||
def validate_email(self, email): | ||
if email.data != current_user.email: | ||
user = User.query.filter_by(email=email.data).first() | ||
if user: | ||
raise ValidationError( | ||
'That email is taken. Please choose a different one.') | ||
|
||
|
||
class PostForm(FlaskForm): | ||
title = StringField('Title', validators=[DataRequired()]) | ||
content = TextAreaField('Content', validators=[DataRequired()]) | ||
submit = SubmitField('Post') | ||
|
||
|
||
class ItemForm(FlaskForm): | ||
pass | ||
make = StringField('make', validators=[DataRequired()], default='Ford') | ||
model = StringField('model', validators=[DataRequired()], default='Mustang') | ||
year = StringField('year', validators=[DataRequired()], default='2007') | ||
body_type = SelectField( | ||
choices=[ | ||
('0', 'Sedan'),('1', 'Compact'), | ||
('2', 'Coupe'), ('3', 'Pickup'), | ||
('4' ,'SUV') | ||
], default='2') | ||
|
||
dest_id = SelectField( | ||
choices=[('0', 'Alabama'),('1', 'Baltimore'), | ||
('2', 'California'), ('3', 'Delaware'), ('4', 'Exeter')], default='0') | ||
ship_status = SelectField( | ||
choices=[ | ||
('0', 'not yet shipped'), | ||
('1', 'receive next week'), | ||
('2', 'receive following week'), | ||
('3', 'receive within a month'), | ||
('4', 'receive next month'), | ||
], default='0' | ||
) | ||
|
||
|
||
class ItemDemo(): | ||
pass | ||
date_posted = 'date_posted' | ||
|
||
def __init__(self, make='', model='', year='', body_type='', dest_id='', ship_status=''): | ||
pass | ||
|
||
self.make = make | ||
self.model = model | ||
self.year = year | ||
self.body_type = body_type | ||
self.dest_id = dest_id | ||
self.ship_status = ship_status | ||
|
||
def __repr__(self): | ||
return f"ItemDemo('\n...{self.make}'\n\t '{self.model}' \n\t '{self.year}')" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
from datetime import datetime | ||
from squares import db, login_manager | ||
from flask_login import UserMixin | ||
|
||
|
||
@login_manager.user_loader | ||
def load_user(user_id): | ||
return User.query.get(int(user_id)) | ||
|
||
|
||
class User(db.Model, UserMixin): | ||
id = db.Column(db.Integer, primary_key=True) | ||
username = db.Column(db.String(20), unique=True, nullable=False) | ||
email = db.Column(db.String(120), unique=True, nullable=False) | ||
image_file = db.Column(db.String(20), nullable=False, default='default.png') | ||
password = db.Column(db.String(60), nullable=False) | ||
posts = db.relationship('Post', backref='author', lazy=True) | ||
|
||
def __repr__(self): | ||
return f"User('{self.username}', '{self.email}', '{self.image_file}')" | ||
|
||
|
||
class Post(db.Model): | ||
id = db.Column(db.Integer, primary_key=True) | ||
title = db.Column(db.String(100), nullable=False) | ||
date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) | ||
content = db.Column(db.Text, nullable=False) | ||
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) | ||
|
||
def __repr__(self): | ||
return f"Post('{self.title}', '{self.date_posted}')" | ||
|
||
|
||
class Item(db.Model): | ||
pass | ||
id = db.Column(db.Integer, primary_key=True) | ||
make = db.Column(db.String(16), nullable=False, default='Ford') | ||
model = db.Column(db.String(16), nullable=False, default='Mustang') | ||
year = db.Column(db.String(16), nullable=False, default='2007') | ||
body_type = db.Column(db.String(16), nullable=False, default='3') | ||
dest_id = db.Column(db.String(16), nullable=False, default='0') | ||
ship_status = db.Column(db.String(16), nullable=False, default='0') | ||
date_posted = db.Column(db.DateTime, nullable=False, | ||
default=datetime.utcnow) | ||
|
||
def __repr__(self): | ||
return f"Item('\n...{self.make}'\n\t '{self.model}' \n\t '{self.year}')" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
from flask import render_template, url_for, flash, redirect, request, abort | ||
from coronavizdata import app, db | ||
|
||
|
||
@app.route("/") | ||
@app.route("/home") | ||
def home(): | ||
return render_template('home.html', title='Home') | ||
|
||
|
||
@app.route("/about") | ||
def about(): | ||
return render_template('about.html', title='About') | ||
|
||
|
Binary file not shown.
Oops, something went wrong.