Phoenix303 has uploaded a new change for review.

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

Change subject: Update message indexes for translated and untranslated fields.
......................................................................

Update message indexes for translated and untranslated fields.

Bug: T101222
Change-Id: I371fac24f38de18b24ce503b549ef219280750ff
---
M ttmserver/ElasticSearchTTMServer.php
1 file changed, 36 insertions(+), 0 deletions(-)


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

diff --git a/ttmserver/ElasticSearchTTMServer.php 
b/ttmserver/ElasticSearchTTMServer.php
index 40d9199..2879247 100644
--- a/ttmserver/ElasticSearchTTMServer.php
+++ b/ttmserver/ElasticSearchTTMServer.php
@@ -255,6 +255,42 @@
                        }
                }
 
+               $languageCode = $handle->getLanguageCodesForTranslations();
+
+               // Update translated and untranslated fields for all message 
indexes with same localid
+               foreach ( $languageCode['translated'] as $key => $value ) {
+                       $local = "$wiki-$localid-$revId/$value";
+                       $scriptText =
+<<<GROOVY
+if ( ctx._source.translated.contains(lang) ) {
+       ctx.op = "none";
+} else {
+       ctx._source.translated += lang;
+       ctx._source.untranslated.remove(lang);
+}
+GROOVY;
+                       $script = new \Elastica\Script(
+                               $scriptText,
+                               array( 'lang' => $handle->getCode() ),
+                               \Elastica\Script::LANG_GROOVY
+                       );
+                       $script->setId( $local );
+                       $docscript[] = $script;
+               }
+
+               foreach( $docscript as $key => $value ) {
+                       try {
+                               $bulk = new \Elastica\Bulk( $this->getClient() 
);
+                               $bulk->setType( $this->getType() );
+                               $bulk->addData( $value, 'update' );
+                               $bulk->send();
+                       } catch ( \Elastica\Exception\Bulk\ResponseException $e 
) {
+                               error_log( "Update failed: " . $e );
+                       } catch ( \Elastica\Exception\ExceptionInterface $e ) {
+                               error_log( $e );
+                       }
+               }
+
                return true;
        }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/217239
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I371fac24f38de18b24ce503b549ef219280750ff
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Phoenix303 <divyalife...@gmail.com>

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

Reply via email to