-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUtils.go
114 lines (106 loc) · 2.14 KB
/
Utils.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
package main
import (
"crypto/sha256"
"encoding/hex"
"fmt"
"os"
"strings"
"github.com/getsentry/sentry-go"
"github.com/google/uuid"
)
func HashGen(s string) string {
h := sha256.New()
h.Write([]byte(s))
return hex.EncodeToString(h.Sum(nil))
}
func idGenarator() string {
return uuid.New().String()
}
func log_excepts(_log string) {
path := func() string {
if GetProccessMode() == "development" {
return "./logs/user-logs.log"
} else {
return "/data/logs/user-logs.log"
}
}()
if GetProccessMode() == "product" {
eve := sentry.NewEvent()
eve.Type = "Log"
eve.Message = _log
sentry.CaptureEvent(eve)
}
f, err := os.OpenFile(path, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
check(err)
defer f.Close()
_, err = f.WriteString(_log + "\n")
check(err)
}
func check(e error) bool {
if e != nil {
if GetProccessMode() == "product" {
sentry.CaptureException(e)
} else {
fmt.Printf("Error: %s", e)
}
return true
} else {
return false
}
}
var titles []string = []string{
"ریاضی",
"فیزیک",
"شیمی",
"وبسایت",
"php",
"برنامه نویسی",
"معماري",
"اسمبلی",
"مقاومت",
"مقاومت مصالح",
"رفع اشکال",
"انجام دهنده",
"مبانی برنامه نویسی",
"طراحی صنعتی",
"اخلاق اسلامی",
"سی شارپ",
"پایتون",
"پی اچ پی",
"معماري كامپيوتر",
"انرژی الکتریکی",
"سیستم های انرژی",
"مصالح",
"آمار و احتمال",
"امار",
"هوش مصنوعی",
"یادگیری ماشین",
"کنترل پروژه",
"مدار الکتریکی",
"زبان",
"انگلیسی",
"فرانسوی",
"آلمانی",
"المانی",
}
func titleDetector(text string) string {
var counts []int
for i := 0; i < len(titles); i++ {
counts = append(counts, strings.Count(text, titles[i]))
}
var maxValue int = 0
var maxValueIndex int = 0
for i := 0; i < len(counts); i++ {
if counts[i] > maxValue {
maxValue = counts[i]
maxValueIndex = i
}
}
var result string
if maxValue == 0 {
result = "غیره"
} else {
result = titles[maxValueIndex]
}
return result
}