1
1
package main
2
2
3
3
import (
4
- "strings"
5
- "strconv"
6
- "./pyraconv"
7
- "./fmtutils"
8
- "fmt"
9
- "./dateparse"
10
- "time"
4
+ "fmt"
5
+ "strconv"
6
+ "strings"
7
+ "time"
8
+
9
+ "./dateparse"
10
+ "./fmtutils"
11
+ "./pyraconv"
11
12
)
12
13
13
14
func Split (s interface {}, d interface {}) []string {
14
- str1 := pyraconv .ToString (s )
15
- str2 := pyraconv .ToString (d )
16
- arr := strings .Split (str1 , str2 )
17
- return arr
15
+ str1 := pyraconv .ToString (s )
16
+ str2 := pyraconv .ToString (d )
17
+ arr := strings .Split (str1 , str2 )
18
+ return arr
18
19
}
19
20
20
21
func Trim (s string , d string ) string {
21
- return strings .Trim (s , d )
22
+ return strings .Trim (s , d )
22
23
}
23
24
24
25
func Replace (str interface {}, src interface {}, dst interface {}) string {
25
- str1 := pyraconv .ToString (str )
26
- src1 := pyraconv .ToString (src )
27
- dst1 := pyraconv .ToString (dst )
28
- return strings .Replace (str1 , src1 , dst1 , - 1 )
26
+ str1 := pyraconv .ToString (str )
27
+ src1 := pyraconv .ToString (src )
28
+ dst1 := pyraconv .ToString (dst )
29
+ return strings .Replace (str1 , src1 , dst1 , - 1 )
29
30
}
30
31
31
-
32
32
func Nobr (s interface {}) string {
33
- str := pyraconv .ToString (s )
34
- str = strings .Join (strings .Split (str , "\n " ), " " )
35
- str = strings .Join (strings .Split (str , " " ), " " )
36
- return str
33
+ str := pyraconv .ToString (s )
34
+ str = strings .Join (strings .Split (str , "\n " ), " " )
35
+ str = strings .Join (strings .Split (str , " " ), " " )
36
+ return str
37
37
}
38
38
39
39
func Br (s interface {}) string {
40
- str := pyraconv .ToString (s )
41
- return strings .Join (strings .Split (str , "," ), ", " )
40
+ str := pyraconv .ToString (s )
41
+ return strings .Join (strings .Split (str , "," ), ", " )
42
42
}
43
43
44
44
/* Divide text to rows by given row length
45
- */
45
+ */
46
46
func WordWrap (s string , limit int ) string {
47
- srcStr := s //strings.Join(strings.Split(s, "\n"), " ")
47
+ srcStr := s //strings.Join(strings.Split(s, "\n"), " ")
48
48
str := ""
49
49
pos := 0
50
50
for _ , c := range srcStr {
@@ -61,171 +61,170 @@ func WordWrap(s string, limit int) string {
61
61
62
62
/* Escape Markdown symbols in a SQL query,
63
63
* convert to a single line
64
- */
64
+ */
65
65
func EscapeQuery (s interface {}) string {
66
- str := pyraconv .ToString (s )
67
-
68
- str = strings .Join (strings .Split (str , "\n \n " ), "<br/>" )
69
- str = strings .Join (strings .Split (str , " " ), " " )
70
- str = strings .Join (strings .Split (str , "*" ), "\\ *" )
71
- str = strings .Join (strings .Split (str , "_" ), "\\ _" )
72
- str = strings .Join (strings .Split (str , "-" ), "\\ -" )
73
- str = strings .Join (strings .Split (str , "~" ), "\\ ~" )
74
- str = strings .Join (strings .Split (str , "`" ), "\\ `" )
75
- // str = strings.Join(strings.Split(str, "\""), """)
76
- str = strings .Join (strings .Split (str , "|" ), "ǀ" )
77
- str = strings .Join (strings .Split (str , "\n \n " ), "<br/>" )
78
- str = strings .Join (strings .Split (str , "\n \r " ), "<br/>" )
79
- str = strings .Join (strings .Split (str , "\n " ), "<br/>" )
80
- str = strings .Join (strings .Split (str , "<br/><br/>" ), "<br/>" )
81
- return str
66
+ str := pyraconv .ToString (s )
67
+ str = strings .Join (strings .Split (str , "http" ), "http" )
68
+ str = strings .Join (strings .Split (str , "\n \n " ), "<br/>" )
69
+ str = strings .Join (strings .Split (str , " " ), " " )
70
+ str = strings .Join (strings .Split (str , "*" ), "\\ *" )
71
+ str = strings .Join (strings .Split (str , "_" ), "\\ _" )
72
+ str = strings .Join (strings .Split (str , "-" ), "\\ -" )
73
+ str = strings .Join (strings .Split (str , "~" ), "\\ ~" )
74
+ str = strings .Join (strings .Split (str , "`" ), "\\ `" )
75
+ str = strings .Join (strings .Split (str , "|" ), "ǀ" )
76
+ str = strings .Join (strings .Split (str , "\n \n " ), "<br/>" )
77
+ str = strings .Join (strings .Split (str , "\n \r " ), "<br/>" )
78
+ str = strings .Join (strings .Split (str , "\n " ), "<br/>" )
79
+ str = strings .Join (strings .Split (str , "<br/><br/>" ), "<br/>" )
80
+ return str
82
81
}
83
82
84
83
/* Add \t before every row in text to preview block as code block
85
84
* s String - string for preprocces
86
85
* skipFirst bool - flag to skip first row
87
- */
86
+ */
88
87
func Code (s string , skipFirst bool ) string {
89
- codeLines := strings .Split (s , "\n " )
90
- for i , line := range codeLines {
91
- if i > 0 {
92
- codeLines [i ] = "\t " + line
93
- }
94
- }
95
- if skipFirst {
96
- return strings .Join (codeLines , "\n " )
97
- } else {
98
- return "\t " + strings .Join (codeLines , "\n " )
99
- }
88
+ codeLines := strings .Split (s , "\n " )
89
+ for i , line := range codeLines {
90
+ if i > 0 {
91
+ codeLines [i ] = "\t " + line
92
+ }
93
+ }
94
+ if skipFirst {
95
+ return strings .Join (codeLines , "\n " )
96
+ } else {
97
+ return "\t " + strings .Join (codeLines , "\n " )
98
+ }
100
99
}
101
100
102
101
func UnitValue (value interface {}, unit interface {}) string {
103
- val := pyraconv .ToString (value )
104
- un := pyraconv .ToString (unit )
105
- if len (un ) <= 0 {
106
- return ""
107
- }
108
- intval , err := strconv .ParseInt (val , 10 , 64 )
109
- if err != nil {
110
- return "" // val + "(" + un + ")"
111
- }
112
- if intval < 0 {
113
- return "" // val
114
- }
115
- unitFactor := fmtutils .GetUnit (un )
116
- if unitFactor != - 1 {
117
- intval = intval * unitFactor
118
- return fmtutils .ByteFormat (float64 (intval ), 2 )
119
- }
120
- return "" //val + "(" + un + ")"
102
+ val := pyraconv .ToString (value )
103
+ un := pyraconv .ToString (unit )
104
+ if len (un ) <= 0 {
105
+ return ""
106
+ }
107
+ intval , err := strconv .ParseInt (val , 10 , 64 )
108
+ if err != nil {
109
+ return "" // val + "(" + un + ")"
110
+ }
111
+ if intval < 0 {
112
+ return "" // val
113
+ }
114
+ unitFactor := fmtutils .GetUnit (un )
115
+ if unitFactor != - 1 {
116
+ intval = intval * unitFactor
117
+ return fmtutils .ByteFormat (float64 (intval ), 2 )
118
+ }
119
+ return "" //val + "(" + un + ")"
121
120
}
122
121
123
-
124
122
func RawIntUnitValue (value interface {}, unit interface {}) int {
125
- val := pyraconv .ToString (value )
126
- un := pyraconv .ToString (unit )
127
- intval , err := strconv .ParseInt (val , 10 , 64 )
128
- if err != nil {
129
- return - 1
130
- }
131
- if intval < 0 {
132
- return - 1
133
- }
134
- if len (un ) <= 0 {
135
- return int (intval )
136
- }
137
- unitFactor := fmtutils .GetUnit (un )
138
- if unitFactor != - 1 {
139
- intval = intval * unitFactor
140
- return int (intval )
141
- }
142
- return - 1
123
+ val := pyraconv .ToString (value )
124
+ un := pyraconv .ToString (unit )
125
+ intval , err := strconv .ParseInt (val , 10 , 64 )
126
+ if err != nil {
127
+ return - 1
128
+ }
129
+ if intval < 0 {
130
+ return - 1
131
+ }
132
+ if len (un ) <= 0 {
133
+ return int (intval )
134
+ }
135
+ unitFactor := fmtutils .GetUnit (un )
136
+ if unitFactor != - 1 {
137
+ intval = intval * unitFactor
138
+ return int (intval )
139
+ }
140
+ return - 1
143
141
}
144
142
145
143
func LimitStr (value interface {}, limit int ) string {
146
- val := pyraconv .ToString (value )
147
- if len (val ) > limit {
148
- return val [0 :limit - 1 ] + "..."
149
- }
150
- return val
144
+ val := pyraconv .ToString (value )
145
+ if len (val ) > limit {
146
+ return val [0 :limit - 1 ] + "..."
147
+ }
148
+ return val
151
149
}
152
150
153
151
func Round (value interface {}, places interface {}) string {
154
- val := pyraconv .ToFloat64 (value )
155
- pl := pyraconv .ToInt64 (places )
156
- if value != nil && places != nil {
157
- return fmt .Sprintf ("%v" , fmtutils .RoundUp (val , int (pl )))
158
- }
159
- return fmt .Sprintf ("%v" , val )
152
+ val := pyraconv .ToFloat64 (value )
153
+ pl := pyraconv .ToInt64 (places )
154
+ if value != nil && places != nil {
155
+ return fmt .Sprintf ("%v" , fmtutils .RoundUp (val , int (pl )))
156
+ }
157
+ return fmt .Sprintf ("%v" , val )
160
158
}
161
159
162
160
func Add (a int , b int ) int {
163
- return a + b
161
+ return a + b
164
162
}
165
163
166
164
func Mul (a int , b int ) float64 {
167
- return float64 (a * b )
165
+ return float64 (a * b )
168
166
}
169
167
170
168
func Div (a int , b int ) int {
171
- return a / b
169
+ return a / b
172
170
}
173
171
174
172
func Sub (a int , b int ) int {
175
- return a - b
173
+ return a - b
176
174
}
177
175
178
176
func MsFormat (value interface {}) string {
179
- val := pyraconv .ToInt64 (value )
180
- if val != 0 {
181
- tm , _ := time .ParseDuration (strconv .FormatInt (val , 10 ) + "ms" )
182
- return tm .String ()
183
- } else {
184
- return strconv .FormatInt (val , 10 ) + "ms"
185
- }
177
+ val := pyraconv .ToString (value )
178
+ floatVal := pyraconv .ToFloat64 (value )
179
+ tm , terr := time .ParseDuration (val + " ms" )
180
+ if tm > time .Second && terr == nil {
181
+ return tm .String ()
182
+ } else {
183
+ return strconv .FormatFloat (floatVal , 'f' , 3 , 64 ) + " ms"
184
+ }
186
185
}
187
186
188
187
func NumFormat (value interface {}, places interface {}) string {
189
- val := pyraconv .ToFloat64 (value )
190
- pl := pyraconv .ToInt64 (places )
191
- if pl == - 1 {
192
- return strconv .FormatFloat (val , 'f' , int (pl ), 64 )
193
- } else {
194
- return fmtutils .NumFormat (val , int (pl ))
195
- }
188
+ val := pyraconv .ToFloat64 (value )
189
+ pl := pyraconv .ToInt64 (places )
190
+ if pl == - 1 {
191
+ return strconv .FormatFloat (val , 'f' , int (pl ), 64 )
192
+ } else {
193
+ return fmtutils .NumFormat (val , int (pl ))
194
+ }
196
195
}
197
196
198
197
func DtFormat (value interface {}) string {
199
- val := pyraconv .ToString (value )
198
+ val := pyraconv .ToString (value )
200
199
t , err := dateparse .ParseAny (val )
201
200
if err != nil {
202
201
} else {
203
202
return t .String ()
204
- }
203
+ }
205
204
return val
206
205
}
207
206
208
207
func RawIntFormat (value interface {}) string {
209
- val := pyraconv .ToInt64 (value )
210
- return fmtutils .RawIntFormat (val )
208
+ val := pyraconv .ToInt64 (value )
209
+ return fmtutils .RawIntFormat (val )
211
210
}
212
211
213
212
func RawFloatFormat (value interface {}, places interface {}) string {
214
- val := pyraconv .ToFloat64 (value )
215
- pl := pyraconv .ToInt64 (places )
216
- return fmtutils .RawFloatFormat (val , int (pl ))
213
+ val := pyraconv .ToFloat64 (value )
214
+ pl := pyraconv .ToInt64 (places )
215
+ return fmtutils .RawFloatFormat (val , int (pl ))
217
216
}
218
217
219
218
func Int (value interface {}) int {
220
- if value != nil {
221
- return int (pyraconv .ToInt64 (value ))
222
- }
223
- return 0
219
+ if value != nil {
220
+ return int (pyraconv .ToInt64 (value ))
221
+ }
222
+ return 0
224
223
}
225
224
226
225
func ByteFormat (value interface {}, places interface {}) string {
227
- val := pyraconv .ToFloat64 (value )
228
- pl := pyraconv .ToInt64 (places )
229
- result := fmtutils .ByteFormat (val , int (pl ));
230
- return Nobr (result );
226
+ val := pyraconv .ToFloat64 (value )
227
+ pl := pyraconv .ToInt64 (places )
228
+ result := fmtutils .ByteFormat (val , int (pl ))
229
+ return Nobr (result )
231
230
}
0 commit comments