jenkins-bot has submitted this change and it was merged.
Change subject: Use QueryAggregator with TTMServer if possible
......................................................................
Use QueryAggregator with TTMServer if possible
Call back via API if the service is public.
Change-Id: I6335950d14f1bcc1ac0388bbdbebe9da0c530fe9
---
M translationaids/TTMServerAid.php
M webservices/RemoteTTMServerWebService.php
M webservices/TranslationWebService.php
3 files changed, 25 insertions(+), 3 deletions(-)
Approvals:
Siebrand: Looks good to me, approved
jenkins-bot: Verified
diff --git a/translationaids/TTMServerAid.php b/translationaids/TTMServerAid.php
index c628196..5a48e00 100644
--- a/translationaids/TTMServerAid.php
+++ b/translationaids/TTMServerAid.php
@@ -31,13 +31,18 @@
$from = $this->group->getSourceLanguage();
$to = $this->handle->getCode();
- // "Local" queries using some client can't be run in parallel
with web services
+ // "Local" queries using a client can't be run in parallel with
web services
global $wgTranslateTranslationServices;
foreach ( $wgTranslateTranslationServices as $name => $config )
{
$server = TTMServer::factory( $config );
try {
if ( $server instanceof ReadableTTMServer ) {
+ // Except if they are public, we can
call back via API
+ if ( isset( $config['public'] ) &&
$config['public'] === true ) {
+ continue;
+ }
+
$query = $server->query( $from, $to,
$text );
} else {
continue;
diff --git a/webservices/RemoteTTMServerWebService.php
b/webservices/RemoteTTMServerWebService.php
index 09bc1aa..ca713d5 100644
--- a/webservices/RemoteTTMServerWebService.php
+++ b/webservices/RemoteTTMServerWebService.php
@@ -33,10 +33,13 @@
'action' => 'ttmserver',
'sourcelanguage' => $from,
'targetlanguage' => $to,
- 'text' => $text,
- '*', // Because we hate IE
+ 'text' => $text
);
+ if ( isset( $this->config['service'] ) ) {
+ $params['service'] = $this->config['service'];
+ }
+
return TranslationQuery::factory( $this->config['url'] )
->timeout( $this->config['timeout'] )
->queryParamaters( $params );
diff --git a/webservices/TranslationWebService.php
b/webservices/TranslationWebService.php
index e363fa5..4adc603 100644
--- a/webservices/TranslationWebService.php
+++ b/webservices/TranslationWebService.php
@@ -40,6 +40,20 @@
$config['timeout'] = 3;
}
+ // Alter local ttmserver instance to appear as remote
+ // to take advantage of the query aggregator. But only
+ // if they are public.
+ if (
+ isset( $config['class'] ) &&
+ $config['class'] === 'ElasticSearchTTMServer' &&
+ isset( $config['public'] ) &&
+ $config['public'] === true
+ ) {
+ $config['type'] = 'remote-ttmserver';
+ $config['service'] = $name;
+ $config['url'] = wfExpandURl( wfScript( 'api' ),
PROTO_CANONICAL );
+ }
+
if ( isset( $handlers[$config['type']] ) ) {
$class = $handlers[$config['type']];
--
To view, visit https://gerrit.wikimedia.org/r/225838
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I6335950d14f1bcc1ac0388bbdbebe9da0c530fe9
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
Gerrit-Reviewer: Amire80 <[email protected]>
Gerrit-Reviewer: Santhosh <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits