{"id":16582873,"url":"https://github.com/winglim/hducalendergenerator","last_synced_at":"2025-04-04T22:41:42.884Z","repository":{"id":45359163,"uuid":"247780173","full_name":"WingLim/HDUCalenderGenerator","owner":"WingLim","description":"Generate HDU schedule icalendar","archived":false,"fork":false,"pushed_at":"2023-02-16T00:44:06.000Z","size":65,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-10T07:16:33.707Z","etag":null,"topics":["docker-image","hdu","icalendar","schedule"],"latest_commit_sha":null,"homepage":"https://api.limxw.com/schedule","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WingLim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-16T17:42:17.000Z","updated_at":"2021-12-18T09:00:07.000Z","dependencies_parsed_at":"2024-12-18T03:10:45.671Z","dependency_job_id":"d2817a5e-a9bc-4826-ade6-5e38aa040711","html_url":"https://github.com/WingLim/HDUCalenderGenerator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WingLim%2FHDUCalenderGenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WingLim%2FHDUCalenderGenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WingLim%2FHDUCalenderGenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WingLim%2FHDUCalenderGenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WingLim","download_url":"https://codeload.github.com/WingLim/HDUCalenderGenerator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247261584,"owners_count":20910107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-image","hdu","icalendar","schedule"],"created_at":"2024-10-11T22:34:25.946Z","updated_at":"2025-04-04T22:41:42.856Z","avatar_url":"https://github.com/WingLim.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HDUCalenderGenerator\n[![build](https://github.com/WingLim/HDUCalenderGenerator/actions/workflows/build.yaml/badge.svg)](https://github.com/WingLim/HDUCalenderGenerator/actions/workflows/build.yaml)\n[![Docker Pulls](https://img.shields.io/docker/pulls/winglim/hducalgen?logo=docker)](https://hub.docker.com/repository/docker/winglim/hducalgen)\n[![Github Package](https://img.shields.io/static/v1?label=WingLim\u0026message=Github%20Package\u0026color=blue\u0026logo=github)](https://github.com/users/WingLim/packages/container/package/hducalgen)\n\nGenerate HDU schedule icalendar\n\n## 本地使用\n\n### 下载并安装依赖\n```bash\n$ git clone https://github.com/WingLim/HDUCalenderGenerator.git\n$ cd HDUCalenderGenerator\n$ pip install -r requirements.txt\n```\n\n### 配置\n将 `info.example.py` 复制一份到 `info.py`\n修改 `info.py` 内容\n```python\nfrom datetime import date\n\n# 学期开始时间\nsemester_start = date(2021, 3, 1)\n# 学号\naccount = \"\"\n# 密码\npassword = \"\"\n```\n\n### 生成 .ics\n程序会输出 `output.ics` 到根目录\n```bash\n$ python hdu_ics.py\n```\n\n## 使用在线服务\nhttps://api.limxw.com/schedule\n\n## 使用 API\n### 请求\n```\nGET https://api.limxw.com/schedule/json?xh={$学号}\u0026pwd={$密码}\u0026save={$bool}\n```\n### 参数说明\n\n| 参数名 | 默认值 | 类型   | 说明                       |\n| ------ | ------ | ------ | -------------------------- |\n| xh     | -      | string | 登录数字杭电的学号         |\n| pwd    | -      | string | 登录数字杭电的密码         |\n| save   | 0      | bool   | 是否将课程信息保存在服务器 |\n\nPS：即使选择保存，也不保证数据的可持续性，因为本来是拿来给自己用。\n\nPS：如果密码中含 `+` 请转义成 `%2B`\n\n### 返回\n\n```\n[\n\t{\n\t\t\"title\": \"计算机网络（甲）\", \n\t\t\"timeinfo\": \"周一第1,2节{第1-16周}\", \t\t\t\t\n\t\t\"teacher\": \"徐明\", \n\t\t\"location\": \"第7教研楼北110\"\n\t},\n\t...\n]\n```\n\n### 样例\n\n```\nGET https://api.limxw.com/schedule/json?xh=18011111\u0026pwd=123456\n```\n\n\n\n\n\n\n## 搭建 API 服务\n\n### 使用 Docker 搭建\n\n```bash\n$ docker pull winglim/hducalgen\n$ docker run -itd \\\n\t--name hducalgen \n\t-p 3000:3000 \n\twinglim/hducalgen\n```\n\n#### Docker 可选环境变量\n\n| 名词           | 默认值    | 说明                      |\n| -------------- | --------- | ------------------------- |\n| HDUCPORT       | 3000      | 服务开启的端口            |\n| HDUCDEBUG      | True      | Flask 是否开启 debug 模式 |\n| SEMESTER_START | 2021-3-01 | 学期开始日期              |\n\n注：`SEMESTER_START` 要参照默认值格式 `YYYY-M-DD`\n\n### 服务器上搭建\n\n\u003e 同本地使用前两步\n\n注意：`info.py` 中填写 `semester_start` 并留空 `account` 和 `password`\n\n### 开启服务\n```bash\n$ python server.py\n```\n\n服务将在 `domain.com:3000/schedule` 开启，监听 `3000` 端口\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinglim%2Fhducalendergenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwinglim%2Fhducalendergenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinglim%2Fhducalendergenerator/lists"}