mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-04-26 19:40:51 +08:00
108 lines
3.9 KiB
Python
108 lines
3.9 KiB
Python
import sys
|
|
|
|
import pytest
|
|
from module.parser.analyser import torrent_parser
|
|
from module.parser.analyser.torrent_parser import get_path_basename
|
|
|
|
|
|
def test_torrent_parser():
|
|
file_name = "[Lilith-Raws] Boku no Kokoro no Yabai Yatsu - 01 [Baha][WEB-DL][1080p][AVC AAC][CHT][MP4].mp4"
|
|
bf = torrent_parser(file_name)
|
|
assert bf.title == "Boku no Kokoro no Yabai Yatsu"
|
|
assert bf.group == "Lilith-Raws"
|
|
assert bf.episode == 1
|
|
assert bf.season == 1
|
|
|
|
file_name = "[Sakurato] Tonikaku Kawaii S2 [01][AVC-8bit 1080p AAC][CHS].mp4"
|
|
bf = torrent_parser(file_name)
|
|
assert bf.title == "Tonikaku Kawaii"
|
|
assert bf.group == "Sakurato"
|
|
assert bf.episode == 1
|
|
assert bf.season == 2
|
|
|
|
file_name = "[SweetSub&LoliHouse] Heavenly Delusion - 01 [WebRip 1080p HEVC-10bit AAC ASSx2].mkv"
|
|
bf = torrent_parser(file_name)
|
|
assert bf.title == "Heavenly Delusion"
|
|
assert bf.group == "SweetSub&LoliHouse"
|
|
assert bf.episode == 1
|
|
assert bf.season == 1
|
|
|
|
file_name = "[SBSUB][CONAN][1082][V2][1080P][AVC_AAC][CHS_JP](C1E4E331).mp4"
|
|
bf = torrent_parser(file_name)
|
|
assert bf.title == "CONAN"
|
|
assert bf.group == "SBSUB"
|
|
assert bf.episode == 1082
|
|
assert bf.season == 1
|
|
|
|
file_name = "海盗战记 (2019) S01E01.mp4"
|
|
bf = torrent_parser(file_name)
|
|
assert bf.title == "海盗战记 (2019)"
|
|
assert bf.episode == 1
|
|
assert bf.season == 1
|
|
|
|
file_name = "海盗战记/海盗战记 S01E01.mp4"
|
|
bf = torrent_parser(file_name)
|
|
assert bf.title == "海盗战记"
|
|
assert bf.episode == 1
|
|
assert bf.season == 1
|
|
|
|
file_name = "海盗战记 S01E01.zh-tw.ass"
|
|
sf = torrent_parser(file_name, file_type="subtitle")
|
|
assert sf.title == "海盗战记"
|
|
assert sf.episode == 1
|
|
assert sf.season == 1
|
|
assert sf.language == "zh-tw"
|
|
|
|
file_name = "海盗战记 S01E01.SC.ass"
|
|
sf = torrent_parser(file_name, file_type="subtitle")
|
|
assert sf.title == "海盗战记"
|
|
assert sf.season == 1
|
|
assert sf.episode == 1
|
|
assert sf.language == "zh"
|
|
|
|
file_name = "水星的魔女(2022) S00E19.mp4"
|
|
bf = torrent_parser(file_name, season=0)
|
|
assert bf.title == "水星的魔女(2022)"
|
|
assert bf.season == 0
|
|
assert bf.episode == 19
|
|
|
|
file_name = "【失眠搬运组】放学后失眠的你-Kimi wa Houkago Insomnia - 06 [bilibili - 1080p AVC1 CHS-JP].mp4"
|
|
bf = torrent_parser(file_name, season=1)
|
|
assert bf.title == "放学后失眠的你-Kimi wa Houkago Insomnia"
|
|
assert bf.season == 1
|
|
assert bf.episode == 6
|
|
|
|
file_name = "不时用俄语小声说真心话的邻桌艾莉同学 S01E02.mp4"
|
|
bf = torrent_parser(file_name)
|
|
assert bf.title == "不时用俄语小声说真心话的邻桌艾莉同学"
|
|
assert bf.season == 1
|
|
assert bf.episode == 2
|
|
|
|
file_name = "[ANi] 關於我轉生變成史萊姆這檔事 第三季 - 48.5 [1080P][Baha][WEB-DL][AAC AVC][CHT].mp4"
|
|
bf = torrent_parser(file_name, season=3)
|
|
assert bf.title == "關於我轉生變成史萊姆這檔事 第三季"
|
|
assert bf.season == 3
|
|
assert bf.episode == 48.5
|
|
|
|
file_name = "[ANi] 關於我轉生變成史萊姆這檔事 第三季 - 48.5 [1080P][Baha][WEB-DL][AAC AVC][CHT].srt"
|
|
sf = torrent_parser(file_name, season=3, file_type="subtitle")
|
|
assert sf.title == "關於我轉生變成史萊姆這檔事 第三季"
|
|
assert sf.episode == 48.5
|
|
assert sf.season == 3
|
|
assert sf.language == "zh-tw"
|
|
|
|
|
|
class TestGetPathBasename:
|
|
def test_regular_path(self):
|
|
assert get_path_basename("/path/to/file.txt") == "file.txt"
|
|
|
|
def test_empty_path(self):
|
|
assert get_path_basename("") == ""
|
|
|
|
def test_path_with_trailing_slash(self):
|
|
assert get_path_basename("/path/to/folder/") == "folder"
|
|
|
|
@pytest.mark.skipif(not sys.platform.startswith("win"), reason="Windows specific")
|
|
def test_windows_path(self):
|
|
assert get_path_basename("C:\\path\\to\\file.txt") == "file.txt"
|