Nikerabbit has uploaded a new change for review.

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

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(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate 
refs/changes/38/225838/1

diff --git a/translationaids/TTMServerAid.php b/translationaids/TTMServerAid.php
index c628196..45ecbca 100644
--- a/translationaids/TTMServerAid.php
+++ b/translationaids/TTMServerAid.php
@@ -31,9 +31,14 @@
                $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 ) 
{
+                       // Except if they are public, we can call back via API
+                       if ( $config['public'] === true ) {
+                               continue;
+                       }
+
                        $server = TTMServer::factory( $config );
 
                        try {
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: newchange
Gerrit-Change-Id: I6335950d14f1bcc1ac0388bbdbebe9da0c530fe9
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <niklas.laxst...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to