From 23aab9ce9e0c15c8c8a4ea396e74a9b6c23de6cf Mon Sep 17 00:00:00 2001 From: Vishal <64505169+vishalxl@users.noreply.github.com> Date: Fri, 2 Sep 2022 01:57:11 +0530 Subject: [PATCH] initialized google translator only when relevant flag is given --- .gitignore | 1 + bin/nostr_console.dart | 3 ++- lib/event_ds.dart | 24 ++++++++++++------------ pubspec.yaml | 2 +- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 5773336..6c2613b 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ doc/api/ del*.txt all_nostr_events.txt bin/nostr_console_win64.exe +*.exe diff --git a/bin/nostr_console.dart b/bin/nostr_console.dart index 2f584e1..1eb1c04 100644 --- a/bin/nostr_console.dart +++ b/bin/nostr_console.dart @@ -1,6 +1,6 @@ import 'dart:io'; import 'package:bip340/bip340.dart'; - +import 'package:translator/translator.dart'; import 'package:nostr_console/event_ds.dart'; import 'package:nostr_console/tree_ds.dart'; import 'package:nostr_console/relays.dart'; @@ -54,6 +54,7 @@ Future main(List arguments) async { if( argResults[translateArg]) { gTranslate = true; print("Going to translate comments in last $gNumTranslateDays days using Google translate service"); + translator = GoogleTranslator(); } if( argResults[pubkeyArg] != null) { diff --git a/lib/event_ds.dart b/lib/event_ds.dart index 0c8aba1..408a159 100644 --- a/lib/event_ds.dart +++ b/lib/event_ds.dart @@ -12,7 +12,8 @@ import 'package:kepler/kepler.dart'; int gDebug = 0; // translate -final translator = GoogleTranslator(); +GoogleTranslator? translator; // initialized in main when argument given + const int gNumTranslateDays = 1;// translate for this number of days bool gTranslate = false; // translate flag @@ -176,21 +177,20 @@ class EventData { switch(kind) { case 1: evaluatedContent = expandMentions(content); - if( gTranslate && !evaluatedContent.isEnglish()) { + if( translator != null && gTranslate && !evaluatedContent.isEnglish()) { if( gDebug > 0) print("found that this comment is non-English: $evaluatedContent"); - //final input = "Здравствуйте. Ты в порядке?"; - // Using the Future API + // only translate for latest events if( DateTime.fromMillisecondsSinceEpoch(createdAt *1000).compareTo( DateTime.now().subtract(Duration(days:gNumTranslateDays)) ) > 0 ) { if( gDebug > 0) print("Sending google request: translating $content"); - try { - translator - .translate(content, to: 'en') - //.catchError( (error, stackTrace) => null ) - .then( (result) => { evaluatedContent = "$evaluatedContent\n\nTranslation: ${result.toString()}" , if( gDebug > 0) print("Google translate returned successfully for one call.")} - ); - } on Exception catch(err) { - if( gDebug >= 0) print("Info: Error in trying to use google translate: $err"); + if( translator != null) { + try { + translator?.translate(content, to: 'en') + .then( (result) => { evaluatedContent = "$evaluatedContent\n\nTranslation: ${result.toString()}" , if( gDebug > 0) print("Google translate returned successfully for one call.")} + ); + } on Exception catch(err) { + if( gDebug >= 0) print("Info: Error in trying to use google translate: $err"); + } } } } diff --git a/pubspec.yaml b/pubspec.yaml index a5dbd23..574e7d7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: A multi-platform nostr client built for terminal/console. version: 0.0.7-beta homepage: https://github.com/vishalxl/nostr_console -# testing pubspec action based on path, test build +# testing pubspec action based on path, test build environment: sdk: '>=2.17.3 <3.0.0'