about summary refs log tree commit diff stats
path: root/registry/query.go
diff options
context:
space:
mode:
authorBen Morrison <ben@gbmor.dev>2019-05-14 16:31:11 -0400
committerBen Morrison <ben@gbmor.dev>2019-05-14 16:31:11 -0400
commitb6e7b446cda0921b118f5755577fbc5effcd4ccf (patch)
treee6f614bf33ae64b578464fa463aa720ecc5431da /registry/query.go
parentf6dd98af452ffef14f80b55090b875843cf83347 (diff)
downloadgetwtxt-b6e7b446cda0921b118f5755577fbc5effcd4ccf.tar.gz
moved registry library to separate repo
Diffstat (limited to 'registry/query.go')
-rw-r--r--registry/query.go84
1 files changed, 0 insertions, 84 deletions
diff --git a/registry/query.go b/registry/query.go
deleted file mode 100644
index 26d61c4..0000000
--- a/registry/query.go
+++ /dev/null
@@ -1,84 +0,0 @@
-package registry // import "github.com/gbmor/getwtxt/registry"
-
-import (
-	"sort"
-	"strings"
-)
-
-// QueryUser checks the user index for nicknames that contain the
-// nickname provided as an argument. Entries are returned sorted
-// by the date they were added to the index.
-func (index UserIndex) QueryUser(name string) []string {
-	timekey := NewTimeMap()
-	keys := make(TimeSlice, 0)
-	var users []string
-	imutex.RLock()
-	for k, v := range index {
-		if strings.Contains(v.Nick, name) {
-			timekey[v.Date] = v.Nick + "\t" + k + "\t" + string(v.APIdate)
-			keys = append(keys, v.Date)
-		}
-	}
-	imutex.RUnlock()
-	sort.Sort(keys)
-	for _, e := range keys {
-		users = append(users, timekey[e])
-	}
-
-	return users
-}
-
-// QueryTag returns all the known statuses that
-// contain the provided tag.
-func (index UserIndex) QueryTag(tag string) []string {
-	statusmap := NewTimeMapSlice()
-	i := 0
-	imutex.RLock()
-	for _, v := range index {
-		statusmap[i] = v.FindTag(tag)
-		i++
-	}
-	imutex.RUnlock()
-
-	return statusmap.SortByTime()
-}
-
-// FindTag takes a user's tweets and looks for a given tag.
-// Returns the tweets with the tag as a []string.
-func (userdata *Data) FindTag(tag string) TimeMap {
-	statuses := NewTimeMap()
-	for k, e := range userdata.Status {
-		parts := strings.Split(e, "\t")
-		statusslice := strings.Split(parts[3], " ")
-		for _, v := range statusslice {
-			if v[1:] == tag {
-				statuses[k] = e
-				break
-			}
-		}
-	}
-
-	return statuses
-}
-
-// SortByTime returns a string slice of the query results
-// sorted by time.Time
-func (tm TimeMapSlice) SortByTime() []string {
-	var unionmap = NewTimeMap()
-	var times = make(TimeSlice, 0)
-	var data []string
-	for _, e := range tm {
-		for k, v := range e {
-			unionmap[k] = v
-		}
-	}
-	for k := range unionmap {
-		times = append(times, k)
-	}
-	sort.Sort(times)
-	for _, e := range times {
-		data = append(data, unionmap[e])
-	}
-
-	return data
-}