django.utils.translation.ugettext

Here are the examples of the python api django.utils.translation.ugettext taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

160 Examples 7

Example 1

Project: django-clever-selects Source File: views.py
Function: get_choices
    def get_choices(self):
        choices = []
        try:
            model = BrandModel.objects.get(pk=self.parent_value)
            if 'Sportback' in model.title or 'Cabrio' in model.title or 'Coupe' in model.title:
                return [
                    ('RED', ugettext(u'red')),
                    ('WHITE', ugettext(u'white')),
                    ('BLACK', ugettext(u'black')),
                    ('YELLOW', ugettext(u'yellow')),
                    ('SILVER', ugettext(u'silver')),
                ]
            for color in Car.COLORS:
                choices.append((color[0], ugettext(color[1])))
            return choices
        except (ObjectDoesNotExist, KeyError):
            return []

Example 2

Project: Resmin Source File: utils.py
Function: format_quote
def format_quote(sender, body):
    """
    Wraps text at 55 chars and prepends each
    line with `> `.
    Used for quoting messages in replies.
    """
    lines = wrap(body, 55).split('\n')
    for i, line in enumerate(lines):
        lines[i] = "> %s" % line
    quote = '\n'.join(lines)
    return ugettext(u"%(sender)s wrote:\n%(body)s") % {
        'sender': sender,
        'body': quote
    }

Example 3

Project: django-admin2 Source File: models.py
Function: str
    def __str__(self):
        if self.action_flag == self.ADDITION:
            return ugettext('Added "%(object)s".') % {
                'object': self.object_repr}
        elif self.action_flag == self.CHANGE:
            return ugettext('Changed "%(object)s" - %(changes)s') % {
                'object': self.object_repr,
                'changes': self.change_message,
            }
        elif self.action_flag == self.DELETION:
            return ugettext('Deleted "%(object)s."') % {
                'object': self.object_repr}

        return ugettext('LogEntry Object')

Example 4

Project: django-vies Source File: types.py
    def verify_regex(self):
        country = dict(map(
            lambda x, y: (x, y), ('country', 'validator', 'formatter'),
            VIES_OPTIONS[self.country_code]
        ))
        if not country['validator'].match("%s%s" % (self.country_code, self.number)):
            msg = ugettext("%s does not match the countries VAT ID specifications.")
            raise ValidationError(msg % self)

Example 5

Project: django-inviting Source File: views.py
@staff_member_required
def reward(request):
    """
    Add invitations to users with high invitation performance and redirect
    refferring page.
    """
    rewarded_users, invitations_given = InvitationStats.objects.reward()
    if rewarded_users:
        message = ugettext(u'%(users)s users are given a total of ' \
                           u'%(invitations)s invitations.') % {
                                            'users': rewarded_users,
                                            'invitations': invitations_given}
    else:
        message = ugettext(u'No user has performance above ' \
                           u'threshold, no invitations awarded.')
    request.user.message_set.create(message=message)
    return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))

Example 6

Project: django-secure-auth Source File: adminsite.py
Function: log_in
    @never_cache
    def login(self, request, extra_context=None):
        context = {
            'title': ugettext('Log in'),
            'app_path': request.get_full_path(),
            REDIRECT_FIELD_NAME: request.get_full_path(),
        }
        context.update(extra_context or {})

        defaults = {
            'extra_context': context,
            'current_app': self.name,
            'authentication_form': self.login_form,
            'template_name': self.login_template,
            'redirect_to': request.get_full_path(),
        }
        return login(request, **defaults)

Example 7

Project: acacia_main Source File: user_sessions.py
Function: location
@register.filter
def location(value):
    """
    Transform an IP address into an approximate location.

    Example output:

    * Zwolle, The Netherlands
    * ``<i>unknown</i>``
    """
    location = geoip() and geoip().city(value)
    if location and location['country_name']:
        if location['city']:
            return '%s, %s' % (location['city'], location['country_name'])
        else:
            return location['country_name']
    return mark_safe('<i>%s</i>' % ugettext('unknown'))

Example 8

Project: django-mongodbforms Source File: documents.py
    def get_date_error_message(self, date_check):
        return ugettext("Please correct the duplicate data for %(field_name)s "
                        "which must be unique for the %(lookup)s "
                        "in %(date_field)s.") % {
            'field_name': date_check[2],
            'date_field': date_check[3],
            'lookup': str(date_check[1]),
        }

Example 9

Project: oioioi Source File: views.py
Function: translate_view
@require_GET
@vary_on_headers('Content-Language')
@vary_on_cookie
@cache_control(public=True, max_age=900)
@jsonify
def translate_view(request):
    if 'query' in request.GET:
        return {'answer': ugettext(request.GET['query'])}
    else:
        raise SuspiciousOperation

Example 10

Project: openode Source File: functions.py
def config_choice_values(group, key, skip_missing=True, translate=False):
    """Get pairs of key, label from the setting."""
    try:
        cfg = config_get(group, key)
        choices = cfg.choice_values

    except SettingNotSet:
        if skip_missing:
            return []
        else:
            raise SettingNotSet('%s.%s' % (group, key))

    if translate:
        choices = [(k, ugettext(v)) for k, v in choices]

    return choices

Example 11

Project: SmartElect Source File: models.py
    def sent_to(self):
        """Return audience/recipients (for staff/admin template)"""
        audience_display = self.get_audience_display()
        if self.audience == self.SINGLE_CENTER and self.center:
            audience = ugettext("Registrants in Center")
            return "{0} {1}".format(audience, self.center.id)
        return audience_display

Example 12

Project: ella Source File: admin.py
Function: show_title
    def show_title(self, obj):
        if not obj.target:
            return '-- %s --' % ugettext('empty position')
        else:
            return u'%s [%s]' % (
                getattr(obj.target, 'title', obj.target),
                ugettext(obj.target_ct.name),
            )

Example 13

Project: django-widgy Source File: models.py
def untitled_form():
    untitled = ugettext('Untitled form')
    n = Form.objects.filter(name__startswith=untitled + ' ').exclude(
        _nodes__is_frozen=True
    ).count() + 1
    return '%s %d' % (untitled, n)

Example 14

Project: django-safety Source File: resolvers.py
Function: location
def location(request):
    """
    Transform an IP address into an approximate location.
    """
    ip = utils.resolve(app_settings.IP_RESOLVER, request)

    try:
        location = GeoIP() and GeoIP().city(ip)
    except:
        # Handle 127.0.0.1 and not found IPs
        return ugettext('unknown')

    if location and location['country_name']:
        if location['city']:
            return '%s, %s' % (location['city'], location['country_name'])
        else:
            return location['country_name']

    return ugettext('unknown')

Example 15

Project: django-misc Source File: share_buttons.py
@register.simple_tag
def tweet_it(request, url, title):
    return mark_safe("""
        <div class="twitter">
            <a href="http://twitter.com/home/?%s" title="%s" target="_blank"></a>
        </div>    
    """ % (urllib.urlencode({'status': title + (u" " + url + u" #escalibro").encode('utf-8')}), ugettext("Tweet it")))

Example 16

Project: django-attachments Source File: views.py
Function: delete_attachment
@login_required
def delete_attachment(request, attachment_pk):
    g = get_object_or_404(Attachment, pk=attachment_pk)
    if (
        (request.user.has_perm('attachments.delete_attachment') and
        request.user == g.creator)
    or
        request.user.has_perm('attachments.delete_foreign_attachments')
    ):
        g.delete()
        messages.success(request, ugettext('Your attachment was deleted.'))
    next = request.GET.get('next') or '/'
    return HttpResponseRedirect(next)

Example 17

Project: django-treemenus Source File: models.py
Function: save
    def save(self, force_insert=False, **kwargs):
        if not self.root_item:
            root_item = MenuItem()
            root_item.caption = ugettext('root')
            if not self.pk:  # If creating a new object (i.e does not have a pk yet)
                super(Menu, self).save(force_insert, **kwargs)  # Save, so that it gets a pk
                force_insert = False
            root_item.menu = self
            root_item.save()  # Save, so that it gets a pk
            self.root_item = root_item
        super(Menu, self).save(force_insert, **kwargs)

Example 18

Project: django-mutant Source File: test_forms.py
Function: test_choices
    def test_choices(self):
        with self.assertNumQueries(0):
            field = FieldDefinitionTypeField(
                ContentType.objects.filter(pk__in=[
                    self.field_definition_ct.pk, self.custom_field_ct.pk
                ]).order_by('pk'), group_by_category=False, empty_label='Empty'
            )
        self.assertEqual(
            list(field.choices), [
                ('', 'Empty'),
            ] + sorted([
                (self.field_definition_ct.pk, 'None'),
                (self.custom_field_ct.pk, ugettext('Custom description'))
            ])
        )

Example 19

Project: saleor Source File: forms.py
Function: clean_email
    def clean_email(self):
        email = self.cleaned_data['email']
        if User.objects.filter(email=email).exists():
            raise forms.ValidationError(
                ugettext('Account with this email already exists'))
        return self.cleaned_data['email']

Example 20

Project: django-jstemplate Source File: preprocessors.py
    def translate_short_form(self, match):
        """Translate a result of matching the compiled trans_re pattern."""
        tag = match.group('tag')
        msg = match.group('msg')
        msg = ugettext(msg) if len(msg) > 0 else ''
        string = match.group('left').replace(tag, '', 1) + msg + match.group('right')
        return string

Example 21

Project: Open-Knesset Source File: models.py
    @property
    def is_minister(self):
        """Check if one of the roles starts with minister"""

        # TODO Once we have roles table change this
        minister = ugettext('Minister')
        return any(x.startswith(minister) for x in self.roles)

Example 22

Project: django-lfs Source File: models.py
Function: unicode
    def __unicode__(self):
        """ We're using force unicode as this basically fails:
               from django.utils import translation
               from django.utils.translation import ugettext_lazy as _
               translation.activate('pl')
               u'test: %s' % _('Payment method')
        """
        return ugettext("%(name)s: %(operator)s %(value)s") % {
            'name': force_unicode(self.get_name()),
            'operator': force_unicode(self.get_current_operator_as_string()),
            'value': force_unicode(self.get_value_as_string())
        }

Example 23

Project: django-oscar Source File: basket_tests.py
    def test_adding_more_than_threshold_raises(self):
        dummy_product = create_product(price=D('10.00'), num_in_stock=10)
        url = reverse('basket:add', kwargs={'pk': dummy_product.pk})
        post_params = {'product_id': dummy_product.id,
                       'action': 'add',
                       'quantity': 2}
        response = self.client.post(url, post_params)
        self.assertTrue('oscar_open_basket' in response.cookies)
        post_params = {'product_id': dummy_product.id,
                       'action': 'add',
                       'quantity': 2}
        response = self.client.post(url, post_params)

        expected = ugettext(
            "Due to technical limitations we are not able to ship more "
            "than %(threshold)d items in one order. Your basket currently "
            "has %(basket)d items."
        ) % ({'threshold': 3, 'basket': 2})
        self.assertTrue(expected in response.cookies['messages'].value)

Example 24

Project: pycontw2016 Source File: renderers.py
def render_keynoteevent(e):
    return format_html(
        '<div class="slot-item__content talk">'
        '<div class="slot-item__title">{title}</div>'
        '<a href="{link}" class="talk__speaker">{speaker}</a>'
        '</div>',
        title=ugettext('Keynote'),
        link=e.get_absolute_url(),
        speaker=e.speaker_name,
    )

Example 25

Project: peer Source File: feeds.py
    def item_description(self, item):
        if item.metadata:
            formatter = HtmlFormatter(linenos=False,
                                      outencoding=settings.DEFAULT_CHARSET)
            if item.has_metadata():
                xml = item.metadata.read()
                return highlight(xml, XmlLexer(), formatter)
            else:
                return ugettext(u'No metadata yet')

Example 26

Project: xadmin Source File: models.py
Function: str
    def __str__(self):
        if self.action_flag == 'create':
            return ugettext('Added "%(object)s".') % {'object': self.object_repr}
        elif self.action_flag == 'change':
            return ugettext('Changed "%(object)s" - %(changes)s') % {
                'object': self.object_repr,
                'changes': self.message,
            }
        elif self.action_flag == 'delete' and self.object_repr:
            return ugettext('Deleted "%(object)s."') % {'object': self.object_repr}

        return self.message

Example 27

Project: django-reversion Source File: models.py
    @cached_property
    def _object_version(self):
        data = self.serialized_data
        data = force_text(data.encode("utf8"))
        try:
            return list(serializers.deserialize(self.format, data, ignorenonexistent=True))[0]
        except DeserializationError:
            raise RevertError(ugettext("Could not load %(object_repr)s version - incompatible version data.") % {
                "object_repr": self.object_repr,
            })
        except serializers.SerializerDoesNotExist:
            raise RevertError(ugettext("Could not load %(object_repr)s version - unknown serializer %(format)s.") % {
                "object_repr": self.object_repr,
                "format": self.format,
            })

Example 28

Project: feincms-elephantblog Source File: models.py
    def __str__(self):
        try:
            translation = self.translation
        except models.ObjectDoesNotExist:
            return ugettext('Unnamed category')

        if translation:
            return '%s' % translation

        return ugettext('Unnamed category')

Example 29

Project: taiga-back Source File: fields.py
Function: to_native
    def to_native(self, value):
        ret = super(CharField, self).to_native(value)
        if self.i18n:
            ret = ugettext(ret)

        return ret

Example 30

Project: sentry Source File: exceptions.py
Function: unicode
    def __unicode__(self):
        if self.message == 'access_denied':
            return ugettext(u'Authentication process was cancelled')
        else:
            return ugettext(u'Authentication failed: %s') % \
                super(AuthFailed, self).__unicode__()

Example 31

Project: django-simple-accounting Source File: models.py
Function: is_member
    def is_member(self, gas):
        """
        Return ``True`` if this person is member of GAS ``gas``, ``False`` otherwise. 
        
        If ``gas`` is not a ``GAS`` model instance, raise ``TypeError``.
        """
        if not isinstance(self, GAS):
            raise TypeError(ugettext(u"GAS membership can only be tested against a GAS model instance"))
        return gas in [member.gas for member in self.gas_memberships]        

Example 32

Project: pybbm Source File: forms.py
Function: clean
    def clean(self):
        poll_type = self.cleaned_data.get('poll_type', None)
        poll_question = self.cleaned_data.get('poll_question', None)
        if poll_type is not None and poll_type != Topic.POLL_TYPE_NONE and not poll_question:
            raise forms.ValidationError(ugettext('Poll''s question is required when adding a poll'))

        return self.cleaned_data

Example 33

Project: django-event-rsvp Source File: models.py
Function: unicode
    def __unicode__(self):
        if self.user:
            return '{0} - {1}'.format(
                self.user.get_full_name() or self.user.email, self.event)
        elif self.name or self.email:
            return '{0} - {1}'.format(self.name or self.email, self.event)
        return '{0} - {1}'.format(ugettext('anonymous'), self.event)

Example 34

Project: RandoAmisSecours Source File: models.py
Function: clean
    def clean(self):
        if self.provider_data:
            try:
                json.loads(self.provider_data)
            except Exception:
                raise ValidationError({'provider_data': [ugettext('This should be JSON serialized')]})

        if self.timezone == 'UTC':
            raise ValidationError({'timezone': [ugettext('UTC is not valid timezone')]})

Example 35

Project: crowdata Source File: models.py
    def admin_links(self):
        kw = {"args": (self.id,)}
        links = [
            (_("Export all answers to CSV"), reverse("admin:docuement_set_answers_csv", **kw)),
            (_("Add Docuements to this docuement set"), reverse("admin:docuement_set_add_docuements", **kw)),
            (_("Update Canons to this docuement set"), reverse("admin:docuement_set_update_canons", **kw))
        ]
        for i, (text, url) in enumerate(links):
            links[i] = "<a href='%s'>%s</a>" % (url, ugettext(text))
        return "<br>".join(links)

Example 36

Project: django-logdb Source File: admin.py
Function: change_view
    def change_view(self, request, object_id, extra_context=None):
        djangologdb_context = {
            'djangologdb_settings': djangologdb_settings,
            'aggregate': 'checksum',
            'title': ugettext('View %s') % force_unicode(self.opts.verbose_name),
        }
        return super(LogAggregateOptions, self).change_view(request, object_id, extra_context=djangologdb_context)

Example 37

Project: django-two-factor-auth Source File: gateway.py
Function: send_sms
    def send_sms(self, device, token):
        body = ugettext('Your authentication token is %s') % token
        self.client.sms.messages.create(
            to=device.number.as_e164,
            from_=getattr(settings, 'TWILIO_CALLER_ID'),
            body=body)

Example 38

Project: djangocms-cascade Source File: widgets.py
    def compile_validation_pattern(self, units=None):
        """
        Assure that passed in units are valid size units, or if missing, use all possible units.
        Return a tuple with a regular expression to be used for validating and an error message
        in case this validation failed.
        """
        if units is None:
            units = list(self.POSSIBLE_UNITS)
        else:
            for u in units:
                if u not in self.POSSIBLE_UNITS:
                    raise ValidationError('{} is not a valid unit for a size field'.format(u))
        regex = re.compile(r'^(-?\d+)({})$'.format('|'.join(units)))
        endings = (' %s ' % ugettext("or")).join("'%s'" % u.replace('%', '%%') for u in units)
        params = {'label': '%(label)s', 'value': '%(value)s', 'field': '%(field)s', 'endings': endings}
        return regex, self.invalid_message % params

Example 39

Project: shuup Source File: general.py
@contextfunction
def get_shop_language_choices(context):
    languages = []
    for code, name in settings.LANGUAGES:
        lang_info = get_language_info(code)
        name_in_current_lang = ugettext(name)
        local_name = lang_info["name_local"]
        languages.append((code, name_in_current_lang, local_name))
    return languages

Example 40

Project: django-scheduler Source File: events.py
    def __str__(self):
        return ugettext('%(title)s: %(start)s - %(end)s') % {
            'title': self.title,
            'start': date(self.start, django_settings.DATE_FORMAT),
            'end': date(self.end, django_settings.DATE_FORMAT),
        }

Example 41

Project: dj-dynamic-forms Source File: actions.py
Function: dynamic_form_send_email
@formmodel_action(ugettext('Send via email'))
def dynamic_form_send_email(form_model, form):
    mapped_data = form.get_mapped_data()

    subject = _('Form “%(formname)s” submitted') % {'formname': form_model}
    message = render_to_string('dynamic_forms/email.txt', {
        'form': form_model,
        'data': sorted(mapped_data.items()),
    })
    from_email = settings.DEFAULT_FROM_EMAIL
    recipient_list = settings.DYNAMIC_FORMS_EMAIL_RECIPIENTS
    send_mail(subject, message, from_email, recipient_list)

Example 42

Project: django-simple-friends Source File: views.py
Function: get
    def get(self, request, username, *args, **kwargs):
        if request.user.username == username:
            return HttpResponseBadRequest(
                ugettext(u'You can\'t befriend yourself.'),
            )
        user = get_object_or_404(User, username=username)
        self.action(request, user, *args, **kwargs)
        self.set_url(request, **kwargs)
        return super(BaseActionView, self).get(request, **kwargs)

Example 43

Project: ThreatIntel Source File: presentation.py
Function: as_table
    def as_table(self):
        val = "<table><thead><tr>"
        for v in self._ctags:
            cell = html.escape(ugettext(v))
            val += "<th>{0}</th>".format(cell)
        val += "</tr></thead><tbody>"
        for v in self:
            val += "<tr>"
            for e in v:
                cell = present(e)
                val += "<td>{0}</td>".format(cell)
            val += "</tr>"
        val += "</tbody></table>"
        return val

Example 44

Project: aldryn-blog Source File: forms.py
Function: report_error
    def report_error(self, conflict):
        address = '<a href="%(url)s" target="_blank">%(label)s</a>' % {
            'url': conflict.master.get_absolute_url(),
            'label': ugettext('the conflicting object')}
        error_message = ugettext('Conflicting slug. See %(address)s.') % {'address': address}
        self.append_to_errors(field='slug', message=mark_safe(error_message))

Example 45

Project: cartridge Source File: models.py
Function: invoice
    def invoice(self):
        """
        Returns the HTML for a link to the PDF invoice for use in the
        order listing view of the admin.
        """
        url = reverse("shop_invoice", args=(self.id,))
        text = ugettext("Download PDF invoice")
        return "<a href='%s?format=pdf'>%s</a>" % (url, text)

Example 46

Project: aldryn-newsblog Source File: models.py
Function: str
    def __str__(self):
        if not self.pk:
            return 'featured articles'
        prefix = self.app_config.get_app_title()
        if self.article_count == 1:
            title = ugettext('featured article')
        else:
            title = ugettext('featured articles: %(count)s') % {
                'count': self.article_count,
            }
        return '{0} {1}'.format(prefix, title)

Example 47

Project: talk.org Source File: create_update.py
def create_object(request, model, template_name=None,
        template_loader=loader, extra_context=None, post_save_redirect=None,
        login_required=False, follow=None, context_processors=None):
    """
    Generic object-creation function.

    Templates: ``<app_label>/<model_name>_form.html``
    Context:
        form
            the form wrapper for the object
    """
    if extra_context is None: extra_context = {}
    if login_required and not request.user.is_authenticated():
        return redirect_to_login(request.path)

    manipulator = model.AddManipulator(follow=follow)
    if request.POST:
        # If data was POSTed, we're trying to create a new object
        new_data = request.POST.copy()

        if model._meta.has_field_type(FileField):
            new_data.update(request.FILES)

        # Check for errors
        errors = manipulator.get_validation_errors(new_data)
        manipulator.do_html2python(new_data)

        if not errors:
            # No errors -- this means we can save the data!
            new_object = manipulator.save(new_data)

            if request.user.is_authenticated():
                request.user.message_set.create(message=ugettext("The %(verbose_name)s was created successfully.") % {"verbose_name": model._meta.verbose_name})

            # Redirect to the new object: first by trying post_save_redirect,
            # then by obj.get_absolute_url; fail if neither works.
            if post_save_redirect:
                return HttpResponseRedirect(post_save_redirect % new_object.__dict__)
            elif hasattr(new_object, 'get_absolute_url'):
                return HttpResponseRedirect(new_object.get_absolute_url())
            else:
                raise ImproperlyConfigured("No URL to redirect to from generic create view.")
    else:
        # No POST, so we want a brand new form without any data or errors
        errors = {}
        new_data = manipulator.flatten_data()

    # Create the FormWrapper, template, context, response
    form = oldforms.FormWrapper(manipulator, new_data, errors)
    if not template_name:
        template_name = "%s/%s_form.html" % (model._meta.app_label, model._meta.object_name.lower())
    t = template_loader.get_template(template_name)
    c = RequestContext(request, {
        'form': form,
    }, context_processors)
    for key, value in extra_context.items():
        if callable(value):
            c[key] = value()
        else:
            c[key] = value
    return HttpResponse(t.render(c))

Example 48

Project: django-allauth Source File: forms.py
Function: init
    def __init__(self, *args, **kwargs):
        email_required = kwargs.pop('email_required',
                                    app_settings.EMAIL_REQUIRED)
        self.username_required = kwargs.pop('username_required',
                                            app_settings.USERNAME_REQUIRED)
        super(BaseSignupForm, self).__init__(*args, **kwargs)
        username_field = self.fields['username']
        username_field.max_length = get_username_max_length()
        username_field.validators.append(
            validators.MaxLengthValidator(username_field.max_length))
        username_field.widget.attrs['maxlength'] = str(
            username_field.max_length)

        # field order may contain additional fields from our base class,
        # so take proper care when reordering...
        field_order = ['email', 'username']
        if app_settings.SIGNUP_EMAIL_ENTER_TWICE:
            self.fields["email2"] = forms.EmailField(
                label=_("E-mail (again)"),
                widget=forms.TextInput(
                    attrs={
                        'type': 'email',
                        'placeholder': _('E-mail address confirmation')
                    }
                )
            )
            field_order = ['email', 'email2', 'username']
        merged_field_order = list(self.fields.keys())
        if email_required:
            self.fields['email'].label = ugettext("E-mail")
            self.fields['email'].required = True
        else:
            self.fields['email'].label = ugettext("E-mail (optional)")
            self.fields['email'].required = False
            self.fields['email'].widget.is_required = False
            if self.username_required:
                field_order = ['username', 'email']
                if app_settings.SIGNUP_EMAIL_ENTER_TWICE:
                    field_order.append('email2')

        # Merge our email and username fields in if they are not
        # currently in the order.  This is to allow others to
        # re-arrange email and username if they desire.  Go in reverse
        # so that we make sure the inserted items are always
        # prepended.
        for field in reversed(field_order):
            if field not in merged_field_order:
                merged_field_order.insert(0, field)
        set_form_field_order(self, merged_field_order)
        if not self.username_required:
            del self.fields["username"]

Example 49

Project: talk.org Source File: timesince.py
Function: time_since
def timesince(d, now=None):
    """
    Takes two datetime objects and returns the time between d and now
    as a nicely formatted string, e.g. "10 minutes".  If d occurs after now,
    then "0 minutes" is returned.

    Units used are years, months, weeks, days, hours, and minutes.
    Seconds and microseconds are ignored.  Up to two adjacent units will be
    displayed.  For example, "2 weeks, 3 days" and "1 year, 3 months" are
    possible outputs, but "2 weeks, 3 hours" and "1 year, 5 days" are not.

    Adapted from http://blog.natbat.co.uk/archive/2003/Jun/14/time_since
    """
    chunks = (
      (60 * 60 * 24 * 365, lambda n: ungettext('year', 'years', n)),
      (60 * 60 * 24 * 30, lambda n: ungettext('month', 'months', n)),
      (60 * 60 * 24 * 7, lambda n : ungettext('week', 'weeks', n)),
      (60 * 60 * 24, lambda n : ungettext('day', 'days', n)),
      (60 * 60, lambda n: ungettext('hour', 'hours', n)),
      (60, lambda n: ungettext('minute', 'minutes', n))
    )
    # Convert datetime.date to datetime.datetime for comparison
    if d.__class__ is not datetime.datetime:
        d = datetime.datetime(d.year, d.month, d.day)
    if now:
        t = now.timetuple()
    else:
        t = time.localtime()
    if d.tzinfo:
        tz = LocalTimezone(d)
    else:
        tz = None
    now = datetime.datetime(t[0], t[1], t[2], t[3], t[4], t[5], tzinfo=tz)

    # ignore microsecond part of 'd' since we removed it from 'now'
    delta = now - (d - datetime.timedelta(0, 0, d.microsecond))
    since = delta.days * 24 * 60 * 60 + delta.seconds
    if since <= 0:
        # d is in the future compared to now, stop processing.
        return u'0 ' + ugettext('minutes')
    for i, (seconds, name) in enumerate(chunks):
        count = since // seconds
        if count != 0:
            break
    s = ugettext('%(number)d %(type)s') % {'number': count, 'type': name(count)}
    if i + 1 < len(chunks):
        # Now get the second item
        seconds2, name2 = chunks[i + 1]
        count2 = (since - (seconds * count)) // seconds2
        if count2 != 0:
            s += ugettext(', %(number)d %(type)s') % {'number': count2, 'type': name2(count2)}
    return s

Example 50

Project: talk.org Source File: create_update.py
def update_object(request, model, object_id=None, slug=None,
        slug_field='slug', template_name=None, template_loader=loader,
        extra_context=None, post_save_redirect=None,
        login_required=False, follow=None, context_processors=None,
        template_object_name='object'):
    """
    Generic object-update function.

    Templates: ``<app_label>/<model_name>_form.html``
    Context:
        form
            the form wrapper for the object
        object
            the original object being edited
    """
    if extra_context is None: extra_context = {}
    if login_required and not request.user.is_authenticated():
        return redirect_to_login(request.path)

    # Look up the object to be edited
    lookup_kwargs = {}
    if object_id:
        lookup_kwargs['%s__exact' % model._meta.pk.name] = object_id
    elif slug and slug_field:
        lookup_kwargs['%s__exact' % slug_field] = slug
    else:
        raise AttributeError("Generic edit view must be called with either an object_id or a slug/slug_field")
    try:
        object = model.objects.get(**lookup_kwargs)
    except ObjectDoesNotExist:
        raise Http404, "No %s found for %s" % (model._meta.verbose_name, lookup_kwargs)

    manipulator = model.ChangeManipulator(getattr(object, object._meta.pk.attname), follow=follow)

    if request.POST:
        new_data = request.POST.copy()
        if model._meta.has_field_type(FileField):
            new_data.update(request.FILES)
        errors = manipulator.get_validation_errors(new_data)
        manipulator.do_html2python(new_data)
        if not errors:
            object = manipulator.save(new_data)

            if request.user.is_authenticated():
                request.user.message_set.create(message=ugettext("The %(verbose_name)s was updated successfully.") % {"verbose_name": model._meta.verbose_name})

            # Do a post-after-redirect so that reload works, etc.
            if post_save_redirect:
                return HttpResponseRedirect(post_save_redirect % object.__dict__)
            elif hasattr(object, 'get_absolute_url'):
                return HttpResponseRedirect(object.get_absolute_url())
            else:
                raise ImproperlyConfigured("No URL to redirect to from generic create view.")
    else:
        errors = {}
        # This makes sure the form acurate represents the fields of the place.
        new_data = manipulator.flatten_data()

    form = oldforms.FormWrapper(manipulator, new_data, errors)
    if not template_name:
        template_name = "%s/%s_form.html" % (model._meta.app_label, model._meta.object_name.lower())
    t = template_loader.get_template(template_name)
    c = RequestContext(request, {
        'form': form,
        template_object_name: object,
    }, context_processors)
    for key, value in extra_context.items():
        if callable(value):
            c[key] = value()
        else:
            c[key] = value
    response = HttpResponse(t.render(c))
    populate_xheaders(request, response, model, getattr(object, object._meta.pk.attname))
    return response
See More Examples - Go to Next Page
Page 1 Selected Page 2 Page 3 Page 4