jp, core: jp's clean_ustr moved to a new general utils module
This commit is contained in:
parent
f9ef9a4f4a
commit
dfe67edc26
2 changed files with 39 additions and 13 deletions
|
|
@ -56,10 +56,10 @@ from optparse import OptionParser
|
|||
from sat.tools.jid import JID
|
||||
import gobject
|
||||
from sat_frontends.bridge.DBus import DBusBridgeFrontend,BridgeExceptionNoService
|
||||
from sat.tools.utils import clean_ustr
|
||||
import tarfile
|
||||
import tempfile
|
||||
import shutil
|
||||
import unicodedata
|
||||
try:
|
||||
from progressbar import ProgressBar, Percentage, Bar, ETA, FileTransferSpeed
|
||||
except ImportError, e:
|
||||
|
|
@ -198,16 +198,6 @@ class JP(object):
|
|||
except AttributeError:
|
||||
pass
|
||||
|
||||
def clean_ustr(self, ustr):
|
||||
"""Clean unicode string
|
||||
remove special characters from unicode string"""
|
||||
def valid_chars(unicode_source):
|
||||
for char in unicode_source:
|
||||
if unicodedata.category(char) == 'Cc' and char!='\n':
|
||||
continue
|
||||
yield char
|
||||
return ''.join(valid_chars(ustr))
|
||||
|
||||
|
||||
def send_stdin(self):
|
||||
"""Send incomming data on stdin to jabber contact"""
|
||||
|
|
@ -217,12 +207,12 @@ class JP(object):
|
|||
if header:
|
||||
self.bridge.sendMessage(self.dest_jid, header, profile_key=self.profile)
|
||||
while (True):
|
||||
line = self.clean_ustr(sys.stdin.readline().decode('utf-8','ignore'))
|
||||
line = clean_ustr(sys.stdin.readline().decode('utf-8','ignore'))
|
||||
if not line:
|
||||
break
|
||||
self.bridge.sendMessage(self.dest_jid, line.replace("\n",""), profile_key=self.profile)
|
||||
else:
|
||||
self.bridge.sendMessage(self.dest_jid, header + self.clean_ustr(u"".join([stream.decode('utf-8','ignore') for stream in sys.stdin.readlines()])), profile_key=self.profile)
|
||||
self.bridge.sendMessage(self.dest_jid, header + clean_ustr(u"".join([stream.decode('utf-8','ignore') for stream in sys.stdin.readlines()])), profile_key=self.profile)
|
||||
|
||||
|
||||
def pipe_out(self):
|
||||
|
|
|
|||
36
src/tools/utils.py
Normal file
36
src/tools/utils.py
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
SAT: a jabber client
|
||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Jérôme Poisson (goffi@goffi.org)
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
|
||||
""" various useful methods """
|
||||
|
||||
import unicodedata
|
||||
|
||||
|
||||
def clean_ustr(ustr):
|
||||
"""Clean unicode string
|
||||
remove special characters from unicode string"""
|
||||
def valid_chars(unicode_source):
|
||||
for char in unicode_source:
|
||||
if unicodedata.category(char) == 'Cc' and char!='\n':
|
||||
continue
|
||||
yield char
|
||||
return ''.join(valid_chars(ustr))
|
||||
|
||||
Loading…
Reference in a new issue