jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/330819 )
Change subject: Get wikibase item ID in MW API page lead requests
......................................................................
Get wikibase item ID in MW API page lead requests
RESTBase page lead responses already return the wikibase ID, if present.
This adds logic to do the same for MW API requests so that we can have
feature parity for the two loading methods.
This should complement (and not conflict with, at least in the current
iteration) Ie1b18879dfe634241ce09913959b5b53056f840e.
Depends on a change in MobileFrontend to do for empty pageprops result
sets what I20bc5a43c2f348925584b8473f95abb87c623974 did for empty
protection result sets, so we don't have to add complex and fragile logic
to conditionally handle empty arrays.
Bug: T154032
Change-Id: I11b37fa6f27adf64fd1f41e10d4127bdc0ad422d
Depends-On: I5dacdaf356bfb4d85a62a7e8972b5e6e14f22458
---
M app/src/main/java/org/wikipedia/server/mwapi/MwPageLead.java
M app/src/main/java/org/wikipedia/server/mwapi/MwPageService.java
2 files changed, 17 insertions(+), 5 deletions(-)
Approvals:
Dbrant: Looks good to me, approved
jenkins-bot: Verified
diff --git a/app/src/main/java/org/wikipedia/server/mwapi/MwPageLead.java
b/app/src/main/java/org/wikipedia/server/mwapi/MwPageLead.java
index 434d570..4c3c615 100644
--- a/app/src/main/java/org/wikipedia/server/mwapi/MwPageLead.java
+++ b/app/src/main/java/org/wikipedia/server/mwapi/MwPageLead.java
@@ -5,6 +5,8 @@
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
+import com.google.gson.annotations.SerializedName;
+
import org.wikipedia.dataclient.WikiSite;
import org.wikipedia.page.Namespace;
import org.wikipedia.page.Page;
@@ -114,6 +116,7 @@
@SuppressWarnings("unused") @Nullable private Thumb thumb;
@SuppressWarnings("unused") @Nullable private Protection protection;
@SuppressWarnings("unused") @Nullable private List<Section> sections;
+ @SuppressWarnings("unused") @Nullable private PageProps pageprops;
/** Converter */
public PageProperties toPageProperties(@NonNull WikiSite wiki) {
@@ -196,7 +199,7 @@
@Override
@Nullable
public String getWikiBaseItem() {
- return null;
+ return pageprops != null && pageprops.getWikiBaseItem() != null ?
pageprops.getWikiBaseItem() : null;
}
@Override
@@ -249,4 +252,13 @@
return url;
}
}
+
+ static class PageProps {
+ @SuppressWarnings("unused") @SerializedName("wikibase_item") @Nullable
+ private String wikiBaseItem;
+
+ @Nullable String getWikiBaseItem() {
+ return wikiBaseItem;
+ }
+ }
}
diff --git a/app/src/main/java/org/wikipedia/server/mwapi/MwPageService.java
b/app/src/main/java/org/wikipedia/server/mwapi/MwPageService.java
index 33248f1..605eeb8 100644
--- a/app/src/main/java/org/wikipedia/server/mwapi/MwPageService.java
+++ b/app/src/main/java/org/wikipedia/server/mwapi/MwPageService.java
@@ -175,8 +175,8 @@
@GET("w/api.php?action=mobileview&format=json&formatversion=2&prop="
+
"text%7Csections%7Clanguagecount%7Cthumb%7Cimage%7Cid%7Cnamespace%7Crevision"
+
"%7Cdescription%7Clastmodified%7Cnormalizedtitle%7Cdisplaytitle%7Cprotection"
- +
"%7Ceditable&onlyrequestedsections=1§ions=0§ionprop=toclevel%7Cline"
- + "%7Canchor&noheadings=true")
+ +
"%7Ceditable%7Cpageprops&pageprops=wikibase_item&onlyrequestedsections=1"
+ +
"§ions=0§ionprop=toclevel%7Cline%7Canchor&noheadings=true")
Call<MwPageLead> pageLead(@Query("page") String title,
@Query("thumbsize") int leadImageThumbWidth,
@Query("noimages") Boolean noImages);
@@ -203,8 +203,8 @@
@GET("w/api.php?action=mobileview&format=json&formatversion=2&prop="
+
"text%7Csections%7Clanguagecount%7Cthumb%7Cimage%7Cid%7Crevision%7Cdescription"
+
"%7Clastmodified%7Cnormalizedtitle%7Cdisplaytitle%7Cprotection%7Ceditable"
- +
"&onlyrequestedsections=1§ions=all§ionprop=toclevel%7Cline%7Canchor"
- + "&noheadings=true")
+ +
"%7Cpageprops&pageprops=wikibase_item&onlyrequestedsections=1§ions=all"
+ + "§ionprop=toclevel%7Cline%7Canchor&noheadings=true")
Call<MwPageCombo> pageCombo(@Query("page") String title,
@Query("noimages") Boolean noImages);
}
--
To view, visit https://gerrit.wikimedia.org/r/330819
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I11b37fa6f27adf64fd1f41e10d4127bdc0ad422d
Gerrit-PatchSet: 3
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Mholloway <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits