Exemplo n.º 1
0
def new_or_changed_language(sender, **kwargs):
    "Signal handler for cals.Language.post_save"
    new = kwargs['created']
    lang = kwargs['instance']
    if 'testarossa' in lang.slug:
        return
    new_title = 'New language: %s' % lang.name
    changed_title = 'Changed language: %s' % lang.name

    # Add relevant badge to conlanger
    badge = Badge.objects.get(name='Conlanger')
    add_badge(badge, lang.manager)
    batchbadge(badge, lang.editors.all())

    # Report on new language
    if new:
        # New language
        entry = add_entry_to_blog(lang, new_title, 'feeds/languages_newest_description.html', date_field='created')
        entry.tags = 'new_language'
        entry.save()
        lang.blogentries.add(entry)
    else:
        if lang.natlang: return
        # Changed language, has code to prevent duplicates
        latest = Entry.objects.latest()
        one_minute = timedelta(0, 60, 0)
        if latest.headline != changed_title:
            if not (latest.headline == new_title and (lang.last_modified - latest.pub_date < one_minute)):
                entry = add_entry_to_blog(lang, changed_title, 'feeds/languages_description.html', date_field='last_modified')
                entry.tags = 'changed_language'
                entry.save()
        else:
            latest.pub_date = tznow()
            latest.save()
Exemplo n.º 2
0
def blog_new_user(new_user):
    test_users = getattr(settings, 'NANO_USER_TEST_USERS', ())
    # Add blog-entry
    for test_user in test_users:
        if new_user.username.startswith(test_user):
            break
    else:
        blog_template = 'blog/new_user.html'
        add_entry_to_blog(new_user, '%s just joined' % new_user.username, blog_template, date_field='date_joined')
Exemplo n.º 3
0
def hidden_language(sender, **kwargs):
    languages = kwargs.get('languages', [])
    if languages:
        count = languages.count()
        if count == 1:
            lang = languages[0]
            title = 'Dropped language: %s' % lang.name
            add_entry_to_blog(lang, title,
                    'feeds/languages_single_dropped_description.html', date_field='last_modified')
        elif count > 1:
            title = 'Several languages dropped'
            add_entry_to_blog(languages, title,
                    'feeds/languages_multi_dropped_description.html', date_field='last_modified')
Exemplo n.º 4
0
def new_translation(sender, **kwargs):
    "Signal handler for Translation.post_save"
    new = kwargs['created']
    trans = kwargs['instance']

    if new:
#         # Add relevant badge to conlanger
#         badge = Badge.objects.get(name='Translator')
#         add_badge(badge, trans.translator)

        # Blog
        if trans.exercise.id != 1:
            title = 'New translation of "%s" into %s by %s' % (trans.exercise.name, trans.language, trans.translator.profile.display_name)
            add_entry_to_blog(trans, title, 'translations/new_trans_blogentry.html', date_field='added')
Exemplo n.º 5
0
def new_translation(sender, **kwargs):
    "Signal handler for Translation.post_save"
    new = kwargs["created"]
    trans = kwargs["instance"]

    if new:
        #         # Add relevant badge to conlanger
        #         badge = Badge.objects.get(name='Translator')
        #         add_badge(badge, trans.translator)

        # Blog
        if trans.exercise.id != 1:
            title = 'New translation of "%s" into %s by %s' % (
                trans.exercise.name,
                trans.language,
                trans.translator.profile.display_name,
            )
            add_entry_to_blog(trans, title, "translations/new_trans_blogentry.html", date_field="added")
Exemplo n.º 6
0
def new_user_anywhere(sender, **kwargs):
    new = kwargs.get('created', False)
    if new:
        new_user = kwargs['instance']
        test_users = getattr(settings, 'NANO_USER_TEST_USERS', ())

        # Add blog-entry
        for test_user in test_users:
            if new_user.username.startswith(test_user):
                break
        else:
            blog_template = 'blog/new_user.html'
            add_entry_to_blog(new_user, '%s just joined' % new_user.username, blog_template, date_field='date_joined')

        # Make sure there is a profile
        try:
            profile = new_user.profile
        except Profile.DoesNotExist:
            profile = Profile(user=new_user, display_name=new_user.username)
            profile.save()
Exemplo n.º 7
0
def blog_unlurked_user(unlurked_user):
    if is_real_user(unlurked_user):
        blog_template = 'blog/unlurked_user.html'
        add_entry_to_blog(unlurked_user, '%s just unlurked' %
                unlurked_user.username, blog_template, date_field='date_joined')