Skip to content

Commit be1d204

Browse files
committed
Merge branch 'feat-10-offset-limiy-get-recently-learnt-words' into master
2 parents 8dfa818 + 59932be commit be1d204

File tree

5 files changed

+16
-13
lines changed

5 files changed

+16
-13
lines changed

c-shared.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,13 +419,13 @@ func varnam_search_symbol_table(varnamHandleID C.int, id C.int, searchCriteria C
419419
}
420420

421421
//export varnam_get_recently_learned_words
422-
func varnam_get_recently_learned_words(varnamHandleID C.int, id C.int, limit C.int, resultPointer **C.varray) C.int {
422+
func varnam_get_recently_learned_words(varnamHandleID C.int, id C.int, offset C.int, limit C.int, resultPointer **C.varray) C.int {
423423
ctx, cancel := makeContext(id)
424424
defer cancel()
425425

426426
handle := getVarnamHandle(varnamHandleID)
427427

428-
result, err := handle.varnam.GetRecentlyLearntWords(ctx, int(limit))
428+
result, err := handle.varnam.GetRecentlyLearntWords(ctx, int(offset), int(limit))
429429

430430
if err != nil {
431431
handle.err = err

govarnam/dictionary.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,14 +369,14 @@ func (varnam *Varnam) getFromPatternDictionary(ctx context.Context, pattern stri
369369
}
370370

371371
// GetRecentlyLearntWords get recently learnt words
372-
func (varnam *Varnam) GetRecentlyLearntWords(ctx context.Context, limit int) ([]Suggestion, error) {
372+
func (varnam *Varnam) GetRecentlyLearntWords(ctx context.Context, offset int, limit int) ([]Suggestion, error) {
373373
var result []Suggestion
374374

375375
select {
376376
case <-ctx.Done():
377377
return result, nil
378378
default:
379-
rows, err := varnam.dictConn.QueryContext(ctx, "SELECT word, weight, learned_on FROM words ORDER BY learned_on DESC, id DESC LIMIT "+fmt.Sprint(limit))
379+
rows, err := varnam.dictConn.QueryContext(ctx, "SELECT word, weight, learned_on FROM words ORDER BY learned_on DESC, id DESC LIMIT "+fmt.Sprint(offset)+", "+fmt.Sprint(limit))
380380

381381
if err != nil {
382382
return result, err

govarnam/govarnam_ml_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -406,12 +406,15 @@ func TestRecentlyLearnedWords(t *testing.T) {
406406
varnam.Learn(word, 0)
407407
}
408408

409-
result, err := varnam.GetRecentlyLearntWords(context.Background(), len(words))
409+
result, err := varnam.GetRecentlyLearntWords(context.Background(), 0, len(words))
410410
checkError(err)
411411

412412
assertEqual(t, len(result), len(words))
413413
log.Println(result, words)
414414
for i, sug := range result {
415415
assertEqual(t, sug.Word, words[len(words)-i-1])
416416
}
417+
418+
result, err = varnam.GetRecentlyLearntWords(context.Background(), 4, len(words))
419+
assertEqual(t, result[0].Word, "ആലപ്പുഴ")
417420
}

govarnamgo/govarnamgo.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ import (
2121

2222
// Config config values
2323
type Config struct {
24-
IndicDigits bool
25-
DictionaryMatchExact bool
26-
DictionarySuggestionsLimit int
24+
IndicDigits bool
25+
DictionaryMatchExact bool
26+
DictionarySuggestionsLimit int
2727
PatternDictionarySuggestionsLimit int
28-
TokenizerSuggestionsLimit int
29-
TokenizerSuggestionsAlways bool
28+
TokenizerSuggestionsLimit int
29+
TokenizerSuggestionsAlways bool
3030
}
3131

3232
// VarnamHandle for making things easier
@@ -481,7 +481,7 @@ func (handle *VarnamHandle) Import(filePath string) error {
481481
}
482482

483483
// GetRecentlyLearntWords get recently learn words
484-
func (handle *VarnamHandle) GetRecentlyLearntWords(ctx context.Context, limit int) ([]Suggestion, error) {
484+
func (handle *VarnamHandle) GetRecentlyLearntWords(ctx context.Context, offset int, limit int) ([]Suggestion, error) {
485485
var result []Suggestion
486486

487487
operationID := makeContextOperation()
@@ -493,7 +493,7 @@ func (handle *VarnamHandle) GetRecentlyLearntWords(ctx context.Context, limit in
493493
default:
494494
var resultPointer *C.varray
495495

496-
code := C.varnam_get_recently_learned_words(handle.connectionID, operationID, C.int(limit), &resultPointer)
496+
code := C.varnam_get_recently_learned_words(handle.connectionID, operationID, C.int(offset), C.int(limit), &resultPointer)
497497
if code != C.VARNAM_SUCCESS {
498498
return result, &VarnamError{
499499
ErrorCode: int(code),

govarnamgo/govarnamgo_ml_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ func TestRecentlyLearnedWords(t *testing.T) {
7979
varnam.Learn(word, 0)
8080
}
8181

82-
result, err := varnam.GetRecentlyLearntWords(context.Background(), len(words))
82+
result, err := varnam.GetRecentlyLearntWords(context.Background(), 0, len(words))
8383
checkError(err)
8484

8585
assertEqual(t, len(result), len(words))

0 commit comments

Comments
 (0)