This repository has been archived by the owner on Dec 25, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 209
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
Showing
187 changed files
with
44,489 additions
and
4 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
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 @@ | ||
Your application's documentation here |
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,13 @@ | ||
application: myflaskonappengineapp | ||
version: 1 | ||
runtime: python | ||
api_version: 1 | ||
|
||
handlers: | ||
- url: /favicon.ico | ||
static_files: application/static/img/favicon.ico | ||
upload: application/static/img/favicon.ico | ||
|
||
- url: .* | ||
script: main.py | ||
|
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,8 @@ | ||
|
||
from flask import Flask | ||
import settings | ||
|
||
app = Flask(__name__) | ||
app.config.from_object('application.settings') | ||
|
||
import views |
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,11 @@ | ||
from functools import wraps | ||
from google.appengine.api import users | ||
from flask import redirect, request | ||
|
||
def login_required(func): | ||
@wraps(func) | ||
def decorated_view(*args, **kwargs): | ||
if not users.get_current_user(): | ||
return redirect(users.create_login_url(request.url)) | ||
return func(*args, **kwargs) | ||
return decorated_view |
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,8 @@ | ||
|
||
from flaskext import wtf | ||
from flaskext.wtf import validators | ||
|
||
|
||
class ExampleForm(wtf.Form): | ||
example_id = wtf.TextField('Example ID', validators=[validators.Required()]) | ||
example_title = wtf.TextField('Example Title', validators=[validators.Required()]) |
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,10 @@ | ||
|
||
from google.appengine.ext import db | ||
|
||
|
||
class ExampleModel(db.Model): | ||
"""Example Model""" | ||
example_id = db.StringProperty(required = True) | ||
example_title = db.StringProperty(required = True) | ||
added_by = db.UserProperty() | ||
timestamp = db.DateTimeProperty(auto_now_add = True) |
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,21 @@ | ||
''' | ||
Place your keys in the secret_keys.py module, which will be kept out of version control | ||
''' | ||
|
||
|
||
import os | ||
from secret_keys import CSRF_SECRET_KEY, SESSION_KEY | ||
|
||
|
||
# Auto-set debug mode based on App Engine dev environ | ||
DEBUG_MODE = os.environ['SERVER_SOFTWARE'].startswith('Dev') | ||
|
||
DEBUG = DEBUG_MODE | ||
|
||
# Set secret keys for CSRF protection | ||
SECRET_KEY = CSRF_SECRET_KEY | ||
CSRF_SESSION_LKEY = SESSION_KEY | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong. |
||
|
||
CSRF_ENABLED = True | ||
|
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,7 @@ | ||
|
||
/* Main stylesheet */ | ||
|
||
html {background-color: #333;} | ||
body {background-color: #fff; margin: 2em auto; width: 960px; padding: 1em; border: 8px solid #ccc;} | ||
|
||
/* Your customizations here */ |
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,281 @@ | ||
/* | ||
style.css contains a reset, font normalization and some base styles. | ||
credit is left where credit is due. | ||
additionally, much inspiration was taken from these projects: | ||
yui.yahooapis.com/2.8.1/build/base/base.css | ||
camendesign.com/design/ | ||
praegnanz.de/weblog/htmlcssjs-kickstart | ||
*/ | ||
|
||
/* | ||
html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline) | ||
v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark | ||
html5doctor.com/html-5-reset-stylesheet/ | ||
*/ | ||
|
||
html, body, div, span, object, iframe, | ||
h1, h2, h3, h4, h5, h6, p, blockquote, pre, | ||
abbr, address, cite, code, | ||
del, dfn, em, img, ins, kbd, q, samp, | ||
small, strong, sub, sup, var, | ||
b, i, | ||
dl, dt, dd, ol, ul, li, | ||
fieldset, form, label, legend, | ||
table, caption, tbody, tfoot, thead, tr, th, td, | ||
article, aside, canvas, details, figcaption, figure, | ||
footer, header, hgroup, menu, nav, section, summary, | ||
time, mark, audio, video { | ||
margin:0; | ||
padding:0; | ||
border:0; | ||
outline:0; | ||
font-size:100%; | ||
vertical-align:baseline; | ||
background:transparent; | ||
} | ||
|
||
article, aside, details, figcaption, figure, | ||
footer, header, hgroup, menu, nav, section { | ||
display:block; | ||
} | ||
|
||
nav ul { list-style:none; } | ||
|
||
blockquote, q { quotes:none; } | ||
|
||
blockquote:before, blockquote:after, | ||
q:before, q:after { content:''; content:none; } | ||
|
||
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; } | ||
|
||
ins { background-color:#ff9; color:#000; text-decoration:none; } | ||
|
||
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; } | ||
|
||
del { text-decoration: line-through; } | ||
|
||
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; } | ||
|
||
/* tables still need cellspacing="0" in the markup */ | ||
table { border-collapse:collapse; border-spacing:0; } | ||
|
||
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; } | ||
|
||
input, select { vertical-align:middle; } | ||
/* END RESET CSS */ | ||
|
||
|
||
/* fonts.css from the YUI Library: developer.yahoo.com/yui/ | ||
Please refer to developer.yahoo.com/yui/fonts/ for font sizing percentages | ||
There are three custom edits: | ||
* remove arial, helvetica from explicit font stack | ||
* we normalize monospace styles ourselves | ||
* table font-size is reset in the HTML5 reset above so there is no need to repeat | ||
*/ | ||
body { font:13px/1.231 sans-serif; *font-size:small; } /* hack retained to preserve specificity */ | ||
|
||
select, input, textarea, button { font:99% sans-serif; } | ||
|
||
/* normalize monospace sizing | ||
* en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome | ||
*/ | ||
pre, code, kbd, samp { font-family: monospace, sans-serif; } | ||
|
||
|
||
/* | ||
* minimal base styles | ||
*/ | ||
|
||
|
||
body, select, input, textarea { | ||
/* #444 looks better than black: twitter.com/H_FJ/statuses/11800719859 */ | ||
color: #444; | ||
/* set your base font here, to apply evenly | ||
/* font-family: Georgia, serif; */ | ||
} | ||
|
||
/* Headers (h1,h2,etc) have no default font-size or margin, | ||
you'll want to define those yourself. */ | ||
h1,h2,h3,h4,h5,h6 { font-weight: bold; } | ||
|
||
/* always force a scrollbar in non-IE */ | ||
html { overflow-y: scroll; } | ||
|
||
|
||
/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ | ||
a:hover, a:active { outline: none; } | ||
|
||
a, a:active, a:visited { color: #607890; } | ||
a:hover { color: #036; } | ||
|
||
|
||
ul, ol { margin-left: 1.8em; } | ||
ol { list-style-type: decimal; } | ||
|
||
small { font-size: 85%; } | ||
strong, th { font-weight: bold; } | ||
|
||
td, td img { vertical-align: top; } | ||
|
||
sub { vertical-align: sub; font-size: smaller; } | ||
sup { vertical-align: super; font-size: smaller; } | ||
|
||
pre { | ||
padding: 15px; | ||
|
||
/* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ | ||
white-space: pre; /* CSS2 */ | ||
white-space: pre-wrap; /* CSS 2.1 */ | ||
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */ | ||
word-wrap: break-word; /* IE */ | ||
} | ||
|
||
textarea { overflow: auto; } /* thnx ivannikolic! www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */ | ||
|
||
.ie6 legend, .ie7 legend { margin-left: -7px; } /* thnx ivannikolic! */ | ||
|
||
/* align checkboxes, radios, text inputs with their label | ||
by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css */ | ||
input[type="radio"] { vertical-align: text-bottom; } | ||
input[type="checkbox"] { vertical-align: bottom; } | ||
.ie7 input[type="checkbox"] { vertical-align: baseline; } | ||
.ie6 input { vertical-align: text-bottom; } | ||
|
||
/* hand cursor on clickable input elements */ | ||
label, input[type=button], input[type=submit], button { cursor: pointer; } | ||
|
||
/* webkit browsers add a 2px margin outside the chrome of form elements */ | ||
button, input, select, textarea { margin: 0; } | ||
|
||
/* colors for form validity */ | ||
input:valid, textarea:valid { } | ||
input:invalid, textarea:invalid { | ||
border-radius: 1px; | ||
-moz-box-shadow: 0px 0px 5px red; | ||
-webkit-box-shadow: 0px 0px 5px red; | ||
box-shadow: 0px 0px 5px red; | ||
} | ||
.no-boxshadow input:invalid, | ||
.no-boxshadow textarea:invalid { background-color: #f0dddd; } | ||
|
||
|
||
/* These selection declarations have to be separate. | ||
No text-shadow: twitter.com/miketaylr/status/12228805301 | ||
Also: hot pink. */ | ||
::-moz-selection{ background: #FF5E99; color:#fff; text-shadow: none; } | ||
::selection { background:#FF5E99; color:#fff; text-shadow: none; } | ||
|
||
/* j.mp/webkit-tap-highlight-color */ | ||
a:link { -webkit-tap-highlight-color: #FF5E99; } | ||
|
||
/* make buttons play nice in IE: | ||
www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */ | ||
button { width: auto; overflow: visible; } | ||
|
||
/* bicubic resizing for non-native sized IMG: | ||
code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ | ||
.ie7 img { -ms-interpolation-mode: bicubic; } | ||
|
||
|
||
|
||
/* | ||
* Non-semantic helper classes | ||
*/ | ||
|
||
/* for image replacement */ | ||
.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; } | ||
|
||
/* Hide for both screenreaders and browsers | ||
css-discuss.incutio.com/wiki/Screenreader_Visibility */ | ||
.hidden { display: none; visibility: hidden; } | ||
|
||
/* Hide only visually, but have it available for screenreaders | ||
www.webaim.org/techniques/css/invisiblecontent/ | ||
Solution from: j.mp/visuallyhidden - Thanks Jonathan Neal! */ | ||
.visuallyhidden { position: absolute !important; | ||
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ | ||
clip: rect(1px, 1px, 1px, 1px); } | ||
|
||
/* Hide visually and from screenreaders, but maintain layout */ | ||
.invisible { visibility: hidden; } | ||
|
||
/* >> The Magnificent CLEARFIX << j.mp/phayesclearfix */ | ||
.clearfix:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; } | ||
/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */ | ||
.clearfix { zoom: 1; } | ||
|
||
|
||
|
||
|
||
|
||
|
||
/* Primary Styles | ||
Author: | ||
*/ | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/* | ||
* print styles | ||
* inlined to avoid required HTTP connection www.phpied.com/delay-loading-your-print-css/ | ||
*/ | ||
@media print { | ||
* { background: transparent !important; color: #444 !important; text-shadow: none !important; } | ||
|
||
a, a:visited { color: #444 !important; text-decoration: underline; } | ||
|
||
a:after { content: " (" attr(href) ")"; } | ||
|
||
abbr:after { content: " (" attr(title) ")"; } | ||
|
||
.ir a:after { content: ""; } /* Don't show links for images */ | ||
|
||
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } | ||
|
||
thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */ | ||
|
||
tr, img { page-break-inside: avoid; } | ||
|
||
@page { margin: 0.5cm; } | ||
|
||
p, h2, h3 { orphans: 3; widows: 3; } | ||
|
||
h2, h3{ page-break-after: avoid; } | ||
} | ||
|
||
|
||
|
||
/* | ||
* Media queries for responsive design | ||
*/ | ||
|
||
@media all and (orientation:portrait) { | ||
/* Style adjustments for portrait mode goes here */ | ||
|
||
} | ||
|
||
@media all and (orientation:landscape) { | ||
/* Style adjustments for landscape mode goes here */ | ||
|
||
} | ||
|
||
/* Grade-A Mobile Browsers (Opera Mobile, iPhone Safari, Android Chrome) | ||
Consider this: www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/ */ | ||
@media screen and (max-device-width: 480px) { | ||
|
||
|
||
/* Uncomment if you don't want iOS and WinMobile to mobile-optimize the text for you | ||
j.mp/textsizeadjust | ||
html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */ | ||
} | ||
|
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.
Empty file.
Oops, something went wrong.
caught a typo: should be CSRF_SESSION_KEY