summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Roig <jaroig@outlook.com>2023-11-14 04:23:18 -0500
committerJuan Roig <jaroig@outlook.com>2023-11-14 04:23:18 -0500
commitaa16b741d54325527eb6bea451cb24526551ab52 (patch)
tree812112d664df26e85484aee72ca06e8f15bebadf
parentdc7d8df66bb78485cd935118c4840fde4cb6fe4e (diff)
Add list courses functions, remove unnecessary functions, update README.
-rw-r--r--README.md18
-rw-r--r--aplus.go3
-rw-r--r--canvas.go31
-rw-r--r--main.go1
4 files changed, 31 insertions, 22 deletions
diff --git a/README.md b/README.md
index 5735615..db117a3 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,23 @@
1# aplus 1# aplus
2 2
3aplus cli 3This is an aplus cli utility created for students at Florida Polytechnic University to submit their aplus codes through the CLI.
4In time, we intend to generalize this utility to all universities.
5In the meantime however, any students from other universities wishing to use the utility may change the base_link and external_tools_code (you see this in the URL when you navigate to Aplus attendance within your course) variables.
4 6
5# Usage 7## Usage
6 8
7# Launch interactive prompt 9### List all courses and canvas course codes
8aplus 10aplus
11aplus --list-courses
12aplus -l
9 13
10# Enter code immediately 14### List favorite courses and canvas course codes
15aplus --list-favorites
16
17### Enter code immediately for an active code
11aplus -c <code> 18aplus -c <code>
12aplus --code <code> 19aplus --code <code>
13 20
21### Enter code for a specified course
22aplus -c <code> --course <course_code>
23aplus --code <code> --course <course_code> \ No newline at end of file
diff --git a/aplus.go b/aplus.go
index 18beddb..427e2bf 100644
--- a/aplus.go
+++ b/aplus.go
@@ -11,7 +11,8 @@ import (
11) 11)
12 12
13func launch_aplus(course_code int) { 13func launch_aplus(course_code int) {
14 aplus_link := fmt.Sprintf("%s/courses/%d/external_tools/sessionless_launch?id=913&access_token=%s", base_link, course_code, token) // 7329 always works 14 aplus_link := fmt.Sprintf("%s/courses/%d/external_tools/sessionless_launch?id=%d&access_token=%s",
15 base_link, course_code, external_tools_code, token)
15 aplus := get_aplus(token, aplus_link, client) 16 aplus := get_aplus(token, aplus_link, client)
16 17
17 resp, _ := client.Get(aplus) 18 resp, _ := client.Get(aplus)
diff --git a/canvas.go b/canvas.go
index 3aa8050..c31265a 100644
--- a/canvas.go
+++ b/canvas.go
@@ -14,7 +14,7 @@ import (
14func initialize() { 14func initialize() {
15 base_link = "https://floridapolytechnic.instructure.com/api/v1" 15 base_link = "https://floridapolytechnic.instructure.com/api/v1"
16 token = os.Getenv("CANVAS_API_KEY") 16 token = os.Getenv("CANVAS_API_KEY")
17 17 external_tools_code = 913
18 jar, _ := cookiejar.New(&cookiejar.Options{ 18 jar, _ := cookiejar.New(&cookiejar.Options{
19 PublicSuffixList: publicsuffix.List, 19 PublicSuffixList: publicsuffix.List,
20 }) 20 })
@@ -48,27 +48,24 @@ func get_courses(token string, link string, client http.Client) []CanvasCourse {
48 return canvas_courses 48 return canvas_courses
49} 49}
50 50
51// Need to change this to grab both ID and name, return as pairs. 51func list_all_courses() {
52func get_course_id_name_pair(canvas_courses []CanvasCourse) []uint64 { 52 all_courses := fmt.Sprintf("%s/courses?access_token=%s&per_page=100", base_link, token)
53 var courses []uint64 53
54 canvas_courses := get_courses(token, all_courses, client)
54 55
55 for _, course := range canvas_courses { 56 for _, course := range canvas_courses {
56 courses = append(courses, course.ID%10000) 57 fmt.Printf("%s, %d\n", course.Name, course.ID%10000)
57 } 58 }
58 return courses
59} 59}
60 60
61/* 61func list_favorite_courses() {
62func select_course() int { 62
63 // course selection by user happens below 63 // course selection by user happens below
64 favorites := fmt.Sprintf("%s/users/self/favorites/courses?access_token=%s&per_page=100", base_link, token) 64 favorites := fmt.Sprintf("%s/users/self/favorites/courses?access_token=%s&per_page=100", base_link, token)
65 all_courses := fmt.Sprintf("%s/courses?access_token=%s&per_page=100", base_link, token) 65
66 var canvas_courses []CanvasCourse 66 canvas_courses := get_courses(token, favorites, client)
67 canvas_courses = get_courses(token, favorites, client) 67
68 var course_ids []uint64 68 for _, course := range canvas_courses {
69 course_ids = get_course_ids(canvas_courses) 69 fmt.Printf("%s, %d\n", course.Name, course.ID%10000)
70 //selected := 1 // course_ids[selected] 70 }
71 // course selection by user happens above
72 return 0
73} 71}
74*/
diff --git a/main.go b/main.go
index 8f669e1..eb602e6 100644
--- a/main.go
+++ b/main.go
@@ -6,6 +6,7 @@ import (
6 6
7var base_link string 7var base_link string
8var token string 8var token string
9var external_tools_code int
9var client http.Client 10var client http.Client
10 11
11func main() { 12func main() {