SYMBOL INDEX (238 symbols across 49 files) FILE: accounts/apps.py class AccountsConfig (line 4) | class AccountsConfig(AppConfig): method ready (line 7) | def ready(self): FILE: accounts/forms.py class ProfileForm (line 5) | class ProfileForm(forms.ModelForm): class Meta (line 6) | class Meta: method clean_email (line 10) | def clean_email(self): class RegisterForm (line 17) | class RegisterForm(forms.ModelForm): class Meta (line 19) | class Meta: method clean_password (line 26) | def clean_password(self): class CreateInviteForm (line 32) | class CreateInviteForm(forms.ModelForm): class Meta (line 33) | class Meta: method clean_invited_email_address (line 37) | def clean_invited_email_address(self): class PasswordForgottenForm (line 44) | class PasswordForgottenForm(forms.Form): class PasswortResetForm (line 47) | class PasswortResetForm(forms.Form): FILE: accounts/migrations/0001_initial.py class Migration (line 10) | class Migration(migrations.Migration): FILE: accounts/migrations/0002_auto_20190914_1247.py class Migration (line 9) | class Migration(migrations.Migration): FILE: accounts/migrations/0003_auto_20190914_2031.py class Migration (line 11) | class Migration(migrations.Migration): FILE: accounts/migrations/0004_auto_20190915_1105.py class Migration (line 9) | class Migration(migrations.Migration): FILE: accounts/migrations/0005_emailverification_verification_code.py class Migration (line 7) | class Migration(migrations.Migration): FILE: accounts/migrations/0006_auto_20190915_1321.py class Migration (line 6) | class Migration(migrations.Migration): FILE: accounts/migrations/0007_auto_20190923_1323.py class Migration (line 10) | class Migration(migrations.Migration): FILE: accounts/models.py class CustomUser (line 18) | class CustomUser(AbstractUser, MPTTModel): class Meta (line 19) | class Meta: method get_absolute_url (line 30) | def get_absolute_url(self): method is_green (line 34) | def is_green(self): method gravatar_url (line 37) | def gravatar_url(self, size=80): method latest_verified_email (line 45) | def latest_verified_email(self): class Invitation (line 52) | class Invitation(models.Model): method get_absolute_url (line 63) | def get_absolute_url(self): method get_register_url (line 66) | def get_register_url(self): method active (line 70) | def active(self): class EmailVerification (line 75) | class EmailVerification(models.Model): method get_verify_url (line 87) | def get_verify_url(self): class PasswordResetRequest (line 91) | class PasswordResetRequest(models.Model): method get_verify_url (line 100) | def get_verify_url(self): FILE: accounts/receivers.py function lower_email_addresses (line 15) | def lower_email_addresses(sender, instance, **kwargs): function send_invitation_email (line 23) | def send_invitation_email(sender, instance, created, **kwargs): function create_verification (line 44) | def create_verification(sender, instance, created, **kwargs): function send_verification_email (line 61) | def send_verification_email(sender, instance, created, **kwargs): function send_password_reset_email (line 80) | def send_password_reset_email(sender, instance, created, **kwargs): FILE: accounts/tests.py class BasicAccountsTest (line 8) | class BasicAccountsTest(TestCase): method setUp (line 10) | def setUp(self): class ReceiversAccountsTest (line 19) | class ReceiversAccountsTest(TestCase): method setUp (line 21) | def setUp(self): method test_lower_email_addresses (line 30) | def test_lower_email_addresses(self): method test_send_invitation_email (line 37) | def test_send_invitation_email(self): method test_create_verification (line 42) | def test_create_verification(self): method test_send_verification_email (line 51) | def test_send_verification_email(self): method test_send_password_reset_email (line 56) | def test_send_password_reset_email(self): FILE: accounts/views.py function profile (line 15) | def profile(request, username=None): function my_profile (line 25) | def my_profile(request): function create_invite (line 41) | def create_invite(request): function invite (line 52) | def invite(request, pk): function register (line 57) | def register(request): function verify (line 80) | def verify(request, verification_code): function resend_verification (line 89) | def resend_verification(request): function user_tree (line 97) | def user_tree(request): function password_forgotten (line 102) | def password_forgotten(request, verification_code=None): function logout (line 138) | def logout(request): FILE: emaildigest/apps.py class EmaildigestConfig (line 4) | class EmaildigestConfig(AppConfig): method ready (line 7) | def ready(self): FILE: emaildigest/forms.py class UserSubscriptionForm (line 6) | class UserSubscriptionForm(forms.ModelForm): class Meta (line 8) | class Meta: class AnonymousSubscriptionForm (line 13) | class AnonymousSubscriptionForm(forms.ModelForm): class Meta (line 15) | class Meta: method clean_email (line 19) | def clean_email(self): function validate_active_email (line 26) | def validate_active_email(email): class UnsunscribeForm (line 34) | class UnsunscribeForm(forms.Form): method clean_email (line 37) | def clean_email(self): function get_subscription_form (line 44) | def get_subscription_form(user, *args, **kwargs): FILE: emaildigest/mailing.py function create_and_send_digest (line 4) | def create_and_send_digest(frequency): function send_mail (line 15) | def send_mail(subscription, template, subject): FILE: emaildigest/migrations/0001_initial.py class Migration (line 9) | class Migration(migrations.Migration): FILE: emaildigest/migrations/0002_auto_20190923_2028.py class Migration (line 6) | class Migration(migrations.Migration): FILE: emaildigest/migrations/0003_auto_20190923_2120.py class Migration (line 8) | class Migration(migrations.Migration): FILE: emaildigest/migrations/0004_auto_20190926_2118.py class Migration (line 8) | class Migration(migrations.Migration): FILE: emaildigest/models.py class EmailDigest (line 4) | class EmailDigest(models.Model): class Subscription (line 19) | class Subscription(models.Model): class UserSubscription (line 35) | class UserSubscription(Subscription): class AnonymousSubscription (line 39) | class AnonymousSubscription(Subscription): class UnSubscription (line 47) | class UnSubscription(models.Model): FILE: emaildigest/receivers.py function lower_email_addresses (line 13) | def lower_email_addresses(sender, instance, **kwargs): function activate_subscription_on_verification (line 23) | def activate_subscription_on_verification(sender, instance, created, **k... function on_subscription_created (line 32) | def on_subscription_created(sender, instance, created, **kwargs): function on_unsubscription_created (line 38) | def on_unsubscription_created(sender, instance, created, **kwargs): FILE: emaildigest/templatetags/emaildigest_extra.py function digest_subscription_form (line 8) | def digest_subscription_form(user, **kwargs): FILE: emaildigest/tests.py class BasicEmailDigestTest (line 9) | class BasicEmailDigestTest(TestCase): method setUp (line 11) | def setUp(self): method _subscribe (line 19) | def _subscribe(self, i=0): method _confirm (line 38) | def _confirm(self, subscription): method _unsubscribe_via_mail (line 55) | def _unsubscribe_via_mail(self, subscription, assert_form_error=False): method test_subscribe (line 77) | def test_subscribe(self): method test_subscribe_confirm (line 82) | def test_subscribe_confirm(self): method test_subscribe_unsubscribe (line 89) | def test_subscribe_unsubscribe(self): method test_subscribe_confirm_unsubscribe (line 96) | def test_subscribe_confirm_unsubscribe(self): method test_subscribe_unsubscribe_confirm (line 104) | def test_subscribe_unsubscribe_confirm(self): method test_subscribe_confirm_unsubscribe_subscribe (line 118) | def test_subscribe_confirm_unsubscribe_subscribe(self): method test_subscribe_confirm_unsubscribe_subscribe_confirm (line 129) | def test_subscribe_confirm_unsubscribe_subscribe_confirm(self): FILE: emaildigest/views.py function subscribe (line 12) | def subscribe(request): function unsubscribe (line 36) | def unsubscribe(request, subscription_id=None, digest_id=None): function my_subscriptions (line 68) | def my_subscriptions(request): FILE: hnclone/context_processors.py function settings_context_processor (line 2) | def settings_context_processor(request): FILE: hnclone/urls.py function handler403 (line 24) | def handler403(request, exception=None): FILE: manage.py function main (line 7) | def main(): FILE: news/apps.py class NewsConfig (line 4) | class NewsConfig(AppConfig): method ready (line 7) | def ready(self): FILE: news/feeds.py class NewestFeed (line 7) | class NewestFeed(Feed): method items (line 12) | def items(self): method item_title (line 15) | def item_title(self, item): method item_pubdate (line 18) | def item_pubdate(self, item): method item_updateddate (line 21) | def item_updateddate(self, item): method item_author_name (line 24) | def item_author_name(self, item): method item_author_link (line 27) | def item_author_link(self, item): method item_description (line 30) | def item_description(self, item): class FrontPageFeed (line 35) | class FrontPageFeed(NewestFeed): method items (line 40) | def items(self): FILE: news/forms.py class CommentForm (line 5) | class CommentForm(forms.ModelForm): class Meta (line 6) | class Meta: class AddStoryForm (line 11) | class AddStoryForm(forms.ModelForm): class Meta (line 12) | class Meta: method clean (line 16) | def clean(self): class StoryForm (line 29) | class StoryForm(forms.ModelForm): class Meta (line 30) | class Meta: FILE: news/migrations/0001_initial.py class Migration (line 10) | class Migration(migrations.Migration): FILE: news/migrations/0002_story_title.py class Migration (line 6) | class Migration(migrations.Migration): FILE: news/migrations/0003_auto_20190908_1642.py class Migration (line 8) | class Migration(migrations.Migration): FILE: news/migrations/0004_auto_20190908_2249.py class Migration (line 6) | class Migration(migrations.Migration): FILE: news/migrations/0005_auto_20190908_2250.py class Migration (line 6) | class Migration(migrations.Migration): FILE: news/migrations/0006_auto_20190908_2251.py class Migration (line 6) | class Migration(migrations.Migration): FILE: news/migrations/0007_auto_20190908_2256.py class Migration (line 6) | class Migration(migrations.Migration): FILE: news/migrations/0008_story_duplicate_of.py class Migration (line 7) | class Migration(migrations.Migration): FILE: news/migrations/0009_story_domain.py class Migration (line 6) | class Migration(migrations.Migration): FILE: news/migrations/0010_auto_20190930_1620.py class Migration (line 6) | class Migration(migrations.Migration): FILE: news/migrations/0011_auto_20190930_1623.py class Migration (line 6) | class Migration(migrations.Migration): FILE: news/migrations/0012_auto_20190930_1625.py class Migration (line 6) | class Migration(migrations.Migration): FILE: news/models.py class Item (line 13) | class Item(MPTTModel): class Meta (line 14) | class Meta: method get_absolute_url (line 37) | def get_absolute_url(self): method can_be_upvoted_by (line 41) | def can_be_upvoted_by(self, user): method can_be_downvoted_by (line 50) | def can_be_downvoted_by(self, user): method can_be_edited_by (line 61) | def can_be_edited_by(self, user): method can_be_deleted_by (line 64) | def can_be_deleted_by(self, user): class Story (line 69) | class Story(Item): class Meta (line 70) | class Meta: method __str__ (line 85) | def __str__(self): method can_be_downvoted_by (line 93) | def can_be_downvoted_by(self, user): class Comment (line 104) | class Comment(Item): method __str__ (line 110) | def __str__(self): method comments (line 113) | def comments(self): class Vote (line 120) | class Vote(models.Model): FILE: news/receivers.py function mark_show_and_ask (line 10) | def mark_show_and_ask(sender, instance, **kwargs): function create_self_upvote_for_submission (line 19) | def create_self_upvote_for_submission(sender, instance, created, **kwargs): function check_for_duplicates (line 26) | def check_for_duplicates(sender, instance, created, **kwargs): function update_votes_count_on_submission (line 40) | def update_votes_count_on_submission(sender, instance, created, **kwargs): function update_user_karma_on_vote (line 56) | def update_user_karma_on_vote(sender, instance, created, **kwargs): function _recount_comments (line 68) | def _recount_comments(instance, val=1): function update_comments_count_on_submission (line 80) | def update_comments_count_on_submission(sender, instance, created, **kwa... function update_comments_count_on_deletion (line 86) | def update_comments_count_on_deletion(sender, instance, **kwargs): function update_item_votes_on_unvote (line 92) | def update_item_votes_on_unvote(sender, instance, **kwargs): function update_user_karma_on_unvote (line 107) | def update_user_karma_on_unvote(sender, instance, **kwargs): function add_domain_to_link_stories (line 118) | def add_domain_to_link_stories(sender, instance, **kwargs): FILE: news/templatetags/news_extra.py function news_item (line 9) | def news_item(context, item, **kwargs): function link_user (line 15) | def link_user(user): function user_arrows (line 21) | def user_arrows(user, item): function more_link (line 34) | def more_link(context): function item_content (line 44) | def item_content(**kwargs): function item_control (line 49) | def item_control(**kwargs): class MarkdownRenderer (line 53) | class MarkdownRenderer(mistune.Renderer): method setup (line 56) | def setup(cls): method header (line 60) | def header(self, text, level, raw=None): function comment_markdown (line 68) | def comment_markdown(value): FILE: news/tests.py class BasicNewsTest (line 8) | class BasicNewsTest(TestCase): method setUp (line 10) | def setUp(self): method test_submit_get (line 18) | def test_submit_get(self): method test_submit_post_with_title_and_url (line 26) | def test_submit_post_with_title_and_url(self): method test_submit_post_with_title_without_url (line 33) | def test_submit_post_with_title_without_url(self): method test_submit_and_frontpage_and_newest (line 40) | def test_submit_and_frontpage_and_newest(self): method test_submit_and_upvote (line 59) | def test_submit_and_upvote(self): method test_submit_and_upvote_and_unvote (line 81) | def test_submit_and_upvote_and_unvote(self): method test_submit_and_downvote (line 106) | def test_submit_and_downvote(self): method test_submit_and_upvote_self (line 122) | def test_submit_and_upvote_self(self): method test_ask (line 138) | def test_ask(self): method test_show (line 154) | def test_show(self): method test_comment (line 171) | def test_comment(self): method test_owner_can_edit_comment (line 198) | def test_owner_can_edit_comment(self): method test_owner_cannot_edit_comment_with_children (line 217) | def test_owner_cannot_edit_comment_with_children(self): method test_owner_can_edit_story (line 239) | def test_owner_can_edit_story(self): method test_owner_cannot_edit_story_url (line 255) | def test_owner_cannot_edit_story_url(self): method test_owner_cannot_edit_story_with_comments (line 271) | def test_owner_cannot_edit_story_with_comments(self): method test_other_cannot_edit_comment (line 290) | def test_other_cannot_edit_comment(self): method test_other_cannot_edit_story (line 308) | def test_other_cannot_edit_story(self): method test_owner_can_delete_comment (line 323) | def test_owner_can_delete_comment(self): method test_owner_cannot_delete_comment_with_children (line 347) | def test_owner_cannot_delete_comment_with_children(self): method test_owner_can_delete_story (line 373) | def test_owner_can_delete_story(self): method test_other_cannot_delete_comment (line 395) | def test_other_cannot_delete_comment(self): method test_other_cannot_delete_story (line 418) | def test_other_cannot_delete_story(self): method test_zen (line 438) | def test_zen(self): method test_comments (line 447) | def test_comments(self): method test_threads (line 454) | def test_threads(self): method test_newest (line 461) | def test_newest(self): method test_front_page (line 468) | def test_front_page(self): method test_more_button (line 475) | def test_more_button(self): class ReceiversNewsTest (line 479) | class ReceiversNewsTest(TestCase): method setUp (line 481) | def setUp(self): method test_mark_show_and_ask (line 490) | def test_mark_show_and_ask(self): method test_create_self_upvote_for_submission (line 504) | def test_create_self_upvote_for_submission(self): method test_check_for_duplicates (line 511) | def test_check_for_duplicates(self): method test_update_votes_count_on_submission (line 527) | def test_update_votes_count_on_submission(self): method test_update_user_karma_on_vote (line 551) | def test_update_user_karma_on_vote(self): method test_update_comments_count_on_submission (line 566) | def test_update_comments_count_on_submission(self): method test_update_comments_count_on_deletion (line 586) | def test_update_comments_count_on_deletion(self): method test_update_item_votes_on_unvote (line 610) | def test_update_item_votes_on_unvote(self): method test_update_user_karma_on_unvote (line 641) | def test_update_user_karma_on_unvote(self): method test_add_domain_to_link_stories (line 660) | def test_add_domain_to_link_stories(self): FILE: news/views.py function _one_page_back (line 46) | def _one_page_back(request): function _front_page (line 57) | def _front_page(paging_size=settings.PAGING_SIZE, page=0, add_filter={},... function _newest (line 104) | def _newest(paging_size=settings.PAGING_SIZE, page=0, add_filter={}, add... function index (line 114) | def index(request): function show (line 125) | def show(request): function ask (line 136) | def ask(request): function newest (line 148) | def newest(request): # Done function threads (line 181) | def threads(request): function comments (line 204) | def comments(request): # TODO function zen (line 238) | def zen(request): function _vote (line 242) | def _vote(request, pk, vote=None, unvote=False): function upvote (line 265) | def upvote(request, pk): function downvote (line 271) | def downvote(request, pk): function unvote (line 277) | def unvote(request, pk): function flag (line 281) | def flag(request): function save (line 285) | def save(request): function _item_story_comment (line 289) | def _item_story_comment(pk): function item (line 314) | def item(request, pk): # DONE function item_edit (line 335) | def item_edit(request, pk): function item_delete (line 358) | def item_delete(request, pk): function submit (line 374) | def submit(request): # DONE function robots_txt (line 388) | def robots_txt(request): function humans_txt (line 394) | def humans_txt(request): function bookmarklet (line 400) | def bookmarklet(request): FILE: static/news.js function getFormData (line 6) | function getFormData(form) {