annotate syllabus/getSyllabus.go @ 3:e4088b031eba

add cmd
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Tue, 31 Mar 2020 12:17:52 +0900
parents dccd0dd6cfbc
children a0d23f38344d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
1 package syllabus
0
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import (
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 "bufio"
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
5 "io"
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
6 "net/http"
3
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
7 "net/url"
0
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 "os"
3
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
9 "path"
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
10 "path/filepath"
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
11 "strconv"
0
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 "strings"
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
13 "time"
0
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 "github.com/pkg/errors"
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 )
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 const (
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 monday int = iota
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 tuesday
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 wednesday
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 thursday
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 friday
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 )
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
26 //GetSyllabus is use main function struct. members using download html operation
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
27 type GetSyllabus struct {
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
28 year int
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
29 term string
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
30 outputdir string
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
31 }
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
32
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
33 // LectureDay include day of week (0~4, error -> 5), period, lastpriod (1~6)
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
34 type LectureDay struct {
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
35 DayOfWeek int
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
36 Period int
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
37 LastPeriod int
0
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 }
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
40 //Lecture ID is ex. 600625001 , Name is プログラミング1, Day is LecutreDay
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
41 type Lecture struct {
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
42 ID string
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
43 Name string
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
44 Day *lectureDay
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
45 Teacher string
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
46 }
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
47
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
48 //CreateGetSyllabus is constructor and initialize from now time
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
49 func CreateGetSyllabus() *GetSyllabus {
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
50 var gs GetSyllabus
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
51 tm := time.Now()
3
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
52 //gs.year = tm.Year()
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
53 gs.year = 2019
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
54 if tm.Month() < 7 {
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
55 gs.term = "previous"
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
56 } else {
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
57 gs.term = "latter"
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
58 }
3
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
59 gs.term = "previous"
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
60
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
61 gs.outputdir = filepath.Join(strconv.Itoa(gs.year), gs.term)
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
62 return &gs
0
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 }
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64
1
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
65 var dayPeriodID = "ctl00_phContents_Detail_lbl_day_period\">"
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
66 var lectureNameID = "ctl00_phContents_Detail_lbl_lbl_lct_name_double\">"
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
67 var teacherNameID = "ctl00_phContents_Detail_lbl_syl_staff_name_double\">"
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
68 var endSpan = "</span>"
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
69 var dayOfWeeklen = len("月")
1
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
70
3
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
71 //"https://tiglon.jim.u-ryukyu.ac.jp/portal/Public/Syllabus/SyllabusSearchStart.aspx?lct_year=2019&lct_cd=610004071&je_cd=1"
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
72 var endpoint = "https://tiglon.jim.u-ryukyu.ac.jp"
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
73
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
74 //LecIDtoDownloadSyllabus is download from lecture ID
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
75 func (g *GetSyllabus) LecIDtoDownloadSyllabus(lectureID string) error {
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
76 var strBuilder strings.Builder
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
77 strBuilder.WriteString(lectureID)
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
78 strBuilder.WriteString(".html")
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
79
3
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
80 putputPath := filepath.Join(g.outputdir, strBuilder.String())
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
81
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
82 file, err := os.Create(strBuilder.String())
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
83 defer file.Close()
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
84
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
85 if err != nil {
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
86 return errors.Wrap("failed create html...")
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
87 }
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
88
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
89 strBuilder.Reset()
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
90
3
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
91 u, err := url.Parse(endpoint)
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
92 if err != nil {
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
93 return err
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
94 }
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
95
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
96 u.path = path.Join(u.path, "portal", "Public", "Syllabus", "SyllabusSearchStart.aspx")
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
97 q := u.Query()
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
98 q.Set("lect_year", g.year)
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
99 q.Set("lect_cd", lectureID)
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
100 q.Set("je_cd", "1")
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
101 u.RawQuery = q.Encode()
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
102
e4088b031eba add cmd
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
103 res, err := http.Get(u.String())
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
104 defer res.Body.Close()
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
105
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
106 if err != nil {
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
107 return errors.Wrap("failed download html")
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
108 }
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
109
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
110 _, err := io.Copy(file, res.Body)
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
111 if err != nil {
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
112 return errors.Wrap("failed download html")
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
113 }
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
114
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
115 return nil
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
116 }
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
117
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
118 //LecIDwFilePath2LectureStruct is require LectureID (== Lecture.ID), filePath ( syllabus.html path)
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
119 func (g *GetSyllabus) LecIDwFilePath2LectureStruct(lectureID, filePath string) (*lecture, error) {
0
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 file, err := os.Open(filePath)
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
121
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 if err != nil {
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 return nil, errors.Wrap(err, "failed open html file")
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 }
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 scanner := bufio.NewScanner(file)
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 var lec lecture
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 lec.id = lectureID
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 for scanner.Scan() {
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 line := scanner.Text()
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 // day Period
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 if i := strings.Index(line, dayPeriodID); i >= 0 {
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 if j := strings.Index(line, endSpan); j >= 0 {
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 i += len(dayPeriodID)
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 day := line[i:j]
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
138 lec.day.dayOfWeek, err = kanjiday2int(day[0:dayOfWeeklen])
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
139 if err != nil {
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
140 return nil, errors.Wrap(err, "failed convert day")
0
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 }
2
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
142 lec.day.period, err = strconv.Atoi(day[dayOfWeeklen : dayOfWeeklen+1])
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
143
dccd0dd6cfbc move package
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
144 // dayの長さで〜があるかどうかが判定する
0
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 }
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 continue
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 }
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 // lecture name
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 if i := strings.Index(line, lectureNameID); i >= 0 {
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 if j := strings.Index(line, endSpan); j >= 0 {
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 i += len(lectureNameID)
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 lec.name = line[i:j]
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 }
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 continue
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 }
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 //teacher name
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 if i := strings.Index(line, teacherNameID); i >= 0 {
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 if j := strings.Index(line, endSpan); j >= 0 {
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 i += len(teacherNameID)
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 lec.teacher = line[i:j]
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 }
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 break
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 }
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 }
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 file.Close()
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 return &lec, nil
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 }
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 func kanjiday2int(kanjiDay string) (int, error) {
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 return 0, nil
5191dd198bf4 add convertSyllabus method
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 }