changeset 601:a4f6f78f0620

jp, core: jp's clean_ustr moved to a new general utils module
author Goffi <goffi@goffi.org>
date Fri, 22 Feb 2013 00:11:47 +0100
parents c5451501465b
children 6fd1095b2b7b
files frontends/src/jp/jp src/tools/utils.py
diffstat 2 files changed, 39 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/frontends/src/jp/jp	Wed Feb 20 20:37:17 2013 +0100
+++ b/frontends/src/jp/jp	Fri Feb 22 00:11:47 2013 +0100
@@ -56,10 +56,10 @@
 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 @@
         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 @@
             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):
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/tools/utils.py	Fri Feb 22 00:11:47 2013 +0100
@@ -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))
+