# WEHAGO_DB

WSL Ubuntu에서 Python으로 WEHAGO 관련 데이터를 다루고, Gitea 저장소와 연동하기 위한 프로젝트입니다.

## 1. 폴더 위치

WSL Ubuntu 터미널에서 접근:

```bash
cd /home/b17301/WEHAGO_DB
```

Windows 탐색기에서 접근:

```text
\\wsl$\Ubuntu\home\b17301\WEHAGO_DB
```

VS Code에서 접근:

1. VS Code 왼쪽 아래 `><` 모양 또는 `Remote` 버튼 클릭
2. `Connect to WSL` 선택
3. `File > Open Folder`
4. `/home/b17301/WEHAGO_DB` 선택

## 2. 처음 한 번만 실행

```bash
cd /home/b17301/WEHAGO_DB
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```

또는 준비 스크립트를 사용합니다.

```bash
cd /home/b17301/WEHAGO_DB
./scripts/setup_env.sh
```

## 3. 실행 방법

```bash
cd /home/b17301/WEHAGO_DB
./scripts/run.sh
```

직접 실행하려면:

```bash
cd /home/b17301/WEHAGO_DB
source .venv/bin/activate
python main.py
```

## 3-1. WEHAGO 다운로드 결과 저장 위치

`wehago_data_download_260421.py`를 실행하면 결과 파일은 아래 폴더에 저장됩니다.

```text
/home/b17301/WEHAGO_DB/data_download
```

Windows 탐색기에서는 아래 경로로 열 수 있습니다.

```text
\\wsl$\Ubuntu\home\b17301\WEHAGO_DB\data_download
```

실제 계정별원장 엑셀은 실행 날짜별 하위 폴더에 저장됩니다.

```text
data_download/wehago_account_ledger_YYYYMMDD/
```

오류 진단 파일은 아래 폴더에 저장됩니다.

```text
data_download/diagnostics/
```

## 4. Gitea 연동

연결된 원격 저장소:

```text
https://gitea.hmac.kr/YJKIM/WEHAGO_DB.git
```

현재 설정 확인:

```bash
git remote -v
```

변경사항 저장:

```bash
git status
git add .
git commit -m "작업 내용 설명"
git push -u origin main
```

## 5. 자주 생기는 문제와 대처

`fatal: not a git repository`가 나올 때:

현재 폴더가 프로젝트 폴더가 아닙니다.

```bash
cd /home/b17301/WEHAGO_DB
```

`source .venv/bin/activate`가 안 될 때:

가상환경이 아직 없습니다.

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```

`pip install`에서 네트워크 오류가 날 때:

사내망, 프록시, DNS 문제일 수 있습니다. 인터넷 또는 사내 패키지 저장소 접근 권한을 확인해야 합니다.

`git push`에서 로그인 실패가 날 때:

Gitea 비밀번호 대신 개인 액세스 토큰을 요구할 수 있습니다. Gitea 웹에서 토큰을 만들고, 비밀번호 자리에 토큰을 입력하세요.

`remote origin already exists`가 날 때:

이미 원격 저장소가 설정되어 있습니다.

```bash
git remote -v
git remote set-url origin https://gitea.hmac.kr/YJKIM/WEHAGO_DB.git
```

## 6. 권장 작업 흐름

```bash
cd /home/b17301/WEHAGO_DB
source .venv/bin/activate
python main.py
git status
git add .
git commit -m "작업 설명"
git push
```
