コード例 #1
0
ファイル: test_utils.py プロジェクト: Fjoerfoks/zamboni
 def test_langid(self):
     eq_(guess_language(u'I thought it had no texture.'), 'en')
     eq_(guess_language(
         u'Je peux manger du verre, cela ne me fait pas mal'), 'fr')
     eq_(guess_language(u'На всех не угоди́шь'), 'ru')
     eq_(guess_language(u'角を矯めて牛を殺す'), 'ja')
     eq_(guess_language(u'您要点什么'), 'zh')
     eq_(guess_language(
         u'Esta muy bien este juego, se lo recomiendo a todos'), 'es')
     eq_(guess_language(
         u'Esperimentem que vocês irão aprovar tambem!'), 'pt')
コード例 #2
0
    def validate(self, attrs):
        if not getattr(self, 'object'):
            # If we are creating a rating, then we need to do various checks on
            # the app. Because these checks need the version as well, we have
            # to do them here and not in validate_app().

            # Assign user and ip_address. It won't change once the review is
            # created.
            user = self.request.user
            attrs['user'] = user
            attrs['ip_address'] = self.request.META.get('REMOTE_ADDR', '')
            guessed_lang = guess_language(attrs['body'])
            if guessed_lang is None:
                attrs['lang'] = user.lang
            else:
                attrs['lang'] = guessed_lang

            # If the app is packaged, add in the current version.
            if attrs['addon'].is_packaged:
                attrs['version'] = attrs['addon'].current_version

            # Return 409 if the user has already reviewed this app.
            app = attrs['addon']
            qs = self.context['view'].queryset.filter(addon=app, user=user)
            if app.is_packaged:
                qs = qs.filter(version=attrs['version'])
            if qs.exists():
                raise Conflict('You have already reviewed this app.')

            # Return 403 is the app is not public.
            if not app.is_public():
                raise PermissionDenied('The app requested is not public.')

            # Return 403 if the user is attempting to review their own app.
            if app.has_author(user):
                raise PermissionDenied('You may not review your own app.')

            # Return 403 if not a free app and the user hasn't purchased it.
            if app.is_premium() and not app.is_purchased(user):
                raise PermissionDenied("You may not review paid apps you "
                                       "haven't purchased.")

            # Return 403 if the app is not available in the current region.
            current_region = get_region()
            if not app.listed_in(region=current_region):
                raise PermissionDenied('App not available in region "%s".' %
                                       current_region.slug)

        return attrs
コード例 #3
0
ファイル: test_utils.py プロジェクト: waseem18/zamboni
 def test_langid(self):
     eq_(guess_language(u'I thought it had no texture.'), 'en')
     eq_(
         guess_language(
             u'Je peux manger du verre, cela ne me fait pas mal'), 'fr')
     eq_(guess_language(u'На всех не угоди́шь'), 'ru')
     eq_(guess_language(u'角を矯めて牛を殺す'), 'ja')
     eq_(guess_language(u'您要点什么'), 'zh')
     eq_(
         guess_language(
             u'Esta muy bien este juego, se lo recomiendo a todos'), 'es')
     eq_(guess_language(u'Esperimentem que vocês irão aprovar tambem!'),
         'pt')
コード例 #4
0
ファイル: test_utils.py プロジェクト: waseem18/zamboni
 def test_keyword(self):
     eq_(guess_language(u'Muy bien'), 'es')
     eq_(guess_language(u'Muito bom o jogo!'), 'pt')
     eq_(guess_language(u'pretty good. :D'), 'en')
コード例 #5
0
ファイル: test_utils.py プロジェクト: waseem18/zamboni
 def test_no_text(self):
     eq_(guess_language(u''), None)
     eq_(guess_language(u'  '), None)
     eq_(guess_language(u',,!,[]'), None)
コード例 #6
0
ファイル: test_utils.py プロジェクト: waseem18/zamboni
 def test_unidentifiable(self):
     eq_(guess_language(u'Like it'), None)
     eq_(guess_language(u'dsfksadflkj'), None)
     eq_(guess_language(u'exelente'), None)
コード例 #7
0
ファイル: test_utils.py プロジェクト: Fjoerfoks/zamboni
 def test_keyword(self):
     eq_(guess_language(u'Muy bien'), 'es')
     eq_(guess_language(u'Muito bom o jogo!'), 'pt')
     eq_(guess_language(u'pretty good. :D'), 'en')
コード例 #8
0
ファイル: test_utils.py プロジェクト: Fjoerfoks/zamboni
 def test_no_text(self):
     eq_(guess_language(u''), None)
     eq_(guess_language(u'  '), None)
     eq_(guess_language(u',,!,[]'), None)
コード例 #9
0
ファイル: test_utils.py プロジェクト: Fjoerfoks/zamboni
 def test_unidentifiable(self):
     eq_(guess_language(u'Like it'), None)
     eq_(guess_language(u'dsfksadflkj'), None)
     eq_(guess_language(u'exelente'), None)