本文整理汇总了Python中u115.api.API.add_task_bt方法的典型用法代码示例。如果您正苦于以下问题:Python API.add_task_bt方法的具体用法?Python API.add_task_bt怎么用?Python API.add_task_bt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类u115.api.API
的用法示例。
在下文中一共展示了API.add_task_bt方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TaskTests
# 需要导入模块: from u115.api import API [as 别名]
# 或者: from u115.api.API import add_task_bt [as 别名]
class TaskTests(TestCase):
"""Test general task interface"""
def setUp(self):
# Initialize a new API instance
self.api = API()
self.api.login(section='test')
# Clean up all tasks
tasks = self.api.get_tasks()
delete_entries(tasks)
def test_get_tasks(self):
filename1 = TEST_TORRENT1['filename']
filename2 = TEST_TORRENT2['filename']
url1 = TEST_TARGET_URL1['url']
url2 = TEST_TARGET_URL2['url']
# Test creation
assert self.api.add_task_bt(filename1)
assert self.api.add_task_bt(filename2)
assert self.api.add_task_url(url1)
assert self.api.add_task_url(url2)
# Test count
time.sleep(5)
tasks = self.api.get_tasks()
assert len(tasks) == 4
tasks = self.api.get_tasks(3)
assert len(tasks) == 3
def test_task_attrs(self):
filename1 = TEST_TORRENT1['filename']
url1 = TEST_TARGET_URL1['url']
assert self.api.add_task_bt(filename1)
assert self.api.add_task_url(url1)
tasks = self.api.get_tasks()
for task in tasks:
assert isinstance(task.add_time, datetime.datetime)
assert isinstance(task.last_update, datetime.datetime)
assert isinstance(task.left_time, int)
assert task.name
assert task.move in [0, 1, 2]
assert task.peers >= 0
assert task.percent_done >= 0
assert task.size >= 0
assert task.size_human
assert isinstance(task.status, int)
assert task.status_human
def tearDown(self):
# Clean up all tasks
tasks = self.api.get_tasks()
delete_entries(tasks)
示例2: DownloadsDirectoryTests
# 需要导入模块: from u115.api import API [as 别名]
# 或者: from u115.api.API import add_task_bt [as 别名]
class DownloadsDirectoryTests(TestCase):
"""
Test tasks and files within the downloads directory
"""
def setUp(self):
# Initialize a new API instance
self.api = API()
self.api.login(section='test')
# Clean up all files in the downloads directory
downloads_directory = self.api.downloads_directory
entries = downloads_directory.list()
delete_entries(entries)
def test_transferred_task_directories(self):
"""
Test the task with an associated directory
"""
filename = TEST_TORRENT2['filename']
info_hash = TEST_TORRENT2['info_hash']
assert self.api.add_task_bt(filename)
tasks = self.api.get_tasks()
# Get the target task as `task`
task = None
for _task in tasks:
if _task.info_hash == info_hash:
task = _task
break
assert task
# Wait until the task is transferred
# Task.reload() must be implemented before wait_task_transferred()
# can be used here
#wait_task_transferred(task)
assert task.status_human == 'TRANSFERRED'
task_directory = task.directory
entries = task_directory.list()
dirs = []
files = []
for entry in entries:
if isinstance(entry, File):
files.append(entry)
elif isinstance(entry, Directory):
dirs.append(entry)
assert len(dirs) == 2
assert len(files) == 1
for directory in dirs:
if directory.name == 'BK':
assert directory.count == 11
assert len(directory.list()) == 11
if directory.name == 'MP3':
assert directory.count == 2
assert len(directory.list()) == 2
def tearDown(self):
# Clean up all tasks
tasks = self.api.get_tasks()
delete_entries(tasks)
# Clean up all files in the downloads directory
downloads_directory = self.api.downloads_directory
entries = downloads_directory.list()
delete_entries(entries)
示例3: SearchTests
# 需要导入模块: from u115.api import API [as 别名]
# 或者: from u115.api.API import add_task_bt [as 别名]
class SearchTests(TestCase):
def setUp(self):
# Initialize a new API instance
self.api = API()
self.api.login(section='test')
# Clean up all files in the downloads directory
downloads_directory = self.api.downloads_directory
entries = downloads_directory.list()
delete_entries(entries)
# Create a task that is transferred
filename = TEST_TORRENT2['filename']
assert self.api.add_task_bt(filename)
def test_search(self):
keyword1 = '.jpg'
count1 = 12
result1 = self.api.search(keyword1)
assert len(result1) == count1
keyword2 = 'IMG_0004.jpg'
count2 = 1
result2 = self.api.search(keyword2)
assert len(result2) == count2
keyword3 = 'nothing'
count3 = 0
result3 = self.api.search(keyword3)
assert len(result3) == count3
def tearDown(self):
# Clean up all tasks
tasks = self.api.get_tasks()
delete_entries(tasks)
# Clean up all files in the downloads directory
downloads_directory = self.api.downloads_directory
entries = downloads_directory.list()
delete_entries(entries)
示例4: BitTorrentTaskTests
# 需要导入模块: from u115.api import API [as 别名]
# 或者: from u115.api.API import add_task_bt [as 别名]
class BitTorrentTaskTests(TestCase):
"""
Test torrent-based BitTorrent tasks
"""
def setUp(self):
# Initialize a new API instance
self.api = API()
self.api.login(section='test')
# Clean up all tasks
tasks = self.api.get_tasks()
delete_entries(tasks)
def test_add_task_bt_select_false(self):
"""
`API.add_task_bt(filename, select=False)`
"""
filename = TEST_TORRENT1['filename']
info_hash = TEST_TORRENT1['info_hash']
assert self.api.add_task_bt(filename)
wait_task_transferred(self.api.get_tasks, info_hash)
tasks = self.api.get_tasks()
assert is_task_created(tasks, info_hash)
def test_add_task_bt_select_true(self):
"""
`API.add_task_bt(filename, select=True)`
"""
filename = TEST_TORRENT2['filename']
info_hash = TEST_TORRENT2['info_hash']
torrent = self.api.add_task_bt(filename, select=True)
assert isinstance(torrent, Torrent)
torrent.files[0].unselect()
torrent.files[1].unselect()
assert len(torrent.selected_files) == torrent.file_count - 2
assert torrent.submit()
wait_task_transferred(self.api.get_tasks, info_hash)
tasks = self.api.get_tasks()
assert is_task_created(tasks, info_hash)
def test_delete_tasks(self):
"""
`Task.delete()`
"""
filename = TEST_TORRENT2['filename']
info_hash = TEST_TORRENT2['info_hash']
assert self.api.add_task_bt(filename)
wait_task_transferred(self.api.get_tasks, info_hash)
tasks = self.api.get_tasks()
is_task_created = False
for task in tasks:
if task.info_hash == info_hash:
is_task_created = True
assert not task.is_deleted
assert task.delete()
with self.assertRaises(TaskError) as cm:
task.delete()
assert cm.exception.message == 'This task is already deleted.'
assert task.is_deleted
break
else:
assert is_task_created
def tearDown(self):
# Clean up all tasks
tasks = self.api.get_tasks()
delete_entries(tasks)
示例5: TestAPI
# 需要导入模块: from u115.api import API [as 别名]
# 或者: from u115.api.API import add_task_bt [as 别名]
class TestAPI(TestCase):
def __init__(self, *args, **kwargs):
super(TestAPI, self).__init__(*args, **kwargs)
self.api = API()
self.api.login(section='test')
def test_login_logout(self):
credential = conf.get_credential('test')
username = credential['username']
password = credential['password']
if self.api.has_logged_in:
assert self.api.logout()
assert self.api.login(username, password)
def test_login_credentials(self):
if self.api.has_logged_in:
assert self.api.logout()
assert self.api.login(section='test')
def test_tasks_directories(self):
task_count = self.api.task_count
tasks = self.api.get_tasks(LARGE_COUNT)
self.assertEqual(len(tasks), task_count)
tasks = self.api.get_tasks(SMALL_COUNT)
self.assertEqual(len(tasks), SMALL_COUNT)
t = tasks[0]
dd = self.api.downloads_directory
if t.status_human == 'TRANSFERRED':
d = t.directory
p = t.parent
assert d.parent is p
assert p.cid == dd.cid
assert t.count == len(t.list(LARGE_COUNT))
for t in tasks:
if t.info_hash == TEST_TORRENT2['info_hash']:
td = t.directory
entries = td.list()
for entry in entries:
if isinstance(entry, Directory):
entry.list()
elif isinstance(entry, File):
assert entry.url
def test_delete_file(self):
tasks = self.api.get_tasks()
for t in tasks:
if t.info_hash == TEST_TORRENT2['info_hash']:
# Delete file
try:
d1 = t.directory
except TaskError:
time.sleep(20)
try:
d1 = t.directory
except TaskError:
return
d1_count = d1.count
d2 = d1.list()[1]
d2_count = d2.count
files = d2.list()
f1 = files[0]
assert f1.delete()
d2.reload()
assert d2.count == d2_count - 1
# Sleep to avoid JobError
time.sleep(2)
assert d2.delete()
d1.reload()
assert d1.count == d1_count - 1
def test_add_delete_task_bt(self):
h1 = TEST_TORRENT1['info_hash']
h2 = TEST_TORRENT2['info_hash']
tasks = self.api.get_tasks()
for task in tasks:
if task.info_hash == h1:
assert task.delete()
if task.info_hash == h2:
assert task.delete()
assert self.api.add_task_bt(TEST_TORRENT1['filename'])
u = self.api.add_task_bt(TEST_TORRENT2['filename'], select=True)
assert isinstance(u, Torrent)
files = u.files
file_count = u.file_count
files[0].unselect()
files[1].unselect()
assert len(u.selected_files) == file_count - 2
assert u.submit()
def test_storage_info(self):
res = self.api.get_storage_info()
assert 'total' in res
assert 'used' in res
res = self.api.get_storage_info(human=True)
assert 'total' in res
assert 'used' in res
def test_add_task_url(self):
'''
#.........这里部分代码省略.........