-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.go
More file actions
64 lines (56 loc) · 1.52 KB
/
main.go
File metadata and controls
64 lines (56 loc) · 1.52 KB
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
// If you want to use the api in any other language supported by c, build this main file
package main
import "C"
import (
"net/url"
)
//export mainC
func mainC(shahafURLPtr *C.char, listClassesC C.int, classNumC C.int) *C.char {
shahafURL := C.GoString(shahafURLPtr)
listClasses := int(listClassesC)
classNum := int(classNumC)
_, err := url.ParseRequestURI(shahafURL)
if err != nil {
panic(err)
}
var jsonOut string
if listClasses == 1 {
jsonOut = getClassJSON(shahafURL)
} else {
jsonOut = getTimeTableJSON(classNum, shahafURL)
}
return C.CString(jsonOut)
}
func main() {
}
// // Deprecated
// func main() {
// var classNum int
// var listClasses bool
// var shahafURL string
// var outputToFile string
// flag.BoolVar(&listClasses, "list", false, "Lists all classes in JSON form")
// flag.IntVar(&classNum, "class", 0, "Class Name")
// flag.StringVar(&shahafURL, "url", "", "Shahaf Time Table Website URL (REQUIRED)")
// flag.StringVar(&outputToFile, "output", "", "Output the JSON to your specified file. By default: Prints the JSON in stdout")
// flag.Parse()
// _, err := url.ParseRequestURI(shahafURL)
// if err != nil {
// flag.PrintDefaults()
// panic(err)
// }
// var jsonOut string
// if listClasses == true {
// jsonOut = getClassJSON(shahafURL)
// } else {
// jsonOut = getTimeTableJSON(classNum, shahafURL)
// }
// if outputToFile == "" {
// println(jsonOut)
// } else {
// err = os.WriteFile(outputToFile, []byte(jsonOut), 0644)
// if err != nil {
// panic(err)
// }
// }
// }