本文整理汇总了Python中tornado.escape.to_unicode函数的典型用法代码示例。如果您正苦于以下问题:Python to_unicode函数的具体用法?Python to_unicode怎么用?Python to_unicode使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了to_unicode函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: send_mail
def send_mail(recepients=None, subject=None, template=None, template_data=None):
connection_details = email_model.get_email_details()
port = int(connection_details['port'])
security = connection_details['security'] if connection_details['security'] != 'None' else None
mailer = ThreadedMailer(SMTPMailer(connection_details['address'], port,
username = connection_details['username'],
password = connection_details['password'],
transport_args = {'security': security},
log_file = '/var/log/amonone/amonone-mailer.log',
log_messages=False))
EMAIL_ROOT = abspath(dirname(__file__))
TEMPLATES_DIR = join(EMAIL_ROOT, 'templates')
env = Environment(loader=FileSystemLoader(TEMPLATES_DIR))
env.filters['date_local'] = dateformat_local
template_file = env.get_template("{0}.html".format(template))
rendered_template = template_file.render(template_data=template_data)
message = escape.to_unicode(rendered_template)
subject = escape.to_unicode(subject)
email_recepients = [x['email'] for x in recepients]
try:
mailer.send_html(connection_details['from_'], email_recepients, subject, message)
except Exception, e:
print e
raise e
示例2: handle_bulk
def handle_bulk(self, records_list, stages=None, status_code=None, exception=None, uri=None, method=None, **kwargs):
if len(records_list) > 0:
first_record = records_list[0]
else:
return
record_for_gelf = copy.deepcopy(first_record)
record_for_gelf.message = u"{0} {1} {2} \n".format(record_for_gelf.asctime, record_for_gelf.levelname,
to_unicode(record_for_gelf.message))
record_for_gelf.short = u"{0} {1} {2}".format(method, to_unicode(uri), status_code)
record_for_gelf.exc_info = exception
record_for_gelf.levelno = 20
for record in records_list[1:]:
if record.levelno > record_for_gelf.levelno:
record_for_gelf.levelno = record.levelno
record_for_gelf.lineno = record.lineno
record_for_gelf.short = record.message
if record.exc_info is not None:
record_for_gelf.exc_info = traceback.format_exc(record.exc_info)
record_for_gelf.short += "\n" + traceback.format_exc(record.exc_info)
record_for_gelf.message += u" {0} {1} {2} \n".format(record.asctime, record.levelname,
to_unicode(record.message))
if stages is not None:
for stage_name, stage_start, stage_delta in stages:
setattr(record_for_gelf, stage_name + "_stage", str(int(stage_delta*1000)))
record_for_gelf.name = record_for_gelf.handler
record_for_gelf.code = status_code
GELFHandler.handle(self, record_for_gelf)
self.close()
示例3: _exception_to_xml
def _exception_to_xml(exc_info, log=debug_log):
exc_node = etree.Element('exception')
try:
trace_node = etree.Element('trace')
trace = exc_info[2]
while trace:
frame = trace.tb_frame
trace_step_node = etree.Element('step')
trace_lines = etree.Element('lines')
try:
lines, starting_line = inspect.getsourcelines(frame)
except IOError:
lines, starting_line = [], None
for i, l in enumerate(lines):
line_node = etree.Element('line')
line_node.append(E.text(to_unicode(l)))
line_node.append(E.number(str(starting_line + i)))
if starting_line + i == frame.f_lineno:
line_node.set('selected', 'true')
trace_lines.append(line_node)
trace_step_node.append(trace_lines)
trace_step_node.append(E.file(to_unicode(inspect.getfile(frame))))
trace_step_node.append(E.locals(pprint.pformat(frame.f_locals)))
trace_node.append(trace_step_node)
trace = trace.tb_next
exc_node.append(trace_node)
except Exception:
log.exception('cannot add traceback lines')
exc_node.append(E.text(''.join(map(to_unicode, traceback.format_exception(*exc_info)))))
return exc_node
示例4: _finish_with_template
async def _finish_with_template(self):
if not self.environment:
raise Exception('Cannot apply template, no Jinja2 environment configured')
if self.handler._headers.get('Content-Type') is None:
self.handler.set_header('Content-Type', media_types.TEXT_HTML)
try:
render_result = await self._render_template_stream_on_ioloop(options.jinja_streaming_render_timeout_ms)
if self.handler.is_finished():
return None
start_time, result = render_result
self.handler.stages_logger.commit_stage('tpl')
self.log.info('applied template %s in %.2fms', self.template_filename, (time.time() - start_time) * 1000)
return result
except Exception as e:
self.log.error('failed applying template %s', self.template_filename)
if isinstance(e, jinja2.TemplateSyntaxError):
self.log.error(
'%s in file "%s", line %d\n\t%s',
e.__class__.__name__, to_unicode(e.filename), e.lineno, to_unicode(e.message)
)
elif isinstance(e, jinja2.TemplateError):
self.log.error('%s error\n\t%s', e.__class__.__name__, to_unicode(e.message))
raise e
示例5: load_json_translations
def load_json_translations(directory):
"""Loads translations from JSON files in a directory."""
tornado_locale._translations = {}
for path in os.listdir(directory):
if not path.endswith(".json"):
continue
locale, _ = path.split(".")
locale_parts = locale.replace('-', '_').split('_')
locale = "_".join(
locale_parts[:1] + [part.upper() for part in locale_parts[1:]])
if not re.match("[a-z]+(_[A-Z]+)?$", locale):
# Unrecognized locale
continue
full_path = os.path.join(directory, path)
try:
with open(full_path, "r") as fd:
all_translations = json.load(fd)
except TypeError:
# Invalid translation
continue
tornado_locale._translations[locale] = {}
for key, value in all_translations.iteritems():
tornado_locale._translations[locale].setdefault("unknown", {})[
escape.to_unicode(key)] = escape.to_unicode(value)
tornado_locale._supported_locales = frozenset(
list(tornado_locale._translations.keys()) +
[tornado_locale._default_locale])
示例6: get
def get(self):
self.write(u"抓取中<a href='/'>回首页</a>")
self.finish()
feeds = self.feed_list
#pp = pprint.PrettyPrinter(indent=4)
for f in feeds:
d = feedparser.parse(f.feed_url)
for e in d.entries:
#pp.pprint(e.content[0].value)
exist =\
self.db.query(Entry).filter_by(entry_title=\
to_unicode(e.title)).first()
if exist:
continue
entry = Entry(entry_title=to_unicode(e.title))
try:
entry.entry_author = to_unicode(e.author)
except:
entry.entry_author = 'admin'
entry.entry_link = to_unicode(e.link)
entry_content = to_unicode(e.content[0].value)
entry.entry_content = entry_content
entry.entry_parrent = f.id
entry.entry_pubdate =\
datetime.fromtimestamp(mktime(e.updated_parsed))
self.db.add(entry)
self.db.commit()
示例7: _on_commands
def _on_commands(self, line):
try:
if self.__state == self.COMMAND:
line = to_unicode(line)[:-2] # Remove delimiter '\r\n'
if not line.strip():
raise errors.UnrecognisedCommand()
i = line.find(' ')
if i < 0:
command = line
arg = None
else:
command = line[:i]
arg = line[i + 1:].strip()
method = getattr(self, 'command_' + command.lower(), None)
if not method:
raise errors.NotImplementedCommand(command)
method(arg)
elif self.__state == self.DATA:
line = to_unicode(line)[:-5] # Remove delimiter '\r\n.\r\n'
data = []
for text in line.split(CRLF):
if text and text[0] == '.':
data.append(text[1:])
else:
data.append(text)
self._on_data('\n'.join(data))
else:
raise errors.InternalConfusion()
except Exception as e:
self._handle_request_exception(e)
示例8: assertNotIn
def assertNotIn(self, observed, expected, *args, **kwargs):
return super(NBViewerTestCase, self).assertNotIn(
to_unicode(observed),
to_unicode(expected),
*args,
**kwargs
)
示例9: handle
def handle(self, record):
entry_attrs = {}
for field in self.FIELDS:
val = getattr(record, field)
if val is not None:
entry_attrs[field] = str(val)
entry_attrs['msg'] = to_unicode(record.getMessage())
try:
entry = etree.Element("entry", **entry_attrs)
except ValueError:
debug_log.exception('error creating log entry with attrs: %s', entry_attrs)
entry = etree.Element("entry")
entry.set("asctime", str(datetime.fromtimestamp(record.created)))
if record.exc_info is not None:
entry.append(_exception_to_xml(record.exc_info))
if getattr(record, '_labels', None) is not None:
labels = E.labels()
for label in record._labels:
labels.append(E.label(label))
entry.append(labels)
if getattr(record, '_response', None) is not None:
entry.append(response_to_xml(record._response))
if getattr(record, '_request', None) is not None:
entry.append(request_to_xml(record._request))
if getattr(record, '_debug_response', None) is not None:
entry.append(E.debug(record._debug_response))
if getattr(record, '_xslt_profile', None) is not None:
entry.append(record._xslt_profile)
if getattr(record, '_xml', None) is not None:
entry.append(E.text(etree.tostring(record._xml, encoding=unicode)))
if getattr(record, '_protobuf', None) is not None:
if isinstance(record._protobuf, basestring):
entry.append(E.text(record._protobuf))
else:
entry.append(E.text(unicode(record._protobuf)))
if getattr(record, '_text', None) is not None:
entry.append(E.text(to_unicode(record._text)))
if getattr(record, '_stage', None) is not None:
entry.append(E.stage(
E.name(record._stage.name),
E.delta(_format_number(record._stage.delta)),
E.start_delta(_format_number(record._stage.start_delta))
))
self.log_data.append(entry)
示例10: unicode_encoded_dict
def unicode_encoded_dict(in_dict):
"""
使用 unicode 重新编码字典
:param in_dict:
:return:
"""
out_dict = {}
for k, v in iteritems(in_dict):
out_dict[to_unicode(k)] = to_unicode(v)
return out_dict
示例11: get_filters_values_key
def get_filters_values_key(self, project, metric_name, f):
"""Get key for filter values list
:param project:
:param metric_name:
:param f: filter name
"""
return u"{0}-metrics-filter-values:{1}:{2}".format(project,
to_unicode(metric_name),
to_unicode(f))
示例12: _params_to_xml
def _params_to_xml(url, logger=debug_log):
params = etree.Element('params')
query = frontik.util.get_query_parameters(url)
for name, values in query.iteritems():
for value in values:
try:
params.append(E.param(to_unicode(value), name=to_unicode(name)))
except UnicodeDecodeError:
logger.exception('cannot decode parameter name or value')
params.append(E.param(repr(value), name=repr(name)))
return params
示例13: make_url
def make_url(base, **query_args):
"""
Builds URL from base part and query arguments passed as kwargs.
Returns unicode string
"""
qs = make_qs(query_args)
if qs:
return to_unicode(base) + ('&' if '?' in base else '?') + qs
else:
return to_unicode(base)
示例14: _produce_one
def _produce_one(self, record):
entry_attrs = {}
for field in self.FIELDS:
val = getattr(record, field)
if val is not None:
entry_attrs[field] = to_unicode(str(val))
entry_attrs['msg'] = to_unicode(record.getMessage())
try:
entry = etree.Element('entry', **entry_attrs)
except ValueError:
debug_log.exception('error creating log entry with attrs: %s', entry_attrs)
entry = etree.Element('entry')
entry.set('asctime', str(datetime.fromtimestamp(record.created)))
if record.exc_info is not None:
entry.append(_exception_to_xml(record.exc_info))
if getattr(record, '_response', None) is not None:
entry.append(response_to_xml(record._response))
if getattr(record, '_request', None) is not None:
entry.append(request_to_xml(record._request))
if getattr(record, '_balanced_request', None) is not None:
entry.append(balanced_request_to_xml(record._balanced_request, record._request_retry,
record._rack, record._datacenter))
if getattr(record, '_debug_response', None) is not None:
entry.append(E.debug(record._debug_response))
if getattr(record, '_xslt_profile', None) is not None:
entry.append(record._xslt_profile)
if getattr(record, '_xml', None) is not None:
entry.append(E.text(etree.tostring(record._xml, encoding='unicode')))
if getattr(record, '_protobuf', None) is not None:
entry.append(E.text(str(record._protobuf)))
if getattr(record, '_text', None) is not None:
entry.append(E.text(to_unicode(record._text)))
if getattr(record, '_stage', None) is not None:
entry.append(E.stage(
E.name(record._stage.name),
E.delta(_format_number(record._stage.delta)),
E.start_delta(_format_number(record._stage.start_delta))
))
return entry
示例15: _flatten_arguments
def _flatten_arguments(args):
"""
去除请求中单值参数的数组结构
"""
flattened = {}
for key in args:
if len(args[key]) == 1:
flattened[key] = to_unicode(args[key][0])
else:
flattened[key] = [to_unicode(arg) for arg in args[key]]
return flattened