本文整理汇总了Python中AnyQt.QtCore.QUrl.isEmpty方法的典型用法代码示例。如果您正苦于以下问题:Python QUrl.isEmpty方法的具体用法?Python QUrl.isEmpty怎么用?Python QUrl.isEmpty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AnyQt.QtCore.QUrl
的用法示例。
在下文中一共展示了QUrl.isEmpty方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: BaseInventoryProvider
# 需要导入模块: from AnyQt.QtCore import QUrl [as 别名]
# 或者: from AnyQt.QtCore.QUrl import isEmpty [as 别名]
class BaseInventoryProvider(HelpProvider):
def __init__(self, inventory, parent=None):
super().__init__(parent)
self.inventory = QUrl(inventory)
if not self.inventory.scheme() and not self.inventory.isEmpty():
self.inventory.setScheme("file")
self._error = None
self._fetch_inventory(self.inventory)
def _fetch_inventory(self, url):
cache_dir = config.cache_dir()
cache_dir = os.path.join(cache_dir, "help", type(self).__qualname__)
try:
os.makedirs(cache_dir)
except OSError:
pass
url = QUrl(self.inventory)
if not url.isLocalFile():
# fetch and cache the inventory file.
manager = QNetworkAccessManager(self)
cache = QNetworkDiskCache()
cache.setCacheDirectory(cache_dir)
manager.setCache(cache)
req = QNetworkRequest(url)
# Follow redirects (for example http -> https)
# If redirects were not followed, the documentation would not be found
try:
req.setAttribute(QNetworkRequest.FollowRedirectsAttribute, 1) # from Qt 5.6
req.setAttribute(QNetworkRequest.RedirectPolicyAttribute, # from Qt 5.9
QNetworkRequest.NoLessSafeRedirectPolicy)
except AttributeError: # if ran with earlier Qt
pass
self._reply = manager.get(req)
manager.finished.connect(self._on_finished)
else:
with open(url.toLocalFile(), "rb") as f:
self._load_inventory(f)
def _on_finished(self, reply):
if reply.error() != QNetworkReply.NoError:
log.error("An error occurred while fetching "
"help inventory '{0}'".format(self.inventory))
self._error = reply.error(), reply.errorString()
else:
contents = bytes(reply.readAll())
self._load_inventory(io.BytesIO(contents))
def _load_inventory(self, stream):
raise NotImplementedError()
示例2: BaseInventoryProvider
# 需要导入模块: from AnyQt.QtCore import QUrl [as 别名]
# 或者: from AnyQt.QtCore.QUrl import isEmpty [as 别名]
class BaseInventoryProvider(HelpProvider):
def __init__(self, inventory, parent=None):
super().__init__(parent)
self.inventory = QUrl(inventory)
if not self.inventory.scheme() and not self.inventory.isEmpty():
self.inventory.setScheme("file")
self._error = None
self._fetch_inventory(self.inventory)
def _fetch_inventory(self, url):
cache_dir = config.cache_dir()
cache_dir = os.path.join(cache_dir, "help", type(self).__qualname__)
try:
os.makedirs(cache_dir)
except OSError:
pass
url = QUrl(self.inventory)
if not url.isLocalFile():
# fetch and cache the inventory file.
manager = QNetworkAccessManager(self)
cache = QNetworkDiskCache()
cache.setCacheDirectory(cache_dir)
manager.setCache(cache)
req = QNetworkRequest(url)
self._reply = manager.get(req)
manager.finished.connect(self._on_finished)
else:
with open(str(url.toLocalFile()), "rb") as f:
self._load_inventory(f)
def _on_finished(self, reply):
if reply.error() != QNetworkReply.NoError:
log.error("An error occurred while fetching "
"help inventory '{0}'".format(self.inventory))
self._error = reply.error(), reply.errorString()
else:
contents = bytes(reply.readAll())
self._load_inventory(io.BytesIO(contents))
def _load_inventory(self, stream):
raise NotImplementedError()