diff --git a/README.md b/README.md
index 0150508..290ef33 100644
--- a/README.md
+++ b/README.md
@@ -81,6 +81,12 @@
## π λ³κ²½ μ΄λ ₯ (Changelog)
+### v0.7.1 (2026-01-11)
+- **GDM ν΅ν© λ²κ·Έ μμ (Hotfix)**:
+ - **UI νλ λ§€ν μμ **: ν νμ΄μ§μμ GDM μμ
μ μν, μ§νλ₯ λ±μ΄ 'undefined'λ‘ νμλλ νλλͺ
λΆμΌμΉ λ¬Έμ ν΄κ²°.
+ - **μ€μκ° μ
λ°μ΄νΈ(Socket) κ°ν**: GDM μ μ© μμΌ μ΄λ²€νΈ 리μ€λλ₯Ό μΆκ°νμ¬, μλ μλ‘κ³ μΉ¨ μμ΄λ λ€μ΄λ‘λ μνκ° μ€μκ°μΌλ‘ λ°μλλλ‘ κ°μ .
+ - **λͺ¨λ λͺ¨λ μ μ©**: LinkkfλΏλ§ μλλΌ AniLife, Ohli24 ν νμ΄μ§μλ λμΌν μμ μ¬ν λ°μ.
+
### v0.7.0 (2026-01-11)
- **GDM(Gommi Downloader Manager) ν΅ν© κ³ λν**:
- **ν΅ν© ν νμ΄μ§**: λ§ν¬μ λ, μ λλΌμ΄ν, μ€ν΄λ¦¬24μ ν νμ΄μ§μμ GDM μμ
μ μ€μκ°μΌλ‘ νμΈ λ° μ€μ§/μμ κ°λ₯νλλ‘ ν΅ν©.
diff --git a/info.yaml b/info.yaml
index c7b9b3b..3d52142 100644
--- a/info.yaml
+++ b/info.yaml
@@ -1,5 +1,5 @@
title: "μ λ λ€μ΄λ‘λ"
-version: 0.7.0
+version: 0.7.1
package_name: "anime_downloader"
developer: "projectdx"
description: "anime downloader"
diff --git a/mod_anilife.py b/mod_anilife.py
index 84d0f50..256a655 100644
--- a/mod_anilife.py
+++ b/mod_anilife.py
@@ -315,17 +315,22 @@ class LogicAniLife(AnimeModuleBase):
"entity_id": t_dict["id"],
"url": t_dict["url"],
"filename": t_dict["filename"] or t_dict["title"],
- "ffmpeg_status_kor": status_kor_map.get(t_dict["status"], "μμμμ"),
- "ffmpeg_percent": t_dict["progress"],
+ "status_kor": status_kor_map.get(t_dict["status"], "μμμμ"),
+ "percent": t_dict["progress"],
"created_time": t_dict["created_time"],
- "current_speed": t_dict["speed"],
- "download_time": t_dict["eta"],
+ "current_speed": t_dict["speed"] or "0 B/s",
+ "download_time": t_dict["eta"] or "-",
"status_str": status_str_map.get(t_dict["status"], "WAITING"),
"idx": t_dict["id"],
"callback_id": "anilife",
"start_time": t_dict["start_time"] or t_dict["created_time"],
- "percent": t_dict["progress"],
"save_fullpath": t_dict["filepath"],
+ "duration_str": "GDM",
+ "current_pf_count": 0,
+ "duration": "-",
+ "current_duration": "-",
+ "current_bitrate": "-",
+ "max_pf_count": 0,
"is_gdm": True
}
diff --git a/mod_linkkf.py b/mod_linkkf.py
index 63483fe..186a74c 100644
--- a/mod_linkkf.py
+++ b/mod_linkkf.py
@@ -593,18 +593,23 @@ class LogicLinkkf(AnimeModuleBase):
"entity_id": t_dict["id"],
"url": t_dict["url"],
"filename": t_dict["filename"] or t_dict["title"],
- "ffmpeg_status_kor": status_kor_map.get(t_dict["status"], "μμμμ"),
- "ffmpeg_percent": t_dict["progress"],
+ "status_kor": status_kor_map.get(t_dict["status"], "μμμμ"),
+ "percent": t_dict["progress"],
"created_time": t_dict["created_time"],
- "current_speed": t_dict["speed"],
- "download_time": t_dict["eta"],
+ "current_speed": t_dict["speed"] or "0 B/s",
+ "download_time": t_dict["eta"] or "-",
"status_str": status_str_map.get(t_dict["status"], "WAITING"),
"idx": t_dict["id"],
"callback_id": "linkkf",
"start_time": t_dict["start_time"] or t_dict["created_time"],
- "percent": t_dict["progress"],
"save_fullpath": t_dict["filepath"],
- "is_gdm": True # GDM μμ
μμ νμ (λλ²κΉ
μ©)
+ "duration_str": "GDM",
+ "current_pf_count": 0,
+ "duration": "-",
+ "current_duration": "-",
+ "current_bitrate": "-",
+ "max_pf_count": 0,
+ "is_gdm": True
}
def plugin_callback(self, data):
diff --git a/mod_ohli24.py b/mod_ohli24.py
index 4ea7fa8..4cdd63b 100644
--- a/mod_ohli24.py
+++ b/mod_ohli24.py
@@ -1291,17 +1291,22 @@ class LogicOhli24(AnimeModuleBase):
"entity_id": t_dict["id"],
"url": t_dict["url"],
"filename": t_dict["filename"] or t_dict["title"],
- "ffmpeg_status_kor": status_kor_map.get(t_dict["status"], "μμμμ"),
- "ffmpeg_percent": t_dict["progress"],
+ "status_kor": status_kor_map.get(t_dict["status"], "μμμμ"),
+ "percent": t_dict["progress"],
"created_time": t_dict["created_time"],
- "current_speed": t_dict["speed"],
- "download_time": t_dict["eta"],
+ "current_speed": t_dict["speed"] or "0 B/s",
+ "download_time": t_dict["eta"] or "-",
"status_str": status_str_map.get(t_dict["status"], "WAITING"),
"idx": t_dict["id"],
"callback_id": "ohli24",
"start_time": t_dict["start_time"] or t_dict["created_time"],
- "percent": t_dict["progress"],
"save_fullpath": t_dict["filepath"],
+ "duration_str": "GDM",
+ "current_pf_count": 0,
+ "duration": "-",
+ "current_duration": "-",
+ "current_bitrate": "-",
+ "max_pf_count": 0,
"is_gdm": True
}
diff --git a/templates/anime_downloader_anilife_queue.html b/templates/anime_downloader_anilife_queue.html
index f344411..20ad6e2 100644
--- a/templates/anime_downloader_anilife_queue.html
+++ b/templates/anime_downloader_anilife_queue.html
@@ -1,410 +1,381 @@
{% extends "base.html" %}
{% block content %}
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ | IDX |
+ Plugin |
+ μμμκ° |
+ νμΌλͺ
|
+ μν |
+ μ§νλ₯ |
+ κΈΈμ΄ |
+ PF |
+ νμ¬ μν |
+ Action |
+
-
-
-
-
-
-
-
+
+
{% endblock %}
+
diff --git a/templates/anime_downloader_linkkf_queue.html b/templates/anime_downloader_linkkf_queue.html
index 2b0c17f..20ad6e2 100644
--- a/templates/anime_downloader_linkkf_queue.html
+++ b/templates/anime_downloader_linkkf_queue.html
@@ -150,6 +150,24 @@ $(document).ready(function(){
socket.on('last', function(data){ status_html(data); button_html(data); });
}
+ // GDM μ μ© μμΌ μΆκ° νΈλ€λ§ (μ μ μ
λ°μ΄νΈ μμ μ©)
+ var gdmSocket = null;
+ try {
+ gdmSocket = io.connect(socketUrl + '/gommi_downloader_manager');
+ gdmSocket.on('status', function(data) {
+ // μ΄ λͺ¨λκ³Ό κ΄λ ¨λ μμ
λ§ μ²λ¦¬
+ if (data.caller_plugin === PACKAGE_NAME + '_' + MODULE_NAME) {
+ // GDM λ°μ΄ν°λ₯Ό ν νμμΌλ‘ λ³ννμ¬ UI μ
λ°μ΄νΈ
+ // μλ μλ‘κ³ μΉ¨ μμ΄ μ€μκ° λ°μμ μν΄ renderList νΈμΆ μ£ΌκΈ°λ₯Ό μ§§κ² νκ±°λ μ§μ UI κ°±μ
+ silentFetchList(function(newList) {
+ renderList(newList);
+ });
+ }
+ });
+ } catch (e) {
+ console.error('GDM socket error:', e);
+ }
+
on_start();
refreshIntervalId = setInterval(autoRefreshList, 3000);
});
diff --git a/templates/anime_downloader_ohli24_queue.html b/templates/anime_downloader_ohli24_queue.html
index b9a257f..20ad6e2 100644
--- a/templates/anime_downloader_ohli24_queue.html
+++ b/templates/anime_downloader_ohli24_queue.html
@@ -3,451 +3,379 @@
+
+
+
+
+
+
+
+
+
+ | IDX |
+ Plugin |
+ μμμκ° |
+ νμΌλͺ
|
+ μν |
+ μ§νλ₯ |
+ κΈΈμ΄ |
+ PF |
+ νμ¬ μν |
+ Action |
+
+
+
+
-
-
-
-
+{% endblock %}
-{% endblock %}
\ No newline at end of file