mytunes-pro 1.9.9__py3-none-any.whl → 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mytunes/app.py +28 -20
- {mytunes_pro-1.9.9.dist-info → mytunes_pro-2.0.0.dist-info}/METADATA +6 -4
- mytunes_pro-2.0.0.dist-info/RECORD +8 -0
- mytunes_pro-1.9.9.dist-info/RECORD +0 -8
- {mytunes_pro-1.9.9.dist-info → mytunes_pro-2.0.0.dist-info}/WHEEL +0 -0
- {mytunes_pro-1.9.9.dist-info → mytunes_pro-2.0.0.dist-info}/entry_points.txt +0 -0
- {mytunes_pro-1.9.9.dist-info → mytunes_pro-2.0.0.dist-info}/licenses/LICENSE +0 -0
- {mytunes_pro-1.9.9.dist-info → mytunes_pro-2.0.0.dist-info}/top_level.txt +0 -0
mytunes/app.py
CHANGED
|
@@ -23,7 +23,7 @@ warnings.filterwarnings("ignore", message=".*urllib3 v2 only supports OpenSSL 1.
|
|
|
23
23
|
import webbrowser
|
|
24
24
|
import tempfile
|
|
25
25
|
import shutil
|
|
26
|
-
|
|
26
|
+
|
|
27
27
|
import requests
|
|
28
28
|
|
|
29
29
|
|
|
@@ -36,7 +36,7 @@ MPV_SOCKET = "/tmp/mpv_socket"
|
|
|
36
36
|
LOG_FILE = "/tmp/mytunes_mpv.log"
|
|
37
37
|
PID_FILE = "/tmp/mytunes_mpv.pid"
|
|
38
38
|
APP_NAME = "MyTunes Pro"
|
|
39
|
-
APP_VERSION = "
|
|
39
|
+
APP_VERSION = "2.0.0"
|
|
40
40
|
|
|
41
41
|
# === [Strings & Localization] ===
|
|
42
42
|
STRINGS = {
|
|
@@ -446,16 +446,9 @@ class MyTunesApp:
|
|
|
446
446
|
curses.mousemask(curses.ALL_MOUSE_EVENTS | curses.REPORT_MOUSE_POSITION)
|
|
447
447
|
print("\033[?1003h") # Enable mouse tracking
|
|
448
448
|
|
|
449
|
-
#
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
app_id='2106370',
|
|
453
|
-
key='44e3d7e4957944c867ec',
|
|
454
|
-
secret='0be8e65a287bbccc7369',
|
|
455
|
-
cluster='ap3',
|
|
456
|
-
ssl=True
|
|
457
|
-
)
|
|
458
|
-
except: self.pusher = None
|
|
449
|
+
# Sharing Client (Serverless Proxy)
|
|
450
|
+
self.pusher = None # Deprecated: Direct Pusher client removed for security
|
|
451
|
+
self.share_api_url = "https://postgresql.co.kr/api/pusher/mytunes"
|
|
459
452
|
self.sent_history = {}
|
|
460
453
|
|
|
461
454
|
|
|
@@ -750,7 +743,7 @@ class MyTunesApp:
|
|
|
750
743
|
self.status_msg = "⚠️ Already Shared Recently!"
|
|
751
744
|
else:
|
|
752
745
|
try:
|
|
753
|
-
# Send to
|
|
746
|
+
# Send to Serverless Proxy (Secure)
|
|
754
747
|
payload = {
|
|
755
748
|
"title": title,
|
|
756
749
|
"url": url,
|
|
@@ -758,13 +751,28 @@ class MyTunesApp:
|
|
|
758
751
|
"country": self.dm.get_country(),
|
|
759
752
|
"timestamp": time.time()
|
|
760
753
|
}
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
754
|
+
|
|
755
|
+
# v1.9.9 Security Update: Use centralized API with Auth Header
|
|
756
|
+
try:
|
|
757
|
+
headers = {
|
|
758
|
+
"Content-Type": "application/json",
|
|
759
|
+
"x-mytunes-secret": "mytunes-v1-secret-8822"
|
|
760
|
+
}
|
|
761
|
+
resp = requests.post(
|
|
762
|
+
self.share_api_url,
|
|
763
|
+
json=payload,
|
|
764
|
+
headers=headers,
|
|
765
|
+
timeout=3
|
|
766
|
+
)
|
|
767
|
+
if resp.status_code == 200:
|
|
768
|
+
self.sent_history[url] = time.time()
|
|
769
|
+
safe_title = self.truncate(title, 50)
|
|
770
|
+
self.status_msg = f"🚀 Shared: {safe_title}..."
|
|
771
|
+
else:
|
|
772
|
+
self.status_msg = f"❌ Share Error: {resp.status_code}"
|
|
773
|
+
except:
|
|
774
|
+
self.status_msg = "❌ Network Error (API)"
|
|
775
|
+
|
|
768
776
|
except Exception as e:
|
|
769
777
|
self.status_msg = f"❌ Share Failed: {str(e)}"
|
|
770
778
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mytunes-pro
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: A lightweight, keyboard-centric terminal player for streaming YouTube music.
|
|
5
5
|
Author-email: loxo <loxo5432@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/postgresql-co-kr/mytunes
|
|
@@ -19,9 +19,11 @@ Dynamic: license-file
|
|
|
19
19
|
|
|
20
20
|
# 🎵 MyTunes Pro (Korean)
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
## 🚀 Professional TUI Music Player v2.0.0
|
|
23
|
+
|
|
24
|
+
MyTunes Pro는 **Context7**의 심층 리서치를 기반으로 제작된 **Premium CLI Music Player**입니다.
|
|
25
|
+
Python `curses` 라이브러리를 사용하여 터미널 환경에서도 **GUI급의 유려한 UX**를 제공하며,
|
|
26
|
+
`mpv` 플레이어의 강력한 IPC 제어 기능을 통해 끊김 없는 백그라운드 재생을 지원합니다.
|
|
25
27
|
|
|
26
28
|
> **💡 개발 배경**
|
|
27
29
|
> 이 프로그램은 하루 종일 터미널을 보는 개발자들이 **작업 흐름을 끊지 않고** 편하게 음악을 듣기 위해 만들어졌습니다.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
mytunes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
mytunes/app.py,sha256=tcrf-GgzuNcQrg_Bi8agLUUBagK0ldZu6jG34rGi32Q,61718
|
|
3
|
+
mytunes_pro-2.0.0.dist-info/licenses/LICENSE,sha256=lOrP0EIjxcgJia__W3f3PVDZkRd2oRzFkyH2g3LRRCg,1063
|
|
4
|
+
mytunes_pro-2.0.0.dist-info/METADATA,sha256=nABpiFFx5gtAAScvQG7Ps8XLH3NPeh6CtU4QQZ0HH04,21706
|
|
5
|
+
mytunes_pro-2.0.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
6
|
+
mytunes_pro-2.0.0.dist-info/entry_points.txt,sha256=6-MsC13nIgzLvrREaGotc32FgxHx_Iuu1z2qCzJs1_4,65
|
|
7
|
+
mytunes_pro-2.0.0.dist-info/top_level.txt,sha256=KWzdFyNNG_sO7GT83-sN5fYArP4_DL5I8HYIwgazXyY,8
|
|
8
|
+
mytunes_pro-2.0.0.dist-info/RECORD,,
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
mytunes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
mytunes/app.py,sha256=aTfLWNu5i35h2UBXobIEGR03bBd9t6XowYdc_ggZk18,61028
|
|
3
|
-
mytunes_pro-1.9.9.dist-info/licenses/LICENSE,sha256=lOrP0EIjxcgJia__W3f3PVDZkRd2oRzFkyH2g3LRRCg,1063
|
|
4
|
-
mytunes_pro-1.9.9.dist-info/METADATA,sha256=-E4osRv8m7ZDhmhUVLHFiRj8Sa-v5kllG8oAZsq-vfs,21615
|
|
5
|
-
mytunes_pro-1.9.9.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
6
|
-
mytunes_pro-1.9.9.dist-info/entry_points.txt,sha256=6-MsC13nIgzLvrREaGotc32FgxHx_Iuu1z2qCzJs1_4,65
|
|
7
|
-
mytunes_pro-1.9.9.dist-info/top_level.txt,sha256=KWzdFyNNG_sO7GT83-sN5fYArP4_DL5I8HYIwgazXyY,8
|
|
8
|
-
mytunes_pro-1.9.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|