Anomie has uploaded a new change for review.
https://gerrit.wikimedia.org/r/183600
Change subject: Update ApiResult handling for mediawiki/core change I7b37295e
......................................................................
Update ApiResult handling for mediawiki/core change I7b37295e
Change I7b37295e for mediawiki/core deprecates several methods, and more
importantly changes the format of the data returned from
ApiResult::getData(). This change should handle these differences in a
backwards-compatible manner.
Change-Id: I7b37295e8862b188d1f3b0cd07f66ac34629678e
---
M api/ApiQueryMessageCollection.php
M api/ApiQueryMessageGroups.php
M api/ApiQueryMessageTranslations.php
M api/ApiStatsQuery.php
M api/ApiTTMServer.php
M scripts/create-language-models.php
M tests/phpunit/api/ApiTokensTest.php
M utils/TranslationEditPage.php
8 files changed, 66 insertions(+), 14 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate
refs/changes/00/183600/1
diff --git a/api/ApiQueryMessageCollection.php
b/api/ApiQueryMessageCollection.php
index d8c2315..9165cb9 100644
--- a/api/ApiQueryMessageCollection.php
+++ b/api/ApiQueryMessageCollection.php
@@ -122,10 +122,17 @@
}
if ( is_null( $resultPageSet ) ) {
- $result->setIndexedTagName_internal(
- array( 'query', $this->getModuleName() ),
- 'message'
- );
+ if ( defined( 'ApiResult::META_CONTENT' ) ) {
+ $result->defineIndexedTagName(
+ array( 'query', $this->getModuleName()
),
+ 'message'
+ );
+ } else {
+ $result->setIndexedTagName_internal(
+ array( 'query', $this->getModuleName()
),
+ 'message'
+ );
+ }
} else {
$resultPageSet->populateFromTitles( $pages );
}
@@ -162,7 +169,11 @@
if ( isset( $props['properties'] ) ) {
foreach ( $message->getPropertyNames() as $prop ) {
$data['properties'][$prop] =
$message->getProperty( $prop );
- $result->setIndexedTagName_recursive(
$data['properties'], 'val' );
+ if ( defined( 'ApiResult::META_CONTENT' ) ) {
+
ApiResult::setIndexedTagNameOnSubarrays( $data['properties'], 'val' );
+ } else {
+ $result->setIndexedTagName_recursive(
$data['properties'], 'val' );
+ }
}
}
diff --git a/api/ApiQueryMessageGroups.php b/api/ApiQueryMessageGroups.php
index 09fd611..4706397 100644
--- a/api/ApiQueryMessageGroups.php
+++ b/api/ApiQueryMessageGroups.php
@@ -100,7 +100,11 @@
}
}
- $result->setIndexedTagName_internal( array( 'query',
$this->getModuleName() ), 'group' );
+ if ( defined( 'ApiResult::META_CONTENT' ) ) {
+ $result->defineIndexedTagName( array( 'query',
$this->getModuleName() ), 'group' );
+ } else {
+ $result->setIndexedTagName_internal( array( 'query',
$this->getModuleName() ), 'group' );
+ }
}
/**
diff --git a/api/ApiQueryMessageTranslations.php
b/api/ApiQueryMessageTranslations.php
index 48f4e4d..564d041 100644
--- a/api/ApiQueryMessageTranslations.php
+++ b/api/ApiQueryMessageTranslations.php
@@ -105,7 +105,11 @@
}
$translation = str_replace( TRANSLATE_FUZZY, '',
$info[0] );
- $result->setContent( $data, $translation );
+ if ( defined( 'ApiResult::META_CONTENT' ) ) {
+ ApiResult::setContentValue( $data,
'translation', $translation );
+ } else {
+ ApiResult::setContent( $data, $translation );
+ }
$fit = $result->addValue( array( 'query',
$this->getModuleName() ), null, $data );
if ( !$fit ) {
@@ -114,7 +118,11 @@
}
}
- $result->setIndexedTagName_internal( array( 'query',
$this->getModuleName() ), 'message' );
+ if ( defined( 'ApiResult::META_CONTENT' ) ) {
+ $result->defineIndexedTagName( array( 'query',
$this->getModuleName() ), 'message' );
+ } else {
+ $result->setIndexedTagName_internal( array( 'query',
$this->getModuleName() ), 'message' );
+ }
}
public function getAllowedParams() {
diff --git a/api/ApiStatsQuery.php b/api/ApiStatsQuery.php
index 63712d8..eeb58c8 100644
--- a/api/ApiStatsQuery.php
+++ b/api/ApiStatsQuery.php
@@ -39,7 +39,11 @@
$result->addValue( array( 'query',
$this->getModuleName() ), null, $data );
}
- $result->setIndexedTagName_internal( array( 'query',
$this->getModuleName() ), 'stats' );
+ if ( defined( 'ApiResult::META_CONTENT' ) ) {
+ $result->defineIndexedTagName( array( 'query',
$this->getModuleName() ), 'stats' );
+ } else {
+ $result->setIndexedTagName_internal( array( 'query',
$this->getModuleName() ), 'stats' );
+ }
}
protected function makeItem( $item, $stats ) {
diff --git a/api/ApiTTMServer.php b/api/ApiTTMServer.php
index 1889f74..29837ff 100644
--- a/api/ApiTTMServer.php
+++ b/api/ApiTTMServer.php
@@ -36,7 +36,11 @@
$result->addValue( $this->getModuleName(), null, $sug );
}
- $result->setIndexedTagName_internal( $this->getModuleName(),
'suggestion' );
+ if ( defined( 'ApiResult::META_CONTENT' ) ) {
+ $result->defineIndexedTagName( $this->getModuleName(),
'suggestion' );
+ } else {
+ $result->setIndexedTagName_internal(
$this->getModuleName(), 'suggestion' );
+ }
}
protected function getAvailableTranslationServices() {
diff --git a/scripts/create-language-models.php
b/scripts/create-language-models.php
index 91b8808..f7c5f9e 100644
--- a/scripts/create-language-models.php
+++ b/scripts/create-language-models.php
@@ -204,8 +204,16 @@
$api = new ApiMain( $params );
$api->execute();
- $result = $api->getResultData();
- $text = $result['parse']['text']['*'];
+ if ( defined( 'ApiResult::META_CONTENT' ) ) {
+ $result =
$api->getResult()->getResultData();
+ $contentKey = isset(
$result['parse']['text'][ApiResult::META_CONTENT] )
+ ?
$result['parse']['text'][ApiResult::META_CONTENT]
+ : '*';
+ } else {
+ $result = $api->getResultData();
+ $contentKey = '*';
+ }
+ $text = $result['parse']['text'][$contentKey];
$text = strip_tags( $text );
$text = str_replace( '!!FUZZY!!', '', $text );
$text = preg_replace( '/\$[0-9]/', '', $text );
diff --git a/tests/phpunit/api/ApiTokensTest.php
b/tests/phpunit/api/ApiTokensTest.php
index 0e2bba5..0f689c2 100644
--- a/tests/phpunit/api/ApiTokensTest.php
+++ b/tests/phpunit/api/ApiTokensTest.php
@@ -30,7 +30,13 @@
$api = new ApiMain( $req );
$api->execute();
- $data = $api->getResultData();
+ if ( defined( 'ApiResult::META_CONTENT' ) ) {
+ $data = ApiResult::removeMetadata(
+ $api->getResult()->getResultData()
+ );
+ } else {
+ $data = $api->getResultData();
+ }
if ( isset( $data['query'] ) ) {
foreach ( $data['query']['pages'] as $page ) {
$this->assertSame( $expected, $page[$id .
'token'] );
diff --git a/utils/TranslationEditPage.php b/utils/TranslationEditPage.php
index ffcbd8c..2ed9474 100644
--- a/utils/TranslationEditPage.php
+++ b/utils/TranslationEditPage.php
@@ -211,12 +211,19 @@
$api = new ApiMain( $params );
$api->execute();
- $data = $api->getResultData();
+ if ( defined( 'ApiResult::META_CONTENT' ) ) {
+ $data = $api->getResult()->getResultData();
+ } else {
+ $data = $api->getResultData();
+ }
if ( !isset( $data['query']['pages'] ) ) {
throw new MWException( 'Api query failed' );
}
$data = $data['query']['pages'];
+ if ( defined( 'ApiResult::META_CONTENT' ) ) {
+ $data = ApiResult::removeMetadataNonRecursive( $data );
+ }
$data = array_shift( $data );
return $data;
--
To view, visit https://gerrit.wikimedia.org/r/183600
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7b37295e8862b188d1f3b0cd07f66ac34629678e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Anomie <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits