equal
deleted
inserted
replaced
25 import subprocess |
25 import subprocess |
26 from os.path import abspath |
26 from os.path import abspath |
27 from logging import getLogger |
27 from logging import getLogger |
28 from datetime import time, datetime |
28 from datetime import time, datetime |
29 |
29 |
30 from six import string_types |
30 from six import string_types, text_type |
31 from six.moves import filter |
31 from six.moves import filter |
32 |
32 |
33 from logilab import database as db, common as lgc |
33 from logilab import database as db, common as lgc |
34 from logilab.common.shellutils import ProgressBar, DummyProgressBar |
34 from logilab.common.shellutils import ProgressBar, DummyProgressBar |
35 from logilab.common.deprecation import deprecated |
35 from logilab.common.deprecation import deprecated |
482 self.values = set() |
482 self.values = set() |
483 def step(self, value): |
483 def step(self, value): |
484 if value is not None: |
484 if value is not None: |
485 self.values.add(value) |
485 self.values.add(value) |
486 def finalize(self): |
486 def finalize(self): |
487 return ', '.join(unicode(v) for v in self.values) |
487 return ', '.join(text_type(v) for v in self.values) |
488 |
488 |
489 cnx.create_aggregate("GROUP_CONCAT", 1, group_concat) |
489 cnx.create_aggregate("GROUP_CONCAT", 1, group_concat) |
490 |
490 |
491 def _limit_size(text, maxsize, format='text/plain'): |
491 def _limit_size(text, maxsize, format='text/plain'): |
492 if len(text) < maxsize: |
492 if len(text) < maxsize: |