Rename utils.qt to utils.qtutils.
This commit is contained in:
parent
d9a8cbe7ad
commit
8bd64382bd
@ -43,9 +43,9 @@ from qutebrowser.network import qutescheme, proxy
|
|||||||
from qutebrowser.browser import quickmarks, cookies, downloads
|
from qutebrowser.browser import quickmarks, cookies, downloads
|
||||||
from qutebrowser.widgets import mainwindow, console, crash
|
from qutebrowser.widgets import mainwindow, console, crash
|
||||||
from qutebrowser.keyinput import modeparsers, keyparser, modeman
|
from qutebrowser.keyinput import modeparsers, keyparser, modeman
|
||||||
from qutebrowser.utils import log, version, message, utilcmds, readline, utils
|
from qutebrowser.utils import (log, version, message, utilcmds, readline,
|
||||||
|
utils, qtutils)
|
||||||
from qutebrowser.utils import url as urlutils
|
from qutebrowser.utils import url as urlutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
from qutebrowser.utils import usertypes as utypes
|
from qutebrowser.utils import usertypes as utypes
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,8 +34,7 @@ from qutebrowser.commands import utils as cmdutils
|
|||||||
from qutebrowser.commands import exceptions as cmdexc
|
from qutebrowser.commands import exceptions as cmdexc
|
||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
from qutebrowser.browser import hints, quickmarks
|
from qutebrowser.browser import hints, quickmarks
|
||||||
from qutebrowser.utils import message, webelem, editor, usertypes, log
|
from qutebrowser.utils import message, webelem, editor, usertypes, log, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
from qutebrowser.utils import url as urlutils
|
from qutebrowser.utils import url as urlutils
|
||||||
|
|
||||||
|
|
||||||
|
@ -30,8 +30,7 @@ from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply
|
|||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
from qutebrowser.commands import utils as cmdutils
|
from qutebrowser.commands import utils as cmdutils
|
||||||
from qutebrowser.commands import exceptions as cmdexc
|
from qutebrowser.commands import exceptions as cmdexc
|
||||||
from qutebrowser.utils import message, http, usertypes, log, utils
|
from qutebrowser.utils import message, http, usertypes, log, utils, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
|
|
||||||
|
|
||||||
class DownloadItem(QObject):
|
class DownloadItem(QObject):
|
||||||
|
@ -32,8 +32,7 @@ from qutebrowser.keyinput import modeman
|
|||||||
from qutebrowser.utils import message, webelem
|
from qutebrowser.utils import message, webelem
|
||||||
from qutebrowser.commands import userscripts
|
from qutebrowser.commands import userscripts
|
||||||
from qutebrowser.commands import exceptions as cmdexc
|
from qutebrowser.commands import exceptions as cmdexc
|
||||||
from qutebrowser.utils import usertypes, log
|
from qutebrowser.utils import usertypes, log, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
|
|
||||||
|
|
||||||
ElemTuple = collections.namedtuple('ElemTuple', 'elem, label')
|
ElemTuple = collections.namedtuple('ElemTuple', 'elem, label')
|
||||||
|
@ -29,8 +29,7 @@ import collections
|
|||||||
|
|
||||||
from PyQt5.QtCore import QStandardPaths, QUrl
|
from PyQt5.QtCore import QStandardPaths, QUrl
|
||||||
|
|
||||||
from qutebrowser.utils import message, usertypes, utils
|
from qutebrowser.utils import message, usertypes, utils, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
from qutebrowser.commands import utils as cmdutils
|
from qutebrowser.commands import utils as cmdutils
|
||||||
from qutebrowser.commands import exceptions as cmdexc
|
from qutebrowser.commands import exceptions as cmdexc
|
||||||
from qutebrowser.config import lineparser
|
from qutebrowser.config import lineparser
|
||||||
|
@ -30,8 +30,7 @@ from PyQt5.QtWebKitWidgets import QWebPage
|
|||||||
|
|
||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
from qutebrowser.network import networkmanager
|
from qutebrowser.network import networkmanager
|
||||||
from qutebrowser.utils import message, usertypes, log, http, utils
|
from qutebrowser.utils import message, usertypes, log, http, utils, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
|
|
||||||
|
|
||||||
class BrowserPage(QWebPage):
|
class BrowserPage(QWebPage):
|
||||||
|
@ -26,8 +26,7 @@ Module attributes:
|
|||||||
import inspect
|
import inspect
|
||||||
import collections
|
import collections
|
||||||
|
|
||||||
from qutebrowser.utils import usertypes
|
from qutebrowser.utils import usertypes, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
from qutebrowser.commands import command
|
from qutebrowser.commands import command
|
||||||
from qutebrowser.commands import exceptions as cmdexc
|
from qutebrowser.commands import exceptions as cmdexc
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ import collections
|
|||||||
from qutebrowser.config import conftypes as typ
|
from qutebrowser.config import conftypes as typ
|
||||||
from qutebrowser.config import sections as sect
|
from qutebrowser.config import sections as sect
|
||||||
from qutebrowser.config.value import SettingValue
|
from qutebrowser.config.value import SettingValue
|
||||||
from qutebrowser.utils.qt import MAXVALS
|
from qutebrowser.utils.qtutils import MAXVALS
|
||||||
|
|
||||||
|
|
||||||
FIRST_COMMENT = r"""
|
FIRST_COMMENT = r"""
|
||||||
|
@ -26,8 +26,7 @@ Module attributes:
|
|||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
from PyQt5.QtGui import QStandardItemModel, QStandardItem
|
from PyQt5.QtGui import QStandardItemModel, QStandardItem
|
||||||
|
|
||||||
from qutebrowser.utils import usertypes
|
from qutebrowser.utils import usertypes, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
|
|
||||||
|
|
||||||
Role = usertypes.enum('Role', 'marks', 'sort', start=Qt.UserRole, is_int=True)
|
Role = usertypes.enum('Role', 'marks', 'sort', start=Qt.UserRole, is_int=True)
|
||||||
|
@ -24,8 +24,7 @@ from PyQt5.QtCore import pyqtSlot, Qt, QCoreApplication
|
|||||||
from qutebrowser.config import config, configdata
|
from qutebrowser.config import config, configdata
|
||||||
from qutebrowser.models import basecompletion
|
from qutebrowser.models import basecompletion
|
||||||
from qutebrowser.commands import utils as cmdutils
|
from qutebrowser.commands import utils as cmdutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
from qutebrowser.utils import log, qtutils
|
||||||
from qutebrowser.utils import log
|
|
||||||
|
|
||||||
|
|
||||||
class SettingSectionCompletionModel(basecompletion.BaseCompletionModel):
|
class SettingSectionCompletionModel(basecompletion.BaseCompletionModel):
|
||||||
|
@ -26,8 +26,7 @@ Contains:
|
|||||||
from PyQt5.QtCore import QSortFilterProxyModel, QModelIndex
|
from PyQt5.QtCore import QSortFilterProxyModel, QModelIndex
|
||||||
|
|
||||||
from qutebrowser.models import basecompletion as completion
|
from qutebrowser.models import basecompletion as completion
|
||||||
from qutebrowser.utils import qt as qtutils
|
from qutebrowser.utils import log, qtutils
|
||||||
from qutebrowser.utils import log
|
|
||||||
|
|
||||||
|
|
||||||
class CompletionFilterModel(QSortFilterProxyModel):
|
class CompletionFilterModel(QSortFilterProxyModel):
|
||||||
|
@ -24,8 +24,7 @@ from PyQt5.QtCore import (pyqtSlot, Qt, QVariant, QAbstractListModel,
|
|||||||
from PyQt5.QtWidgets import QApplication
|
from PyQt5.QtWidgets import QApplication
|
||||||
|
|
||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
from qutebrowser.utils import usertypes
|
from qutebrowser.utils import usertypes, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
|
|
||||||
|
|
||||||
Role = usertypes.enum('Role', 'item', start=Qt.UserRole, is_int=True)
|
Role = usertypes.enum('Role', 'item', start=Qt.UserRole, is_int=True)
|
||||||
|
@ -29,8 +29,7 @@ import tempfile
|
|||||||
from PyQt5.QtCore import QStandardPaths, QCoreApplication, Qt
|
from PyQt5.QtCore import QStandardPaths, QCoreApplication, Qt
|
||||||
from PyQt5.QtGui import QColor
|
from PyQt5.QtGui import QColor
|
||||||
|
|
||||||
from qutebrowser.utils import utils
|
from qutebrowser.utils import utils, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
from qutebrowser.test import helpers
|
from qutebrowser.test import helpers
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,13 +17,13 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>.
|
# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
"""Tests for qutebrowser.utils.qt."""
|
"""Tests for qutebrowser.utils.qtutils."""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from qutebrowser.utils import qt
|
from qutebrowser.utils import qtutils
|
||||||
|
|
||||||
|
|
||||||
class CheckOverflowTests(unittest.TestCase):
|
class CheckOverflowTests(unittest.TestCase):
|
||||||
@ -63,7 +63,7 @@ class CheckOverflowTests(unittest.TestCase):
|
|||||||
for ctype, vals in self.GOOD_VALUES.items():
|
for ctype, vals in self.GOOD_VALUES.items():
|
||||||
for val in vals:
|
for val in vals:
|
||||||
with self.subTest(ctype=ctype, val=val):
|
with self.subTest(ctype=ctype, val=val):
|
||||||
qt.check_overflow(val, ctype)
|
qtutils.check_overflow(val, ctype)
|
||||||
|
|
||||||
def test_bad_values_fatal(self):
|
def test_bad_values_fatal(self):
|
||||||
"""Test values which are outside bounds with fatal=True."""
|
"""Test values which are outside bounds with fatal=True."""
|
||||||
@ -71,14 +71,14 @@ class CheckOverflowTests(unittest.TestCase):
|
|||||||
for (val, _) in vals:
|
for (val, _) in vals:
|
||||||
with self.subTest(ctype=ctype, val=val):
|
with self.subTest(ctype=ctype, val=val):
|
||||||
with self.assertRaises(OverflowError):
|
with self.assertRaises(OverflowError):
|
||||||
qt.check_overflow(val, ctype)
|
qtutils.check_overflow(val, ctype)
|
||||||
|
|
||||||
def test_bad_values_nonfatal(self):
|
def test_bad_values_nonfatal(self):
|
||||||
"""Test values which are outside bounds with fatal=False."""
|
"""Test values which are outside bounds with fatal=False."""
|
||||||
for ctype, vals in self.BAD_VALUES.items():
|
for ctype, vals in self.BAD_VALUES.items():
|
||||||
for (val, replacement) in vals:
|
for (val, replacement) in vals:
|
||||||
with self.subTest(ctype=ctype, val=val):
|
with self.subTest(ctype=ctype, val=val):
|
||||||
newval = qt.check_overflow(val, ctype, fatal=False)
|
newval = qtutils.check_overflow(val, ctype, fatal=False)
|
||||||
self.assertEqual(newval, replacement)
|
self.assertEqual(newval, replacement)
|
||||||
|
|
||||||
|
|
||||||
@ -109,26 +109,26 @@ class GetQtArgsTests(unittest.TestCase):
|
|||||||
def test_no_qt_args(self):
|
def test_no_qt_args(self):
|
||||||
"""Test commandline with no Qt arguments given."""
|
"""Test commandline with no Qt arguments given."""
|
||||||
ns = self._namespace(['--foo'], flags=['--foo'])
|
ns = self._namespace(['--foo'], flags=['--foo'])
|
||||||
self.assertEqual(qt.get_args(ns), [sys.argv[0]])
|
self.assertEqual(qtutils.get_args(ns), [sys.argv[0]])
|
||||||
|
|
||||||
def test_qt_flag(self):
|
def test_qt_flag(self):
|
||||||
"""Test commandline with a Qt flag."""
|
"""Test commandline with a Qt flag."""
|
||||||
ns = self._namespace(['--foo', '--qt-reverse', '--bar'],
|
ns = self._namespace(['--foo', '--qt-reverse', '--bar'],
|
||||||
flags=['--foo', '--qt-reverse', '--bar'])
|
flags=['--foo', '--qt-reverse', '--bar'])
|
||||||
self.assertEqual(qt.get_args(ns), [sys.argv[0], '-reverse'])
|
self.assertEqual(qtutils.get_args(ns), [sys.argv[0], '-reverse'])
|
||||||
|
|
||||||
def test_qt_arg(self):
|
def test_qt_arg(self):
|
||||||
"""Test commandline with a Qt argument."""
|
"""Test commandline with a Qt argument."""
|
||||||
ns = self._namespace(['--qt-stylesheet', 'foobar'],
|
ns = self._namespace(['--qt-stylesheet', 'foobar'],
|
||||||
args=['--qt-stylesheet'])
|
args=['--qt-stylesheet'])
|
||||||
self.assertEqual(qt.get_args(ns), [sys.argv[0], '-stylesheet',
|
self.assertEqual(qtutils.get_args(ns), [sys.argv[0], '-stylesheet',
|
||||||
'foobar'])
|
'foobar'])
|
||||||
|
|
||||||
def test_qt_both(self):
|
def test_qt_both(self):
|
||||||
"""Test commandline with a Qt argument and flag."""
|
"""Test commandline with a Qt argument and flag."""
|
||||||
ns = self._namespace(['--qt-stylesheet', 'foobar', '--qt-reverse'],
|
ns = self._namespace(['--qt-stylesheet', 'foobar', '--qt-reverse'],
|
||||||
flags=['--qt-reverse'], args=['--qt-stylesheet'])
|
flags=['--qt-reverse'], args=['--qt-stylesheet'])
|
||||||
qt_args = qt.get_args(ns)
|
qt_args = qtutils.get_args(ns)
|
||||||
self.assertEqual(qt_args[0], sys.argv[0])
|
self.assertEqual(qt_args[0], sys.argv[0])
|
||||||
self.assertIn('-reverse', qt_args)
|
self.assertIn('-reverse', qt_args)
|
||||||
self.assertIn('-stylesheet', qt_args)
|
self.assertIn('-stylesheet', qt_args)
|
||||||
|
@ -205,7 +205,7 @@ def check_qt_version():
|
|||||||
"""Check if the Qt version is recent enough."""
|
"""Check if the Qt version is recent enough."""
|
||||||
import operator
|
import operator
|
||||||
from PyQt5.QtCore import qVersion
|
from PyQt5.QtCore import qVersion
|
||||||
from qutebrowser.utils import qt as qtutils
|
from qutebrowser.utils import qtutils
|
||||||
if qtutils.version_check('5.2.0', operator.lt):
|
if qtutils.version_check('5.2.0', operator.lt):
|
||||||
text = ("Fatal error: Qt and PyQt >= 5.2.0 are required, but {} is "
|
text = ("Fatal error: Qt and PyQt >= 5.2.0 are required, but {} is "
|
||||||
"installed.".format(qVersion()))
|
"installed.".format(qVersion()))
|
||||||
|
@ -27,8 +27,7 @@ from PyQt5.QtCore import QUrl
|
|||||||
from PyQt5.QtNetwork import QHostInfo
|
from PyQt5.QtNetwork import QHostInfo
|
||||||
|
|
||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
from qutebrowser.utils import qt as qtutils
|
from qutebrowser.utils import log, qtutils
|
||||||
from qutebrowser.utils import log
|
|
||||||
|
|
||||||
|
|
||||||
# FIXME: we probably could raise some exceptions on invalid URLs
|
# FIXME: we probably could raise some exceptions on invalid URLs
|
||||||
|
@ -29,8 +29,7 @@ import enum as pyenum
|
|||||||
|
|
||||||
from PyQt5.QtCore import pyqtSignal, QObject, QTimer
|
from PyQt5.QtCore import pyqtSignal, QObject, QTimer
|
||||||
|
|
||||||
from qutebrowser.utils import qt as qtutils
|
from qutebrowser.utils import log, qtutils
|
||||||
from qutebrowser.utils import log
|
|
||||||
|
|
||||||
|
|
||||||
_UNSET = object()
|
_UNSET = object()
|
||||||
|
@ -35,7 +35,7 @@ from PyQt5.QtGui import QKeySequence, QColor
|
|||||||
import pkg_resources
|
import pkg_resources
|
||||||
|
|
||||||
import qutebrowser
|
import qutebrowser
|
||||||
from qutebrowser.utils import qt as qtutils
|
from qutebrowser.utils import qtutils
|
||||||
|
|
||||||
|
|
||||||
def elide(text, length):
|
def elide(text, length):
|
||||||
|
@ -29,8 +29,7 @@ from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QItemSelectionModel
|
|||||||
from qutebrowser.commands import utils as cmdutils
|
from qutebrowser.commands import utils as cmdutils
|
||||||
from qutebrowser.config import config, style
|
from qutebrowser.config import config, style
|
||||||
from qutebrowser.widgets import completiondelegate
|
from qutebrowser.widgets import completiondelegate
|
||||||
from qutebrowser.utils import completer, usertypes
|
from qutebrowser.utils import completer, usertypes, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
|
|
||||||
|
|
||||||
class CompletionView(QTreeView):
|
class CompletionView(QTreeView):
|
||||||
|
@ -30,7 +30,7 @@ from PyQt5.QtGui import (QIcon, QPalette, QTextDocument, QTextOption,
|
|||||||
|
|
||||||
from qutebrowser.config import config, style
|
from qutebrowser.config import config, style
|
||||||
from qutebrowser.models import basecompletion
|
from qutebrowser.models import basecompletion
|
||||||
from qutebrowser.utils import qt as qtutils
|
from qutebrowser.utils import qtutils
|
||||||
|
|
||||||
|
|
||||||
class CompletionItemDelegate(QStyledItemDelegate):
|
class CompletionItemDelegate(QStyledItemDelegate):
|
||||||
|
@ -24,7 +24,7 @@ from PyQt5.QtWidgets import QListView, QSizePolicy, QMenu
|
|||||||
|
|
||||||
from qutebrowser.models import downloadmodel
|
from qutebrowser.models import downloadmodel
|
||||||
from qutebrowser.config import style
|
from qutebrowser.config import style
|
||||||
from qutebrowser.utils import qt as qtutils
|
from qutebrowser.utils import qtutils
|
||||||
|
|
||||||
|
|
||||||
class DownloadView(QListView):
|
class DownloadView(QListView):
|
||||||
|
@ -27,8 +27,7 @@ from PyQt5.QtWidgets import QWidget, QVBoxLayout
|
|||||||
|
|
||||||
from qutebrowser.commands import utils as cmdutils
|
from qutebrowser.commands import utils as cmdutils
|
||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
from qutebrowser.utils import message, log, usertypes
|
from qutebrowser.utils import message, log, usertypes, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
from qutebrowser.widgets import tabbedbrowser, completion, downloads
|
from qutebrowser.widgets import tabbedbrowser, completion, downloads
|
||||||
from qutebrowser.widgets.statusbar import bar
|
from qutebrowser.widgets.statusbar import bar
|
||||||
|
|
||||||
|
@ -26,8 +26,7 @@ from PyQt5.QtWidgets import QLineEdit
|
|||||||
|
|
||||||
from qutebrowser.keyinput import modeman
|
from qutebrowser.keyinput import modeman
|
||||||
from qutebrowser.commands import utils as cmdutils
|
from qutebrowser.commands import utils as cmdutils
|
||||||
from qutebrowser.utils import usertypes, log
|
from qutebrowser.utils import usertypes, log, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
|
|
||||||
|
|
||||||
PromptContext = collections.namedtuple('PromptContext',
|
PromptContext = collections.namedtuple('PromptContext',
|
||||||
|
@ -23,7 +23,7 @@ from PyQt5.QtCore import Qt
|
|||||||
from PyQt5.QtWidgets import QLabel, QSizePolicy
|
from PyQt5.QtWidgets import QLabel, QSizePolicy
|
||||||
from PyQt5.QtGui import QPainter
|
from PyQt5.QtGui import QPainter
|
||||||
|
|
||||||
from qutebrowser.utils import qt as qtutils
|
from qutebrowser.utils import qtutils
|
||||||
|
|
||||||
|
|
||||||
class TextBase(QLabel):
|
class TextBase(QLabel):
|
||||||
|
@ -32,8 +32,7 @@ from qutebrowser.commands import exceptions as cmdexc
|
|||||||
from qutebrowser.keyinput import modeman
|
from qutebrowser.keyinput import modeman
|
||||||
from qutebrowser.widgets import tabwidget, webview
|
from qutebrowser.widgets import tabwidget, webview
|
||||||
from qutebrowser.browser import signalfilter, commands
|
from qutebrowser.browser import signalfilter, commands
|
||||||
from qutebrowser.utils import log, message, usertypes, utils
|
from qutebrowser.utils import log, message, usertypes, utils, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
|
|
||||||
|
|
||||||
class TabbedBrowser(tabwidget.TabWidget):
|
class TabbedBrowser(tabwidget.TabWidget):
|
||||||
|
@ -32,7 +32,7 @@ from PyQt5.QtWidgets import (QTabWidget, QTabBar, QSizePolicy, QCommonStyle,
|
|||||||
QApplication)
|
QApplication)
|
||||||
from PyQt5.QtGui import QIcon, QPalette, QColor
|
from PyQt5.QtGui import QIcon, QPalette, QColor
|
||||||
|
|
||||||
from qutebrowser.utils import qt as qtutils
|
from qutebrowser.utils import qtutils
|
||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,8 +26,7 @@ from PyQt5.QtWebKitWidgets import QWebView, QWebPage
|
|||||||
|
|
||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
from qutebrowser.keyinput import modeman
|
from qutebrowser.keyinput import modeman
|
||||||
from qutebrowser.utils import message, webelem, log, usertypes, utils
|
from qutebrowser.utils import message, webelem, log, usertypes, utils, qtutils
|
||||||
from qutebrowser.utils import qt as qtutils
|
|
||||||
from qutebrowser.browser import webpage, hints
|
from qutebrowser.browser import webpage, hints
|
||||||
from qutebrowser.commands import exceptions as cmdexc
|
from qutebrowser.commands import exceptions as cmdexc
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user