# HG changeset patch # User ymh # Date 1310087579 -7200 # Node ID 3b4a2c79524e046811f260ed28bd58ed4a849305 # Parent 17a1c2a67c5073935d07ca2abe44e64c3c6c560b desactivation lien W dans la fiche diff -r 17a1c2a67c50 -r 3b4a2c79524e web/hdabo/management/commands/import_csv.py --- a/web/hdabo/management/commands/import_csv.py Fri Jul 08 02:10:01 2011 +0200 +++ b/web/hdabo/management/commands/import_csv.py Fri Jul 08 03:12:59 2011 +0200 @@ -184,7 +184,16 @@ if len(tag) == 0: continue tag_label = normalize_tag(tag) - tag_obj, created = Tag.objects.get_or_create(label__iexact=tag_label, defaults={'label':tag_label, 'original_label':tag}) #@UnusedVariable + tag_obj = None + for t in Tag.objects.filter(label__iexact=tag_label): + if tag_obj is None or t.url_status != Tag.TAG_URL_STATUS_DICT['null_result']: + tag_obj = t + if tag_obj.url_status != Tag.TAG_URL_STATUS_DICT['null_result']: + break + + if tag_obj is None: + tag_obj = Tag(label=tag_label, original_label=tag) + tagged_ds = TaggedSheet(datasheet=datasheet, tag=tag_obj, original_order=i + 1, order=i + 1) tagged_ds.save() diff -r 17a1c2a67c50 -r 3b4a2c79524e web/hdabo/models.py --- a/web/hdabo/models.py Fri Jul 08 02:10:01 2011 +0200 +++ b/web/hdabo/models.py Fri Jul 08 03:12:59 2011 +0200 @@ -94,7 +94,7 @@ } label = models.CharField(max_length=1024, unique=False, blank=False, null=False, db_index=True) - original_label = models.CharField(max_length=1024, unique=True, blank=False, null=False, editable=False) + original_label = models.CharField(max_length=1024, unique=False, blank=False, null=False, editable=False) alias = models.CharField(max_length=1024, unique=False, blank=True, null=True) category = models.ForeignKey(TagCategory, null=True, blank=True) wikipedia_url = models.URLField(verify_exists=False, max_length=2048, blank=True, null=True) diff -r 17a1c2a67c50 -r 3b4a2c79524e web/hdabo/views.py --- a/web/hdabo/views.py Fri Jul 08 02:10:01 2011 +0200 +++ b/web/hdabo/views.py Fri Jul 08 03:12:59 2011 +0200 @@ -458,13 +458,23 @@ # - all tags list : POST["datasheet_id"] is null and POST["num_page"] and POST["nb_by_page"] are not null tag_id = request.POST["tag_id"] tag = Tag.objects.get(id=tag_id) - tag.wikipedia_url = None - tag.wikipedia_pageid = None - tag.dbpedia_uri = None - tag.url_status = 0; - tag.save() + - TaggedSheet.objects.filter(tag=tag).update(wikipedia_revision_id=None) + if u"datasheet_id" in request.POST : + #create another tag almost identical, without the W info + new_tag, created = Tag.objects.get_or_create(label=tag.label, original_label=tag.original_label, url_status=Tag.TAG_URL_STATUS_DICT['null_result'], #@UnusedVariable + defaults={'label':tag.label, 'original_label': tag.original_label, 'url_status':Tag.TAG_URL_STATUS_DICT['null_result'], 'wikipedia_url': None, 'wikipedia_pageid': None, 'dbpedia_uri': None, 'category':tag.category, 'alias':tag.alias, 'popularity':tag.popularity}) + + TaggedSheet.objects.filter(tag=tag, datasheet__hda_id=request.POST["datasheet_id"]).update(tag=new_tag, wikipedia_revision_id=None) + + else: + tag.wikipedia_url = None + tag.wikipedia_pageid = None + tag.dbpedia_uri = None + tag.url_status = Tag.TAG_URL_STATUS_DICT['null_result'] + tag.save() + + TaggedSheet.objects.filter(tag=tag).update(wikipedia_revision_id=None) if u"datasheet_id" in request.POST : return get_tag_table(request=request, ds_id=request.POST["datasheet_id"], valid=0) diff -r 17a1c2a67c50 -r 3b4a2c79524e web/hdabo/wp_utils.py --- a/web/hdabo/wp_utils.py Fri Jul 08 02:10:01 2011 +0200 +++ b/web/hdabo/wp_utils.py Fri Jul 08 03:12:59 2011 +0200 @@ -101,8 +101,19 @@ # We get the wikipedia references for the tag_label # We get or create the tag object - tag, created = Tag.objects.get_or_create(label__iexact=tag_label_normalized, defaults={'label':tag_label_normalized, 'original_label':tag_label}) - + tag = None + for t in Tag.objects.filter(label__iexact=tag_label_normalized): + if tag is None or t.url_status != Tag.TAG_URL_STATUS_DICT['null_result']: + tag = t + if tag.url_status != Tag.TAG_URL_STATUS_DICT['null_result']: + break + + if tag is None: + tag = Tag(label=tag_label_normalized, original_label=tag_label) + created = True + else: + created = False + site = wiki.Wiki(settings.WIKIPEDIA_API_URL) #@UndefinedVariable if created: