Dachary has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/314501

Change subject: repository: do not verify novalue or unknown
......................................................................

repository: do not verify novalue or unknown

Change-Id: I6eb2cc8c45f7c1462e0c60a28b28c9c337cdf159
Signed-off-by: Loic Dachary <[email protected]>
---
M FLOSSbot/repository.py
M tests/test_repository.py
2 files changed, 18 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/bots/FLOSSbot 
refs/changes/01/314501/1

diff --git a/FLOSSbot/repository.py b/FLOSSbot/repository.py
index 68a7f3c..ae2861d 100644
--- a/FLOSSbot/repository.py
+++ b/FLOSSbot/repository.py
@@ -79,6 +79,9 @@
         status = {}
         for claim in item.claims.get(self.P_source_code_repository, []):
             url = claim.getTarget()
+            if url is None:
+                status[url] = 'novalue or unknown'
+                continue
             if claim.getRank() == 'deprecated':
                 self.debug(item, url + ' is deprecated, ignore')
                 continue
diff --git a/tests/test_repository.py b/tests/test_repository.py
index 20b4b44..7f7b28e 100644
--- a/tests/test_repository.py
+++ b/tests/test_repository.py
@@ -93,6 +93,21 @@
             self.r.guess_protocol_from_url('example.org')
             is None)
 
+    def test_verify_no_value(self):
+        item = self.r.__getattribute__('Q_' + WikidataHelper.random_name())
+        claim = pywikibot.Claim(self.r.bot.site,
+                                self.r.P_source_code_repository,
+                                'novalue')
+        # the following sequence is wierd but it's the only combo
+        # that works with pywikibot because of some broken
+        # code paths when 'novalue' is set
+        claim.setTarget('http://url.to.be.ignored')
+        item.addClaim(claim)
+        claim.changeTarget(None, 'novalue')
+        item.get(force=True)
+        assert {None: 'novalue or unknown'} == self.r.verify(item)
+        self.r.clear_entity_label(item.getID())
+
     def test_verify(self):
         item = self.r.__getattribute__('Q_' + WikidataHelper.random_name())
         claim = pywikibot.Claim(self.r.bot.site,

-- 
To view, visit https://gerrit.wikimedia.org/r/314501
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6eb2cc8c45f7c1462e0c60a28b28c9c337cdf159
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/bots/FLOSSbot
Gerrit-Branch: master
Gerrit-Owner: Dachary <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to