Metadata-Version: 2.1
Name: nyust-sso-client
Version: 0.1.0
Summary: A client for NYUST SSO system, providing authenticated access and common API calls.
Home-page: https://github.com/jason9294/NYUST-SSO-Client
Author: jason9294
Author-email: jason9294@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.31.0
Requires-Dist: beautifulsoup4>=4.12.3
Requires-Dist: pydantic>=2.8.2
Requires-Dist: pytz>=2024.1

# NYUST SSO Client

NYUST 單一登入系統 (SSO) 模擬客戶端登入，並取得相關資訊。

## 安裝

```bash
pip install ddddocr
```

## 使用範例

```python
import ddddocr
from nyust_sso import NYUSTSSOClient

if __name__ == "__main__":
    ocr = ddddocr.DdddOcr(show_ad=False)

    client = NYUSTSSOClient()
    captcha = client.fetch_captcha()
    captcha_text = ocr.classification(captcha)

    client.login("<username>", "<password>", captcha_text.lower())

    # 獲取當前學期所有課程資訊
    courses = client.fetch_my_courses()
```

## 參數說明

- `NYUSTSSOClient`: 模組的核心，用於與 NYUST SSO 系統互動。
- `fetch_captcha()`: 抓取登入頁面上的驗證碼圖片。
- `login(username, password, captcha_text)`: 執行登入動作，需提供使用者名稱、密碼以及辨識後的驗證碼文字。
- `fetch_my_courses()`: 登入後，取得當前學期的課程資訊。

## 驗證碼處理

此範例中使用了 `ddddocr` 模組來辨識驗證碼。若對驗證碼有其他需求可自行實現替換 `ddddocr`，此範例只是提供一種破解示範。

## 注意事項

- `captcha_text.lower()`: 轉換驗證碼文字為小寫，確保與伺服器驗證格式一致。
