-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinfo.py
executable file
·38 lines (33 loc) · 906 Bytes
/
info.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python3
from asyncio import run
import sys
from api import Api
from audio_files_extension_pb2 import AudioFilesExtensionResponse
from common import default_cfg
from extension_kind_pb2 import (
ALBUM_V4,
ARTIST_V4,
AUDIO_FILES,
EPISODE_V4,
ExtensionKind,
SHOW_V4,
TRACK_V4,
)
from metadata_pb2 import Album, Artist, Episode, Show, Track
type_map: dict[str, tuple[ExtensionKind, type]] = {
'artist': (ARTIST_V4, Artist),
'album': (ALBUM_V4, Album),
'track': (TRACK_V4, Track),
'show': (SHOW_V4, Show),
'episode': (EPISODE_V4, Episode),
'audio': (AUDIO_FILES, AudioFilesExtensionResponse),
}
async def main():
async with Api.from_cfg(default_cfg()) as api:
uri = api.any2uri(sys.argv[1])
type, id = api.unuri(uri)
kind, t = type_map[type]
res = await api.extd_metadata2([uri], kind, t)
print(res[uri])
if __name__ == '__main__':
run(main())