initialized google translator only when relevant flag is given

This commit is contained in:
Vishal
2022-09-02 01:57:11 +05:30
parent 50aeab1259
commit 23aab9ce9e
4 changed files with 16 additions and 14 deletions

1
.gitignore vendored
View File

@@ -22,3 +22,4 @@ doc/api/
del*.txt del*.txt
all_nostr_events.txt all_nostr_events.txt
bin/nostr_console_win64.exe bin/nostr_console_win64.exe
*.exe

View File

@@ -1,6 +1,6 @@
import 'dart:io'; import 'dart:io';
import 'package:bip340/bip340.dart'; import 'package:bip340/bip340.dart';
import 'package:translator/translator.dart';
import 'package:nostr_console/event_ds.dart'; import 'package:nostr_console/event_ds.dart';
import 'package:nostr_console/tree_ds.dart'; import 'package:nostr_console/tree_ds.dart';
import 'package:nostr_console/relays.dart'; import 'package:nostr_console/relays.dart';
@@ -54,6 +54,7 @@ Future<void> main(List<String> arguments) async {
if( argResults[translateArg]) { if( argResults[translateArg]) {
gTranslate = true; gTranslate = true;
print("Going to translate comments in last $gNumTranslateDays days using Google translate service"); print("Going to translate comments in last $gNumTranslateDays days using Google translate service");
translator = GoogleTranslator();
} }
if( argResults[pubkeyArg] != null) { if( argResults[pubkeyArg] != null) {

View File

@@ -12,7 +12,8 @@ import 'package:kepler/kepler.dart';
int gDebug = 0; int gDebug = 0;
// translate // translate
final translator = GoogleTranslator(); GoogleTranslator? translator; // initialized in main when argument given
const int gNumTranslateDays = 1;// translate for this number of days const int gNumTranslateDays = 1;// translate for this number of days
bool gTranslate = false; // translate flag bool gTranslate = false; // translate flag
@@ -176,21 +177,20 @@ class EventData {
switch(kind) { switch(kind) {
case 1: case 1:
evaluatedContent = expandMentions(content); 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"); 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( DateTime.fromMillisecondsSinceEpoch(createdAt *1000).compareTo( DateTime.now().subtract(Duration(days:gNumTranslateDays)) ) > 0 ) {
if( gDebug > 0) print("Sending google request: translating $content"); if( gDebug > 0) print("Sending google request: translating $content");
try { if( translator != null) {
translator try {
.translate(content, to: 'en') 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.")}
.then( (result) => { evaluatedContent = "$evaluatedContent\n\nTranslation: ${result.toString()}" , if( gDebug > 0) print("Google translate returned successfully for one call.")} );
); } on Exception catch(err) {
} on Exception catch(err) { if( gDebug >= 0) print("Info: Error in trying to use google translate: $err");
if( gDebug >= 0) print("Info: Error in trying to use google translate: $err"); }
} }
} }
} }

View File

@@ -3,7 +3,7 @@ description: A multi-platform nostr client built for terminal/console.
version: 0.0.7-beta version: 0.0.7-beta
homepage: https://github.com/vishalxl/nostr_console homepage: https://github.com/vishalxl/nostr_console
# testing pubspec action based on path, test build # testing pubspec action based on path, test build
environment: environment:
sdk: '>=2.17.3 <3.0.0' sdk: '>=2.17.3 <3.0.0'