mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
IGN:Tag release
This commit is contained in:
parent
b16ca1e038
commit
19b196f782
@ -9,6 +9,7 @@ __docformat__ = 'restructuredtext en'
|
|||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
|
from calibre.constants import iswindows, islinux
|
||||||
from calibre.utils.icu import lower
|
from calibre.utils.icu import lower
|
||||||
from calibre.devices.mtp.driver import MTP_DEVICE
|
from calibre.devices.mtp.driver import MTP_DEVICE
|
||||||
from calibre.devices.scanner import DeviceScanner
|
from calibre.devices.scanner import DeviceScanner
|
||||||
@ -77,6 +78,11 @@ class TestDeviceInteraction(unittest.TestCase):
|
|||||||
with self.assertRaises(ValueError):
|
with self.assertRaises(ValueError):
|
||||||
self.dev.create_folder(root_file[0], 'sub-folder')
|
self.dev.create_folder(root_file[0], 'sub-folder')
|
||||||
|
|
||||||
|
def test_memory_leaks(self):
|
||||||
|
if not (iswindows or islinux):
|
||||||
|
self.skipTest('Can only test for leaks on windows and linux')
|
||||||
|
from calibre.utils.mem import memory
|
||||||
|
|
||||||
def tests():
|
def tests():
|
||||||
return unittest.TestLoader().loadTestsFromTestCase(TestDeviceInteraction)
|
return unittest.TestLoader().loadTestsFromTestCase(TestDeviceInteraction)
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ class MTP_DEVICE(MTPDeviceBase):
|
|||||||
self.progress_reporter(p)
|
self.progress_reporter(p)
|
||||||
|
|
||||||
@synchronous
|
@synchronous
|
||||||
def detect_managed_devices(self, devices_on_system):
|
def detect_managed_devices(self, devices_on_system, force_refresh=False):
|
||||||
if self.libmtp is None: return None
|
if self.libmtp is None: return None
|
||||||
# First remove blacklisted devices.
|
# First remove blacklisted devices.
|
||||||
devs = set()
|
devs = set()
|
||||||
@ -74,6 +74,8 @@ class MTP_DEVICE(MTPDeviceBase):
|
|||||||
devs = devs - self.ejected_devices
|
devs = devs - self.ejected_devices
|
||||||
|
|
||||||
# Now check for MTP devices
|
# Now check for MTP devices
|
||||||
|
if force_refresh:
|
||||||
|
self.detect_cache = {}
|
||||||
cache = self.detect_cache
|
cache = self.detect_cache
|
||||||
for d in devs:
|
for d in devs:
|
||||||
ans = cache.get(d, None)
|
ans = cache.get(d, None)
|
||||||
|
@ -73,12 +73,13 @@ class MTP_DEVICE(MTPDeviceBase):
|
|||||||
self.wpd.uninit()
|
self.wpd.uninit()
|
||||||
|
|
||||||
@same_thread
|
@same_thread
|
||||||
def detect_managed_devices(self, devices_on_system):
|
def detect_managed_devices(self, devices_on_system, force_refresh=False):
|
||||||
if self.wpd is None: return None
|
if self.wpd is None: return None
|
||||||
|
|
||||||
devices_on_system = frozenset(devices_on_system)
|
devices_on_system = frozenset(devices_on_system)
|
||||||
if (devices_on_system != self.previous_devices_on_system or time.time()
|
if (force_refresh or
|
||||||
- self.last_refresh_devices_time > 10):
|
devices_on_system != self.previous_devices_on_system or
|
||||||
|
time.time() - self.last_refresh_devices_time > 10):
|
||||||
self.previous_devices_on_system = devices_on_system
|
self.previous_devices_on_system = devices_on_system
|
||||||
self.last_refresh_devices_time = time.time()
|
self.last_refresh_devices_time = time.time()
|
||||||
try:
|
try:
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user