SuchABot has uploaded a new change for review. https://gerrit.wikimedia.org/r/75320
Change subject: [WIP] Add support for browsing + contributing to campaigns ...................................................................... [WIP] Add support for browsing + contributing to campaigns Work in progress. Change-Id: I688fab05df567e449272e1d03e51aa4273070f59 GitHub: https://github.com/wikimedia/apps-android-commons/pull/35 --- A commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java A commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java M commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java 3 files changed, 109 insertions(+), 3 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/commons refs/changes/20/75320/1 diff --git a/commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java b/commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java new file mode 100644 index 0000000..54645a1 --- /dev/null +++ b/commons/src/main/java/org/wikimedia/commons/campaigns/Campaign.java @@ -0,0 +1,62 @@ +package org.wikimedia.commons.campaigns; + +import org.json.JSONArray; +import org.json.JSONObject; + +import java.util.ArrayList; + +public class Campaign { + private boolean enabled; + + private String autoAddWikitext; + private ArrayList<String> autoAddCategories; + + private String name; + private String ownWorkLicenseDefault; + + private String defaultDescription; + + private JSONObject config; + + public boolean isEnabled() { + return enabled; + } + + public String getAutoAddWikitext() { + return autoAddWikitext; + } + + public ArrayList<String> getAutoAddCategories() { + return autoAddCategories; + } + + public String getName() { + return name; + } + + public String getOwnWorkLicenseDefault() { + return ownWorkLicenseDefault; + } + + public String getDefaultDescription() { + return defaultDescription; + } + + public JSONObject getConfig() { + return config; + } + + public Campaign(JSONObject config) { + this.config = config; + if(config.has("autoAdd")) { + this.autoAddWikitext = config.optJSONObject("config").optString("wikitext", null); + if(config.optJSONObject("config").has("categories")) { + this.autoAddCategories = new ArrayList<String>(); + JSONArray catsArray = config.optJSONObject("config").optJSONArray("categories"); + for(int i=0; i < catsArray.length(); i++) { + autoAddCategories.add(catsArray.optString(i)); + } + } + } + } +} diff --git a/commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java b/commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java new file mode 100644 index 0000000..1566c14 --- /dev/null +++ b/commons/src/main/java/org/wikimedia/commons/campaigns/CampaignContribution.java @@ -0,0 +1,40 @@ +package org.wikimedia.commons.campaigns; + +import org.wikimedia.commons.contributions.Contribution; + +import java.util.ArrayList; + +public class CampaignContribution extends Contribution { + private Campaign campaign; + + private ArrayList<String> fieldValues; + + public Campaign getCampaign() { + return campaign; + } + + public void setCampaign(Campaign campaign) { + this.campaign = campaign; + } + + @Override + public String getTrackingTemplates() { + StringBuffer buffer = new StringBuffer(); + if(campaign.getAutoAddWikitext() != null) { + buffer.append(campaign.getAutoAddWikitext()).append("\n"); + } + if(campaign.getAutoAddCategories() != null && campaign.getAutoAddCategories().size() != 0) { + for(String cat : campaign.getAutoAddCategories()) { + buffer.append("[[Category:").append(cat).append("]]").append("\n"); + } + } else { + buffer.append("{{subst:unc}}\n"); + } + return buffer.toString(); + } + + @Override + public String getDescription() { + return super.getDescription(); + } +} diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java b/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java index f0f5a24..d482fea 100644 --- a/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java +++ b/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java @@ -117,13 +117,17 @@ this.dateUploaded = date; } + public String getTrackingTemplates() { + return "{{subst:unc}}"; // Remove when we have categorization + } + public String getPageContents() { StringBuffer buffer = new StringBuffer(); SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd"); buffer .append("== {{int:filedesc}} ==\n") .append("{{Information\n") - .append("|description=").append(description).append("\n") + .append("|description=").append(getDescription()).append("\n") .append("|source=").append("{{own}}\n") .append("|author=[[User:").append(creator).append("]]\n"); if(dateCreated != null) { @@ -133,9 +137,9 @@ buffer .append("}}").append("\n") .append("== {{int:license-header}} ==\n") - .append(Utils.licenseTemplateFor(license)).append("\n\n") + .append(Utils.licenseTemplateFor(getLicense())).append("\n\n") .append("{{Uploaded from Mobile|platform=Android|version=").append(CommonsApplication.APPLICATION_VERSION).append("}}\n") - .append("{{subst:unc}}"); // Remove when we have categorization + .append(getTrackingTemplates()); return buffer.toString(); } -- To view, visit https://gerrit.wikimedia.org/r/75320 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I688fab05df567e449272e1d03e51aa4273070f59 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/commons Gerrit-Branch: master Gerrit-Owner: SuchABot <[email protected]> Gerrit-Reviewer: Yuvipanda <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
