SYMBOL INDEX (217 symbols across 36 files) FILE: app/__init__.py function create_app (line 20) | def create_app(config_name): FILE: app/api/authentication.py function verify_password (line 11) | def verify_password(email_or_token, password): function auth_error (line 27) | def auth_error(): function before_request (line 33) | def before_request(): function get_token (line 40) | def get_token(): FILE: app/api/comments.py function get_comments (line 9) | def get_comments(): function get_comment (line 30) | def get_comment(id): function get_post_comments (line 36) | def get_post_comments(id): function new_post_comment (line 59) | def new_post_comment(id): FILE: app/api/decorators.py function permission_required (line 6) | def permission_required(permission): FILE: app/api/errors.py function bad_request (line 6) | def bad_request(message): function unauthorized (line 12) | def unauthorized(message): function forbidden (line 18) | def forbidden(message): function validation_error (line 25) | def validation_error(e): FILE: app/api/posts.py function get_posts (line 10) | def get_posts(): function get_post (line 31) | def get_post(id): function new_post (line 38) | def new_post(): function edit_post (line 49) | def edit_post(id): FILE: app/api/users.py function get_user (line 7) | def get_user(id): function get_user_posts (line 13) | def get_user_posts(id): function get_user_followed_posts (line 35) | def get_user_followed_posts(id): FILE: app/auth/forms.py class LoginForm (line 8) | class LoginForm(FlaskForm): class RegistrationForm (line 16) | class RegistrationForm(FlaskForm): method validate_email (line 29) | def validate_email(self, field): method validate_username (line 33) | def validate_username(self, field): class ChangePasswordForm (line 38) | class ChangePasswordForm(FlaskForm): class PasswordResetRequestForm (line 47) | class PasswordResetRequestForm(FlaskForm): class PasswordResetForm (line 53) | class PasswordResetForm(FlaskForm): class ChangeEmailForm (line 60) | class ChangeEmailForm(FlaskForm): method validate_email (line 66) | def validate_email(self, field): FILE: app/auth/views.py function before_request (line 13) | def before_request(): function unconfirmed (line 24) | def unconfirmed(): function login (line 31) | def login(): function logout (line 47) | def logout(): function register (line 54) | def register(): function confirm (line 72) | def confirm(token): function resend_confirmation (line 85) | def resend_confirmation(): function change_password (line 95) | def change_password(): function password_reset_request (line 110) | def password_reset_request(): function password_reset (line 128) | def password_reset(token): function change_email_request (line 144) | def change_email_request(): function change_email (line 163) | def change_email(token): FILE: app/decorators.py function permission_required (line 7) | def permission_required(permission): function admin_required (line 18) | def admin_required(f): FILE: app/email.py function send_async_email (line 7) | def send_async_email(app, msg): function send_email (line 12) | def send_email(to, subject, template, **kwargs): FILE: app/exceptions.py class ValidationError (line 1) | class ValidationError(ValueError): FILE: app/fake.py function users (line 8) | def users(count=100): function posts (line 28) | def posts(count=100): FILE: app/main/__init__.py function inject_permissions (line 10) | def inject_permissions(): FILE: app/main/errors.py function forbidden (line 6) | def forbidden(e): function page_not_found (line 16) | def page_not_found(e): function internal_server_error (line 26) | def internal_server_error(e): FILE: app/main/forms.py class NameForm (line 10) | class NameForm(FlaskForm): class EditProfileForm (line 15) | class EditProfileForm(FlaskForm): class EditProfileAdminForm (line 22) | class EditProfileAdminForm(FlaskForm): method __init__ (line 37) | def __init__(self, user, *args, **kwargs): method validate_email (line 43) | def validate_email(self, field): method validate_username (line 48) | def validate_username(self, field): class PostForm (line 54) | class PostForm(FlaskForm): class CommentForm (line 59) | class CommentForm(FlaskForm): FILE: app/main/views.py function after_request (line 14) | def after_request(response): function server_shutdown (line 25) | def server_shutdown(): function index (line 36) | def index(): function user (line 61) | def user(username): function edit_profile (line 74) | def edit_profile(): function edit_profile_admin (line 93) | def edit_profile_admin(id): function post (line 119) | def post(id): function edit (line 144) | def edit(id): function follow (line 163) | def follow(username): function unfollow (line 180) | def unfollow(username): function followers (line 195) | def followers(username): function followed_by (line 212) | def followed_by(username): function show_all (line 230) | def show_all(): function show_followed (line 238) | def show_followed(): function moderate (line 247) | def moderate(): function moderate_enable (line 260) | def moderate_enable(id): function moderate_disable (line 272) | def moderate_disable(id): FILE: app/models.py class Permission (line 13) | class Permission: class Role (line 21) | class Role(db.Model): method __init__ (line 29) | def __init__(self, **kwargs): method insert_roles (line 35) | def insert_roles(): method add_permission (line 56) | def add_permission(self, perm): method remove_permission (line 60) | def remove_permission(self, perm): method reset_permissions (line 64) | def reset_permissions(self): method has_permission (line 67) | def has_permission(self, perm): method __repr__ (line 70) | def __repr__(self): class Follow (line 74) | class Follow(db.Model): class User (line 83) | class User(UserMixin, db.Model): method add_self_follows (line 111) | def add_self_follows(): method __init__ (line 118) | def __init__(self, **kwargs): method password (line 130) | def password(self): method password (line 134) | def password(self, password): method verify_password (line 137) | def verify_password(self, password): method generate_confirmation_token (line 140) | def generate_confirmation_token(self, expiration=3600): method confirm (line 144) | def confirm(self, token): method generate_reset_token (line 156) | def generate_reset_token(self, expiration=3600): method reset_password (line 161) | def reset_password(token, new_password): method generate_email_change_token (line 174) | def generate_email_change_token(self, new_email, expiration=3600): method change_email (line 179) | def change_email(self, token): method can (line 197) | def can(self, perm): method is_administrator (line 200) | def is_administrator(self): method ping (line 203) | def ping(self): method gravatar_hash (line 207) | def gravatar_hash(self): method gravatar (line 210) | def gravatar(self, size=100, default='identicon', rating='g'): method follow (line 216) | def follow(self, user): method unfollow (line 221) | def unfollow(self, user): method is_following (line 226) | def is_following(self, user): method is_followed_by (line 232) | def is_followed_by(self, user): method followed_posts (line 239) | def followed_posts(self): method to_json (line 243) | def to_json(self): method generate_auth_token (line 256) | def generate_auth_token(self, expiration): method verify_auth_token (line 262) | def verify_auth_token(token): method __repr__ (line 270) | def __repr__(self): class AnonymousUser (line 274) | class AnonymousUser(AnonymousUserMixin): method can (line 275) | def can(self, permissions): method is_administrator (line 278) | def is_administrator(self): function load_user (line 285) | def load_user(user_id): class Post (line 289) | class Post(db.Model): method on_changed_body (line 299) | def on_changed_body(target, value, oldvalue, initiator): method to_json (line 307) | def to_json(self): method from_json (line 320) | def from_json(json_post): class Comment (line 330) | class Comment(db.Model): method on_changed_body (line 341) | def on_changed_body(target, value, oldvalue, initiator): method to_json (line 348) | def to_json(self): method from_json (line 360) | def from_json(json_comment): FILE: config.py class Config (line 5) | class Config: method init_app (line 25) | def init_app(app): class DevelopmentConfig (line 29) | class DevelopmentConfig(Config): class TestingConfig (line 35) | class TestingConfig(Config): class ProductionConfig (line 42) | class ProductionConfig(Config): method init_app (line 48) | def init_app(cls, app): class HerokuConfig (line 71) | class HerokuConfig(ProductionConfig): method init_app (line 75) | def init_app(cls, app): class DockerConfig (line 93) | class DockerConfig(ProductionConfig): method init_app (line 95) | def init_app(cls, app): class UnixConfig (line 106) | class UnixConfig(ProductionConfig): method init_app (line 108) | def init_app(cls, app): FILE: flasky.py function make_shell_context (line 25) | def make_shell_context(): function test (line 34) | def test(coverage, test_names): function profile (line 64) | def profile(length, profile_dir): function deploy (line 73) | def deploy(): FILE: migrations/env.py function run_migrations_offline (line 27) | def run_migrations_offline(): function run_migrations_online (line 45) | def run_migrations_online(): FILE: migrations/versions/190163627111_account_confirmation.py function upgrade (line 17) | def upgrade(): function downgrade (line 23) | def downgrade(): FILE: migrations/versions/198b0eebcf9_caching_of_avatar_hashes.py function upgrade (line 17) | def upgrade(): function downgrade (line 23) | def downgrade(): FILE: migrations/versions/1b966e7f4b9e_post_model.py function upgrade (line 17) | def upgrade(): function downgrade (line 31) | def downgrade(): FILE: migrations/versions/2356a38169ea_followers.py function upgrade (line 17) | def upgrade(): function downgrade (line 30) | def downgrade(): FILE: migrations/versions/288cd3dc5a8_rich_text_posts.py function upgrade (line 17) | def upgrade(): function downgrade (line 23) | def downgrade(): FILE: migrations/versions/38c4e85512a9_initial_migration.py function upgrade (line 17) | def upgrade(): function downgrade (line 36) | def downgrade(): FILE: migrations/versions/456a945560f6_login_support.py function upgrade (line 17) | def upgrade(): function downgrade (line 25) | def downgrade(): FILE: migrations/versions/51f5ccfba190_comments.py function upgrade (line 17) | def upgrade(): function downgrade (line 35) | def downgrade(): FILE: migrations/versions/56ed7d33de8d_user_roles.py function upgrade (line 17) | def upgrade(): function downgrade (line 25) | def downgrade(): FILE: migrations/versions/d66f086b258_user_information.py function upgrade (line 17) | def upgrade(): function downgrade (line 27) | def downgrade(): FILE: tests/test_api.py class APITestCase (line 9) | class APITestCase(unittest.TestCase): method setUp (line 10) | def setUp(self): method tearDown (line 18) | def tearDown(self): method get_api_headers (line 23) | def get_api_headers(self, username, password): method test_404 (line 31) | def test_404(self): method test_no_auth (line 39) | def test_no_auth(self): method test_bad_auth (line 44) | def test_bad_auth(self): method test_token_auth (line 59) | def test_token_auth(self): method test_anonymous (line 89) | def test_anonymous(self): method test_unconfirmed_account (line 95) | def test_unconfirmed_account(self): method test_posts (line 110) | def test_posts(self): method test_users (line 178) | def test_users(self): method test_comments (line 203) | def test_comments(self): FILE: tests/test_basics.py class BasicsTestCase (line 6) | class BasicsTestCase(unittest.TestCase): method setUp (line 7) | def setUp(self): method tearDown (line 13) | def tearDown(self): method test_app_exists (line 18) | def test_app_exists(self): method test_app_is_testing (line 21) | def test_app_is_testing(self): FILE: tests/test_client.py class FlaskClientTestCase (line 6) | class FlaskClientTestCase(unittest.TestCase): method setUp (line 7) | def setUp(self): method tearDown (line 15) | def tearDown(self): method test_home_page (line 20) | def test_home_page(self): method test_register_and_login (line 25) | def test_register_and_login(self): FILE: tests/test_selenium.py class SeleniumTestCase (line 10) | class SeleniumTestCase(unittest.TestCase): method setUpClass (line 14) | def setUpClass(cls): method tearDownClass (line 58) | def tearDownClass(cls): method setUp (line 72) | def setUp(self): method tearDown (line 76) | def tearDown(self): method test_admin_home_page (line 79) | def test_admin_home_page(self): FILE: tests/test_user_model.py class UserModelTestCase (line 8) | class UserModelTestCase(unittest.TestCase): method setUp (line 9) | def setUp(self): method tearDown (line 16) | def tearDown(self): method test_password_setter (line 21) | def test_password_setter(self): method test_no_password_getter (line 25) | def test_no_password_getter(self): method test_password_verification (line 30) | def test_password_verification(self): method test_password_salts_are_random (line 35) | def test_password_salts_are_random(self): method test_valid_confirmation_token (line 40) | def test_valid_confirmation_token(self): method test_invalid_confirmation_token (line 47) | def test_invalid_confirmation_token(self): method test_expired_confirmation_token (line 56) | def test_expired_confirmation_token(self): method test_valid_reset_token (line 64) | def test_valid_reset_token(self): method test_invalid_reset_token (line 72) | def test_invalid_reset_token(self): method test_valid_email_change_token (line 80) | def test_valid_email_change_token(self): method test_invalid_email_change_token (line 88) | def test_invalid_email_change_token(self): method test_duplicate_email_change_token (line 98) | def test_duplicate_email_change_token(self): method test_user_role (line 108) | def test_user_role(self): method test_moderator_role (line 116) | def test_moderator_role(self): method test_administrator_role (line 125) | def test_administrator_role(self): method test_anonymous_user (line 134) | def test_anonymous_user(self): method test_timestamps (line 142) | def test_timestamps(self): method test_ping (line 151) | def test_ping(self): method test_gravatar (line 160) | def test_gravatar(self): method test_follows (line 173) | def test_follows(self): method test_to_json (line 210) | def test_to_json(self):