equal
deleted
inserted
replaced
1 # -*- coding: utf-8 -*- |
1 # -*- coding: utf-8 -*- |
2 from .models import Term, TermLabel, TERM_URL_STATUS_DICT |
2 from .models import Term, TermLabel, TERM_URL_STATUS_DICT |
|
3 from core.models.term import TERM_WK_LINK_SEMANTIC_LEVEL_DICT |
3 from django.conf import settings |
4 from django.conf import settings |
4 from django.utils.http import urlquote |
5 from django.utils.http import urlquote |
|
6 from urlparse import urlparse |
5 from wikitools import api, wiki |
7 from wikitools import api, wiki |
6 import logging |
8 import logging |
7 from core.models.term import TERM_WK_LINK_SEMANTIC_LEVEL_DICT |
9 import urllib2 |
8 |
10 |
9 logger = logging.getLogger(__name__) |
11 logger = logging.getLogger(__name__) |
10 site = None |
12 site = None |
11 |
13 |
12 def __get_site(): |
14 def __get_site(): |
170 if site == None: |
172 if site == None: |
171 site = wiki.Wiki(settings.WIKIPEDIA_API_URL) # @UndefinedVariable |
173 site = wiki.Wiki(settings.WIKIPEDIA_API_URL) # @UndefinedVariable |
172 |
174 |
173 if not label: |
175 if not label: |
174 label = term.label |
176 label = term.label |
|
177 elif label.startswith(settings.WIKIPEDIA_PAGE_URL): |
|
178 url_parts = urlparse(label) |
|
179 label = urllib2.unquote(str(url_parts.path.split('/')[-1])).decode("utf-8") |
|
180 |
175 wp_res = query_wikipedia_title(site, label=label) |
181 wp_res = query_wikipedia_title(site, label=label) |
176 new_label = wp_res['new_label'] |
182 new_label = wp_res['new_label'] |
177 alternative_label= wp_res['alternative_label'] |
183 alternative_label= wp_res['alternative_label'] |
178 status = wp_res['status'] |
184 status = wp_res['status'] |
179 url = wp_res['wikipedia_url'] |
185 url = wp_res['wikipedia_url'] |