Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
attila5287 committed Apr 23, 2020
1 parent 9b3956d commit 980471c
Show file tree
Hide file tree
Showing 30 changed files with 2,192 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .vscode/settings.json
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"
}
88 changes: 88 additions & 0 deletions .vscode/tags
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
1 change: 1 addition & 0 deletions Procfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
web: gunicorn run:app
Binary file added co_hex.ico
Binary file not shown.
Binary file added co_hex.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions coronavizdata/__init__.py
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
111 changes: 111 additions & 0 deletions coronavizdata/forms.py
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}')"
47 changes: 47 additions & 0 deletions coronavizdata/models.py
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}')"
15 changes: 15 additions & 0 deletions coronavizdata/routes.py
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 added coronavizdata/site.db
Binary file not shown.
Loading

0 comments on commit 980471c

Please sign in to comment.