File indexing completed on 2024-04-21 04:01:54

0001 # -*- coding: utf-8 -*-
0002 
0003 """
0004 Copyright (C) 2008-2016 Wolfgang Rohdewald <wolfgang@rohdewald.de>
0005 
0006 SPDX-License-Identifier: GPL-2.0
0007 
0008 """
0009 
0010 from log import SERVERMARK
0011 
0012 def srvMessage(*args):
0013     """
0014     concatenate all args needed for i18n encoded in one string.
0015     For an explanation see util.translateServerMessage.
0016 
0017     @returns: The string to be wired.
0018     @rtype: C{str}, utf-8 encoded
0019     """
0020     strArgs = []
0021     for arg in args:
0022         if isinstance(arg, str):
0023             arg = arg.encode('utf-8')
0024         else:
0025             arg = str(arg).encode('utf-8')
0026         strArgs.append(arg)
0027     mark = SERVERMARK.encode()
0028     return mark + mark.join(strArgs) + mark
0029 
0030 
0031 def srvError(cls, *args):
0032     """raise an exception, passing args as a single string"""
0033     raise cls(srvMessage(*args))