Skip to content

Hobby2025/Renam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

15 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Renam ๐Ÿ“

์ด๋ฏธ์ง€ ํŒŒ์ผ ์ •๋ ฌ ๋ฐ ์ผ๊ด„ ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋„๊ตฌ

Renam์€ ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ํด๋”์—์„œ ์ž๋™ ์ •๋ ฌํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ๊ทœ์น™์œผ๋กœ ์ผ๊ด„์ ์œผ๋กœ ํŒŒ์ผ๋ช…์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” GUI ๊ธฐ๋ฐ˜ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์ง€์›: Windows, macOS, Linux (Docker ์ง€์›)

๐Ÿš€ ์ฃผ์š” ๊ธฐ๋Šฅ

๊ธฐ๋Šฅ ์„ค๋ช…
ํด๋” ์„ ํƒ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํด๋” ์„ ํƒ ์ฐฝ ์ œ๊ณต
ํ•˜์œ„ ํด๋” ๋ชจ๋“œ ์ƒ์œ„ ํด๋” ์„ ํƒ ์‹œ ํ•˜์œ„ ํด๋”๋ฅผ ์ขŒ์ธก ๋ฆฌ์ŠคํŠธ๋กœ ํ‘œ์‹œ, ํด๋”๋ณ„๋กœ ๋…๋ฆฝ๋œ ์„ค์ •/๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ด€๋ฆฌ
์ด๋ฏธ์ง€ ํ•„ํ„ฐ๋ง JPG, PNG ๋“ฑ ํ™•์žฅ์ž ์ž๋™ ์„ ํƒ
์ •๋ ฌ ๊ทœ์น™ ์„ ํƒ ์ˆซ์ž, ์•ŒํŒŒ๋ฒณ, ๋‚ ์งœ, ํ™•์žฅ์ž, ์‚ฌ์šฉ์ž ์ •๊ทœ์‹
์ •๋ ฌ ์œ ์ง€ ์ด๋ฆ„ ๋ณ€๊ฒฝ/๋˜๋Œ๋ฆฌ๊ธฐ/์ดˆ๊ธฐํ™”/์žฌ์Šค์บ” ํ›„์—๋„ ํ˜„์žฌ ์ •๋ ฌ ๊ทœ์น™ ์ž๋™ ์žฌ์ ์šฉ (ํ•˜์œ„ ํƒญ ๋ชจ๋“œ ํฌํ•จ)
ํŒŒ์ผ๋ช… ํŒจํ„ด {n} ๋“ฑ์„ ์ด์šฉํ•ด ์ผ๊ด„ ์ด๋ฆ„ ์ƒ์„ฑ
์‹ค์‹œ๊ฐ„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ณ€๊ฒฝ๋  ํŒŒ์ผ๋ช…์„ ์ฆ‰์‹œ ํ‘œ์‹œ, ๋ฏธ๋ฆฌ๋ณด๊ธฐ > ํด๋”๋ช… ํƒ€์ดํ‹€๋กœ ํ˜„์žฌ ์ปจํ…์ŠคํŠธ ํ‘œ์‹œ
์ˆ˜๋™ ์ •๋ ฌ ๊ธฐ๋Šฅ โ†‘โ†“ ๋ฒ„ํŠผ์œผ๋กœ ๋ธ”๋ก ๋‹จ์œ„ ์ˆœ์„œ ์ด๋™
Undo ๊ธฐ๋Šฅ ์›๋ž˜ ํŒŒ์ผ๋ช…์œผ๋กœ ๋ณต๊ตฌ (์ตœ๊ทผ 10๊ฐœ)
๋ถ€๋“œ๋Ÿฌ์šด UI ์ž‘์€ ํฐํŠธ์™€ ์œ„์ ฏ ์žฌ์‚ฌ์šฉ์œผ๋กœ ๋ฆฌ์ŠคํŠธ/ํ…Œ์ด๋ธ” ๊นœ๋นก์ž„ ์ตœ์†Œํ™”
Docker ์ง€์› ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ GUI ์ ‘์† ๊ฐ€๋Šฅ
EXE ์ œ๊ณต Windows ์„ค์น˜ ์—†์ด ์‹คํ–‰ ๊ฐ€๋Šฅ

๐Ÿ–ฅ๏ธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

๐Ÿ“‚ ํด๋” ์„ ํƒ โ†’ ์˜ต์…˜ ์„ค์ • โ†’ ํŒŒ์ผ ํŽธ์ง‘ โ†’ ์‹คํ–‰ ์™„๋ฃŒ!

UI ๊ตฌ์กฐ

Renam

[ํด๋” ์„ ํƒ]
  C:/Users/.../Pictures

[์ขŒ์ธก] ํ•˜์œ„ ํด๋” / ์˜ต์…˜
  - ํด๋”A
  - ํด๋”B
  - ํด๋”C

[์šฐ์ธก] ๋ฏธ๋ฆฌ๋ณด๊ธฐ > ํด๋”๋ช…
  ์›๋ณธ ํŒŒ์ผ๋ช…   โ†’   ๋ณ€๊ฒฝ ํŒŒ์ผ๋ช…
  001.jpg       โ†’   1.jpg
  002.jpg       โ†’   2.jpg
  ...

[ํ•˜๋‹จ]
  [๋ณ€๊ฒฝ]  [๋˜๋Œ๋ฆฌ๊ธฐ]  [์ข…๋ฃŒ]

ํ•˜์œ„ ํด๋” ๋ชจ๋“œ / ๋‹จ์ผ ํด๋” ๋ชจ๋“œ

  • ํ•˜์œ„ ํด๋” ๋ชจ๋“œ

    • ์„ ํƒํ•œ ์ƒ์œ„ ํด๋”์— ํ•˜์œ„ ํด๋”๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ ์žˆ์„ ๋•Œ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
    • ์ขŒ์ธก ํ•˜์œ„ ํด๋” ๋ฆฌ์ŠคํŠธ์—์„œ ํด๋”๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ํด๋”๊ฐ€ ํ˜„์žฌ ํƒญ์ด ๋˜๋ฉฐ:
      • ์šฐ์ธก ์ƒ๋‹จ ํƒ€์ดํ‹€์ด ๋ฏธ๋ฆฌ๋ณด๊ธฐ > {ํด๋”๋ช…} ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
      • ์ •๋ ฌ ๊ทœ์น™, ํŒŒ์ผ๋ช… ํŒจํ„ด, ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ƒํƒœ๊ฐ€ ํด๋”๋ณ„๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
      • ์ด๋ฆ„ ๋ณ€๊ฒฝ, ๋˜๋Œ๋ฆฌ๊ธฐ, ์ดˆ๊ธฐํ™”, ์žฌ์Šค์บ” ์ดํ›„์—๋„ ํ˜„์žฌ ์„ ํƒ๋œ ์ •๋ ฌ ๊ทœ์น™์ด ์ž๋™์œผ๋กœ ๋‹ค์‹œ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • ํ•˜๋‹จ [๋ณ€๊ฒฝ], [๋˜๋Œ๋ฆฌ๊ธฐ] ๋ฒ„ํŠผ์€ ํ˜„์žฌ ์„ ํƒ๋œ ํ•˜์œ„ ํด๋” ํ•˜๋‚˜๋งŒ ๋Œ€์ƒ์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹จ์ผ ํด๋” ๋ชจ๋“œ

    • ์„ ํƒํ•œ ํด๋”์— ํ•˜์œ„ ํด๋”๊ฐ€ ์—†์„ ๋•Œ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
    • ํ˜„์žฌ ํด๋”์˜ ๋ชจ๋“  ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ํ•œ ๋ฒˆ์— ์ •๋ ฌ/๋ณ€๊ฒฝ/๋˜๋Œ๋ฆฌ๊ธฐ ํ•ฉ๋‹ˆ๋‹ค.
    • ์ด๋ฆ„ ๋ณ€๊ฒฝ, ๋˜๋Œ๋ฆฌ๊ธฐ, ์ดˆ๊ธฐํ™” ํ›„์—๋„ _apply_sort๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์ •๋ ฌ ๊ทœ์น™์ด ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

๐Ÿ›  ๊ธฐ์ˆ  ์Šคํƒ

  • Python 3.10+
  • Tkinter (GUI)
  • os, pathlib, re, shutil (ํŒŒ์ผ ์ฒ˜๋ฆฌ)
  • Docker (์ปจํ…Œ์ด๋„ˆํ™”)
    • TigerVNC (VNC ์„œ๋ฒ„)
    • noVNC (์›น ๊ธฐ๋ฐ˜ VNC ํด๋ผ์ด์–ธํŠธ)
    • Fluxbox (๊ฒฝ๋Ÿ‰ ์œˆ๋„์šฐ ๋งค๋‹ˆ์ €)
  • pyinstaller (Windows ์‹คํ–‰ ํŒŒ์ผ ํŒจํ‚ค์ง•)

๐Ÿ“ฆ ์„ค์น˜ & ์‹คํ–‰

๐Ÿณ Docker๋กœ ์‹คํ–‰ (๊ถŒ์žฅ - ๋ชจ๋“  ํ”Œ๋žซํผ)

๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•! ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ GUI ์ ‘์†

# 1. ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/Hobby2025/Renam.git
cd Renam

# 2. ์ž‘์—… ํด๋” ์ƒ์„ฑ (์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ์—ฌ๊ธฐ์— ๋„ฃ์œผ์„ธ์š”)
mkdir workspace

# 3. Docker Compose๋กœ ์‹คํ–‰
docker-compose up -d

# 4. ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ ‘์†
# http://localhost:6080

์ ‘์† ์ •๋ณด:

  • ์›น UI: http://localhost:6080 (noVNC)
  • VNC ํด๋ผ์ด์–ธํŠธ: localhost:5901 (๋น„๋ฐ€๋ฒˆํ˜ธ: renam)

ํŒŒ์ผ ์ž‘์—…:

  • workspace/ ํด๋”์— ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ๋„ฃ์œผ์„ธ์š”
  • GUI์—์„œ /workspace ํด๋”๋ฅผ ์„ ํƒํ•˜์„ธ์š”
  • ํŒŒ์ผ๋ช… ๋ณ€๊ฒฝ ํ›„ workspace/ ํด๋”์—์„œ ๊ฒฐ๊ณผ ํ™•์ธ

์ค‘์ง€ ๋ฐ ์ œ๊ฑฐ:

# ์ค‘์ง€
docker-compose stop

# ์žฌ์‹œ์ž‘
docker-compose start

# ์™„์ „ ์ œ๊ฑฐ
docker-compose down

๐Ÿ’ป ๋กœ์ปฌ ํ™˜๊ฒฝ ์ง์ ‘ ์‹คํ–‰

Python 3.10+ ํ•„์š”

# ์˜์กด์„ฑ ์„ค์น˜
pip install -r requirements.txt

# ์‹คํ–‰
python app.py

๐Ÿ“ฆ EXE ๋‹ค์šด๋กœ๋“œ (Windows)

RENAM 1.0.0


๐Ÿงช ํ…Œ์ŠคํŠธ ์‹คํ–‰

# ํ•ต์‹ฌ ๋กœ์ง ํ…Œ์ŠคํŠธ
python test_logic.py

๐Ÿ“‹ ๋™์ž‘ ํ๋ฆ„

flowchart TD
    A[ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰] --> B[ํด๋” ์„ ํƒ]
    B --> C[์ด๋ฏธ์ง€ ํŒŒ์ผ ์Šค์บ” / ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ]
    C --> D[์ •๋ ฌ ๊ทœ์น™ ์„ ํƒ or ์‚ฌ์šฉ์ž ์ž…๋ ฅ]
    D --> E[์ •๋ ฌ ๊ฒฐ๊ณผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ‘œ์‹œ]
    E --> F{์‚ฌ์šฉ์ž ์ˆœ์„œ ๋ณ€๊ฒฝ?}
    F -->|์˜ˆ| G[๋“œ๋ž˜๊ทธ/๋ฒ„ํŠผ ์ด๋™ โ†’ ๋ฆฌ์ŠคํŠธ ์—…๋ฐ์ดํŠธ]
    F -->|์•„๋‹ˆ์˜ค| H[ํŒŒ์ผ๋ช… ํŒจํ„ด ์ž…๋ ฅ]
    G --> H
    H --> I[์‹คํ–‰]
    I --> J[ํŒŒ์ผ๋ช… ๋ณ€๊ฒฝ / ๋กœ๊ทธ ์ €์žฅ]
    J --> K{๋˜๋Œ๋ฆฌ๊ธฐ?}
    K -->|์˜ˆ| C
    K -->|์•„๋‹ˆ์˜ค| L[์ข…๋ฃŒ]
Loading

๐Ÿ”ง ์ •๋ ฌ ๋กœ์ง

์ •๋ ฌ ๊ธฐ์ค€ ์ฒ˜๋ฆฌ ๋ฐฉ์‹
์ˆซ์ž ๊ธฐ๋ฐ˜ ์ •๊ทœ์‹์œผ๋กœ ์ˆซ์ž ์ถ”์ถœ ํ›„ ์ •๋ ฌ
์•ŒํŒŒ๋ฒณ ๊ธฐ๋ฐ˜ ๊ธฐ๋ณธ ๋ฌธ์ž์—ด ์ •๋ ฌ
์ƒ์„ฑ/์ˆ˜์ • ๋‚ ์งœ os.stat ๊ธฐ๋ฐ˜ ์‹œ๊ฐ„ ์ •๋ ฌ
ํ™•์žฅ์ž ํ™•์žฅ์ž ๊ทธ๋ฃน ํ›„ ๋‚ด๋ถ€ ์ •๋ ฌ
์‚ฌ์šฉ์ž ์ •๊ทœ์‹ Custom key function ์ ์šฉ

ํ•˜์œ„ ํด๋” ๋ชจ๋“œ์™€ ๋‹จ์ผ ํด๋” ๋ชจ๋“œ ๋ชจ๋‘์—์„œ ์ด๋ฆ„ ๋ณ€๊ฒฝ / ๋˜๋Œ๋ฆฌ๊ธฐ / ์ดˆ๊ธฐํ™” / ์žฌ์Šค์บ” ์ดํ›„ ํ˜„์žฌ ์„ ํƒ๋œ ์ •๋ ฌ ๊ทœ์น™์ด ๋‹ค์‹œ ์ ์šฉ๋˜์–ด, ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ˆœ์„œ์™€ order ๊ฐ’์ด ํ•ญ์ƒ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“Š ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

[
  {
    "original": "IMG_10.jpg",
    "display_name": "IMG_10.jpg",
    "new_name": "1.jpg",
    "order": 1,
    "ext": "jpg"
  }
]

Undo ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

{
  "folder": "...",
  "before": ["IMG_10.jpg", "IMG_01.jpg"],
  "after": ["1.jpg", "2.jpg"],
  "timestamp": "2025-11-21T12:00:00"
}

โš ๏ธ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

์˜ˆ์™ธ ์ƒํ™ฉ ๋Œ€์‘
์ค‘๋ณต ํŒŒ์ผ๋ช… ๋ฐœ์ƒ ์ž„์‹œ postfix ๋ถ™์—ฌ ์ฒ˜๋ฆฌ
๊ถŒํ•œ ์˜ค๋ฅ˜ Alert ํ‘œ์‹œ + ์ž‘์—… ์ค‘๋‹จ
๋นˆ ํด๋” ์„ ํƒ ๊ฒฝ๊ณ  ํ‘œ์‹œ
์ •๊ทœ์‹ ์˜ค๋ฅ˜ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ + ์ž…๋ ฅ ์ดˆ๊ธฐํ™”

๐Ÿงฉ ํ–ฅํ›„ ์ง€์› ์˜ˆ์ •

  • EXIF ์ดฌ์˜์ผ ๊ธฐ์ค€ ์ •๋ ฌ
  • ์ธ๋„ค์ผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ UI
  • ๋ณตํ•ฉ ์ •๋ ฌ ๊ทœ์น™ ์„ค์ •
  • ํŒŒ์ผ ์ œ์™ธ ๊ทœ์น™

๐Ÿ“„ ๋ผ์ด์„ ์Šค

MIT License

๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

Issues์™€ Pull Requests๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!

About

Image file sorting and batch renaming tool

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •