diff --git a/trademark/lib/poiskznakov.py b/trademark/lib/poiskznakov.py index 5afafe4..97e9079 100644 --- a/trademark/lib/poiskznakov.py +++ b/trademark/lib/poiskznakov.py @@ -1,4 +1,3 @@ -#!/usr/bin/python # -*- coding: utf-8 -*- import urllib2 @@ -75,12 +74,20 @@ class TrademarkSearchAPI(): 'module': 'search', 'procedure': 'get_result', 'search_id': search_id, - 'databases': [21] + 'databases': [21, 23] } data = self.send_request(request) if int(data['total_records_found']) > 0: - return data['records_list']['21']['records'], status + records = data['records_list'] + trademarks = {} + + if records.get('21', None): + trademarks = records['21']['records'].copy() + if records.get('23', None): + trademarks.update(records['23']['records']) + + return trademarks, status else: return None, status @@ -94,7 +101,12 @@ class TrademarkSearchAPI(): data = self.send_request(request) - return data['records_list']['21']['records'] + rospatent = data['records_list'].get('21', {}).get('records', {}) + romarin = data['records_list'].get('23', {}).get('records', {}) + + rospatent.update(romarin) + + return rospatent diff --git a/trademark/models.py b/trademark/models.py index fbdd5d3..1872230 100644 --- a/trademark/models.py +++ b/trademark/models.py @@ -13,11 +13,13 @@ from django.template.defaultfilters import slugify from datetime import date from datetime import timedelta +from dateutil.parser import parse # from .cms_appconfig import TrademarkConfig from collections import defaultdict import re + TrademarkAPI = TrademarkSearchAPI() class Owner(models.Model): @@ -96,6 +98,7 @@ class Nice(models.Model): alphabet[letter][first_word] = ', '.join([word for word in set(words) if word]) letter_items = alphabet[letter] + alphabet[letter] = sorted(letter_items.items(), key=lambda x: type(x[1])) return sorted(alphabet.items()) @@ -120,9 +123,9 @@ class Product(models.Model): class Trademark(models.Model): title = models.CharField(max_length=255, null=True) - ext_id = models.CharField(max_length=20, unique=True) - application_id = models.CharField(max_length=12, null=True) - cert_id = models.CharField(max_length=12, null=True) + ext_id = models.CharField(max_length=50, unique=True) + application_id = models.CharField(max_length=50, null=True) + cert_id = models.CharField(max_length=50, null=True) owner = models.TextField(null=True) image_url = models.URLField(null=True) nices = models.ManyToManyField(Nice) @@ -305,19 +308,40 @@ class Search(models.Model): if not created: continue - instance.title = trademark['wdesc'] - instance.application_id = trademark['appnum'] - instance.cert_id = trademark['certnum'] - instance.owner = trademark['owner'][0]['name'].encode('utf-8') + instance.title = trademark.get('wdesc', '') + + instance.application_id = trademark.get('appnum', '') + instance.cert_id = trademark.get('certnum', '') + try: + owner = trademark['owner'].pop() + name = owner.get('name', None) + addr = owner.get('addr', None) + country = owner.get('country', None) + legnat = owner.get('legnat', None) + owner_list = [item for item in set([name, legnat, addr, country]) if item] + + instance.owner = ', '.join(owner_list) + except: + pass instance.image_url = trademark.get('image', '') - instance.status = trademark['status'] + instance.status = trademark.get('status', '') - instance.application_at = trademark['dateapp'] - instance.registration_at = trademark['datereg'] + application_at = trademark.get('dateapp', None) + if application_at: + instance.application_at = parse(application_at) + registration_at = trademark.get('datereg', None) + if registration_at: + instance.registration_at = parse(registration_at) + + instance.access_key = trademark.get('access_key', '') + + try: + instance.save() + except: + print "Error" + print trademark - instance.access_key = trademark['access_key'] - instance.save() for nice_id in trademark.get('icgs', []): nice, created = Nice.objects.get_or_create(nice_id=nice_id) @@ -336,8 +360,12 @@ class Search(models.Model): for key, trademark in details.iteritems(): instance = Trademark.objects.get(ext_id=trademark['id']) instance.source_url = trademark.get('source', '') - instance.expiration_at = trademark.get('dateexp', '') - instance.renewed_at = trademark.get('renewed', '') + expiration_at = trademark.get('dateexp', None) + if expiration_at: + instance.expiration_at = expiration_at + renewed_at = trademark.get('renewed', None) + if renewed_at: + instance.renewed_at = renewed_at for nice_id, nice_description in trademark.get('icgs', {}).iteritems(): nice_obj, created = Nice.objects.get_or_create(nice_id=nice_id) diff --git a/trademark/static/trademark/less/result.less b/trademark/static/trademark/less/result.less index 658b601..8f1d8b8 100644 --- a/trademark/static/trademark/less/result.less +++ b/trademark/static/trademark/less/result.less @@ -72,6 +72,14 @@ .trademark-search-result-image { height: 100px; } + + .trademark-search-result-title { + line-height: 100px; + display: block; + font-size: 20px; + color: #000; + font-weight: bold; + } } .trademark-search-result-contains { @@ -80,7 +88,19 @@ .trademark-search-result-image { height: 60px; + + } + + .trademark-search-result-title { + line-height: 60px; + display: block; + font-size: 18px; + color: #000; + font-weight: bold; } + + + } .trademark-search-result-expired { diff --git a/trademark/templates/trademark/index.html b/trademark/templates/trademark/index.html index bad3160..3c956ff 100644 --- a/trademark/templates/trademark/index.html +++ b/trademark/templates/trademark/index.html @@ -34,7 +34,7 @@
  • -
  • {{trademark.product}} «{{trademark.name}}»
  • +
  • {{trademark.product}} «{{trademark.name}}»
  • {% endverbatim %} diff --git a/trademark/templates/trademark/nice_block_busy.html b/trademark/templates/trademark/nice_block_busy.html index e5e9dcc..ccb7095 100644 --- a/trademark/templates/trademark/nice_block_busy.html +++ b/trademark/templates/trademark/nice_block_busy.html @@ -8,7 +8,7 @@
  • {{ nice.nice_id }} класс {{ nice.title }}
  • {% else %} -
  • {{ products_busy|getitem:nice.nice_id|first }}
  • +
  • {{ nice.nice_id }} класс {% if products_busy|getitem:nice.nice_id|first %} {{ products_busy|getitem:nice.nice_id|first }} {% else %} {{ nice.title }}{% endif %}
  • {% endif %} {% endfor %} diff --git a/trademark/templates/trademark/product_detail.html b/trademark/templates/trademark/product_detail.html index 82a7439..2643025 100644 --- a/trademark/templates/trademark/product_detail.html +++ b/trademark/templates/trademark/product_detail.html @@ -28,6 +28,7 @@ +
    @@ -50,15 +51,14 @@
    -{% if trademarks_expired %} +{% if trademarks_acting %} {% endif %} -{% if trademarks_acting %} +{% if trademarks_expired %} {% endif %} +
    +