diff --git a/trademark/landing/api.py b/trademark/landing/api.py index dd7e847..4aa3a33 100644 --- a/trademark/landing/api.py +++ b/trademark/landing/api.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- import random import pymorphy2 -from trademark.models import Trademark, Product +from trademark.models import Trademark, Product, Nice from django.http import HttpResponse import json @@ -30,7 +30,10 @@ def _get_dic_words(words): return words_dict -def get_notation(list_words, normalize=False): +def get_notation(list_words, normalize=False, t=0): + + if t: + print 't', list_words if len(list_words) > 1: notation = list_words[random.randint(0, len(list_words) - 1)] @@ -38,14 +41,18 @@ def get_notation(list_words, normalize=False): notation = list_words[0] if normalize: - morph = pymorphy2.MorphAnalyzer().parse(notation)[0] + print 'normalize 44', notation, notation[0], notation[1] + + morph = pymorphy2.MorphAnalyzer().parse(notation[0])[0] try: - result = morph.inflect({'plur', 'nomn'}).word + result = morph.inflect({'plur', 'nomn'}).word, notation[1] except: - result = get_notation(list_words, normalize=True) + result = get_notation(list_words, normalize=True, t=1) else: - result = notation - result = result.capitalize() + # print notation + result = notation[0], notation[1] + + result = result[0].capitalize(), result[1] return result @@ -61,6 +68,7 @@ def get_lists_for_notation(trademark): products = trademark.products.all() for product in products: if product: + nice_id = product.nice_id product_phrase = product.title.split(',') for phrase in product_phrase: @@ -75,21 +83,21 @@ def get_lists_for_notation(trademark): replace('\n', '') if len(words.split()) == 1: - _words.append(words.replace(' ', '')) + _words.append((words.replace(' ', ''), nice_id)) fraction_phrase = words.lower().split(' ') for word in fraction_phrase: p = morph.parse(word)[0] if len(word) >= 3 and p.tag.POS == 'NOUN': - _generic_words.append(p.normal_form) + _generic_words.append((p.normal_form, nice_id)) except Product.DoesNotExist: return False, False - return _words, _generic_words def get_random_list_trademarks(request, status='Expired', count=10): + ico = '' notation = '' trademark_list = [] @@ -101,17 +109,26 @@ def get_random_list_trademarks(request, status='Expired', count=10): if words: notation = get_notation(words) + # print 'words', notation, notation[1] if not words and generic_words: + # print generic_words notation = get_notation(generic_words, normalize=True) - + # print 'generic_words', notation, notation[0], notation[1] if notation: - brand = u'{notation} "{title}"'.format(notation=notation, title=trademark) - # print u'%s' % notation + u' "%s"' % trademark + brand = u'{notation} "{title} "'.format(notation=notation[0], title=trademark) + # print u'%s' % notation[0] + u' "%s"' % trademark + try: + pass + # print notation[1] + # print notation + ico = Nice.objects.get(nice_id=notation[1]).glyph + except Nice.DoesNotExist: + ico = 'fa-snowflake-o' else: brand = u'{}'.format(trademark) trademark_list.append({'name': brand, - 'ico': 'fa' + 'ico': u'fa {}'.format(ico) }) response = {'count': len(trademark_list), 'status': 'ok', 'items': trademark_list}