Skip to content

Commit bae709e

Browse files
author
Serhii Khortiuk
authored
Merge pull request #4 from thestd/fix_teacher_schedule
Fixed `README.md`and teacher schedule
2 parents fce4d96 + f1ea359 commit bae709e

File tree

4 files changed

+13
-11
lines changed

4 files changed

+13
-11
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ A scrapper that works as a server with open api which parse the site of the
4949
```
5050
- examples:
5151
- `yourdomain.com/api/schedule?query=ПІ-4&type=group`
52-
- `yourdomain.com/api/schedule?query=ПІ-4&type=froup&date_from=
53-
08.04.2019&date_to=09.04.2019`
52+
- `yourdomain.com/api/schedule?query=Козленко Микола Іванович&q_type=teacher&date_from=07.05.2019`
53+
- `yourdomain.com/api/schedule?query=ПІ-4&type=group&date_from=08.04.2019&date_to=09.04.2019`
5454
- response example:
5555
```json
5656
{

app/api/handlers.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@ async def options(self):
2323

2424
class ScheduleApiHandler(BaseHandler):
2525
async def prepare(self):
26-
group = self.get_query_argument('group')
26+
query = self.get_query_argument('query')
27+
q_type = self.get_query_argument('q_type', 'group')
2728
faculty = self.get_query_argument('faculty', '0')
2829
date_from = self.get_query_argument('date_from', '')
2930
date_to = self.get_query_argument('date_to', '')
3031

3132
# TODO: date validation
3233

33-
self._params = dict(group=group,
34+
self._params = dict(query=query,
35+
q_type=q_type,
3436
faculty=faculty,
3537
date_from=date_from,
3638
date_to=date_to
@@ -39,7 +41,8 @@ async def prepare(self):
3941
async def get(self):
4042
body = await load_schedule(**self._params)
4143
schedule = parse_schedule(body)
42-
schedule_json = serialize_schedule(group=self._params['group'],
44+
schedule_json = serialize_schedule(query=self._params['query'],
45+
q_type=self._params['q_type'],
4346
schedule=schedule)
4447
self.set_status(200)
4548
self.write(schedule_json)

app/scraper/serializers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
__all__ = ["serialize_schedule", "serialize_list", ]
55

66

7-
def serialize_schedule(group, schedule):
7+
def serialize_schedule(query, q_type, schedule):
88
# Todo: provide docstring
99
to_serialize = {
10-
'group': group,
10+
q_type: query,
1111
'schedule': schedule
1212
}
1313
schedule_json = json.dumps(to_serialize, ensure_ascii=False)

app/scraper/utils.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,15 @@ def prepare_post_data(**kwargs):
3232
dict: dict, prepared to use as body in POST request.
3333
3434
"""
35-
group = kwargs.get('group', '')
35+
query = kwargs.get('query', '')
36+
q_type = kwargs.get('q_type', '')
3637
faculty = kwargs.get('faculty', '')
37-
teacher = kwargs.get('teacher', '')
3838
sdate = kwargs.get('date_from', '')
3939
edate = kwargs.get('date_to', '')
4040

4141
post_data = {
4242
'faculty': faculty,
43-
'teacher': teacher.encode(options.base_encoding),
44-
'group': group.encode(options.base_encoding),
43+
q_type: query.encode(options.base_encoding),
4544
'sdate': sdate.encode(options.base_encoding),
4645
'edate': edate.encode(options.base_encoding),
4746
'n': 700

0 commit comments

Comments
 (0)