aboutsummaryrefslogtreecommitdiff
path: root/util/util.go
diff options
context:
space:
mode:
Diffstat (limited to 'util/util.go')
-rw-r--r--util/util.go133
1 files changed, 133 insertions, 0 deletions
diff --git a/util/util.go b/util/util.go
index 5ee548e..8f32363 100644
--- a/util/util.go
+++ b/util/util.go
@@ -1,6 +1,7 @@
package util
import (
+ "fmt"
"regexp"
"strings"
)
@@ -63,3 +64,135 @@ func GetActorFollowNameFromPath(path string) string {
return actor
}
+
+func StripTransferProtocol(value string) string {
+ re := regexp.MustCompile("(http://|https://)?(www.)?")
+
+ value = re.ReplaceAllString(value, "")
+
+ return value
+}
+
+func GetCaptchaCode(captcha string) string {
+ re := regexp.MustCompile("\\w+\\.\\w+$")
+ code := re.FindString(captcha)
+
+ re = regexp.MustCompile("\\w+")
+ code = re.FindString(code)
+
+ return code
+}
+
+func ShortURL(actorName string, url string) string {
+
+ re := regexp.MustCompile(`.+\/`)
+
+ actor := re.FindString(actorName)
+
+ urlParts := strings.Split(url, "|")
+
+ op := urlParts[0]
+
+ var reply string
+
+ if len(urlParts) > 1 {
+ reply = urlParts[1]
+ }
+
+ re = regexp.MustCompile(`\w+$`)
+ temp := re.ReplaceAllString(op, "")
+
+ if temp == actor {
+ id := LocalShort(op)
+
+ re := regexp.MustCompile(`.+\/`)
+ replyCheck := re.FindString(reply)
+
+ if reply != "" && replyCheck == actor {
+ id = id + "#" + LocalShort(reply)
+ } else if reply != "" {
+ id = id + "#" + RemoteShort(reply)
+ }
+
+ return id
+ } else {
+ id := RemoteShort(op)
+
+ re := regexp.MustCompile(`.+\/`)
+ replyCheck := re.FindString(reply)
+
+ if reply != "" && replyCheck == actor {
+ id = id + "#" + LocalShort(reply)
+ } else if reply != "" {
+ id = id + "#" + RemoteShort(reply)
+ }
+
+ return id
+ }
+}
+
+func LocalShort(url string) string {
+ re := regexp.MustCompile(`\w+$`)
+ return re.FindString(StripTransferProtocol(url))
+}
+
+func RemoteShort(url string) string {
+ re := regexp.MustCompile(`\w+$`)
+
+ id := re.FindString(StripTransferProtocol(url))
+
+ re = regexp.MustCompile(`.+/.+/`)
+
+ actorurl := re.FindString(StripTransferProtocol(url))
+
+ re = regexp.MustCompile(`/.+/`)
+
+ actorname := re.FindString(actorurl)
+
+ actorname = strings.Replace(actorname, "/", "", -1)
+
+ return "f" + actorname + "-" + id
+}
+
+func ShortImg(url string) string {
+ nURL := url
+
+ re := regexp.MustCompile(`(\.\w+$)`)
+
+ fileName := re.ReplaceAllString(url, "")
+
+ if len(fileName) > 26 {
+ re := regexp.MustCompile(`(^.{26})`)
+
+ match := re.FindStringSubmatch(fileName)
+
+ if len(match) > 0 {
+ nURL = match[0]
+ }
+
+ re = regexp.MustCompile(`(\..+$)`)
+
+ match = re.FindStringSubmatch(url)
+
+ if len(match) > 0 {
+ nURL = nURL + "(...)" + match[0]
+ }
+ }
+
+ return nURL
+}
+
+func ConvertSize(size int64) string {
+ var rValue string
+
+ convert := float32(size) / 1024.0
+
+ if convert > 1024 {
+ convert = convert / 1024.0
+ rValue = fmt.Sprintf("%.2f MB", convert)
+ } else {
+ rValue = fmt.Sprintf("%.2f KB", convert)
+ }
+
+ return rValue
+}