Uploaded image for project: 'Nuxeo Drive '
  1. Nuxeo Drive
  2. NXDRIVE-829

Fix encoding error in report

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.2.323
    • Fix Version/s: 2.4.1
    • Component/s: Framework

      Description

      [SLAVE] [INFO]      [exec] nuxeo-drive-client/tests/test_windows.py .sE
      [SLAVE] [INFO]      [exec] =========================== short test summary info ============================
      [SLAVE] [INFO]      [exec] ERROR nuxeo-drive-client/tests/test_windows.py::TestWindows::test_local_replace
      [SLAVE] [INFO]      [exec] ==================================== ERRORS ====================================
      [SLAVE] [INFO]      [exec] _____________ ERROR at teardown of TestWindows.test_local_replace ______________
      [SLAVE] [INFO]      [exec] self = <tests.test_windows.TestWindows testMethod=test_local_replace>
      [SLAVE] [INFO]      [exec]     def tearDown(self):
      [SLAVE] [INFO]      [exec]         unittest.TestCase.tearDown(self)
      [SLAVE] [INFO]      [exec]         if not self.tearedDown:
      [SLAVE] [INFO]      [exec] >           self.tearDownApp()
      [SLAVE] [INFO]      [exec] self       = <tests.test_windows.TestWindows testMethod=test_local_replace>
      [SLAVE] [INFO]      [exec] nuxeo-drive-client/tests/common_unit_test.py:625: 
      [SLAVE] [INFO]      [exec] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      [SLAVE] [INFO]      [exec] nuxeo-drive-client/tests/common_unit_test.py:631: in tearDownApp
      [SLAVE] [INFO]      [exec]     self.generate_report()
      [SLAVE] [INFO]      [exec] nuxeo-drive-client/tests/common_unit_test.py:756: in generate_report
      [SLAVE] [INFO]      [exec]     self.manager_1.generate_report(report_path)
      [SLAVE] [INFO]      [exec] nuxeo-drive-client/nxdrive/manager.py:826: in generate_report
      [SLAVE] [INFO]      [exec]     report.generate()
      [SLAVE] [INFO]      [exec] nuxeo-drive-client/nxdrive/report.py:77: in generate
      [SLAVE] [INFO]      [exec]     for line in self._export_logs():
      [SLAVE] [INFO]      [exec] nuxeo-drive-client/nxdrive/report.py:59: in _export_logs
      [SLAVE] [INFO]      [exec]     yield handler.format(record).encode('utf-8', errors='replace')\
      [SLAVE] [INFO]      [exec] ../deploy-dir/.pyenv/versions/2.7.13/lib/python2.7/logging/__init__.py:734: in format
      [SLAVE] [INFO]      [exec]     return fmt.format(record)
      [SLAVE] [INFO]      [exec] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      [SLAVE] [INFO]      [exec] self = <logging.Formatter object at 0x7f4fe7196210>
      [SLAVE] [INFO]      [exec] record = <logging.LogRecord object at 0x7f4f1f68b650>
      [SLAVE] [INFO]      [exec]     def format(self, record):
      [SLAVE] [INFO]      [exec]         """
      [SLAVE] [INFO]      [exec]             Format the specified record as text.
      [SLAVE] [INFO]      [exec]             The record's attribute dictionary is used as the operand to a
      [SLAVE] [INFO]      [exec]             string formatting operation which yields the returned string.
      [SLAVE] [INFO]      [exec]             Before formatting the dictionary, a couple of preparatory steps
      [SLAVE] [INFO]      [exec]             are carried out. The message attribute of the record is computed
      [SLAVE] [INFO]      [exec]             using LogRecord.getMessage(). If the formatting string uses the
      [SLAVE] [INFO]      [exec]             time (as determined by a call to usesTime(), formatTime() is
      [SLAVE] [INFO]      [exec]             called to format the event time. If there is exception information,
      [SLAVE] [INFO]      [exec]             it is formatted using formatException() and appended to the message.
      [SLAVE] [INFO]      [exec]             """
      [SLAVE] [INFO]      [exec]         record.message = record.getMessage()
      [SLAVE] [INFO]      [exec]         if self.usesTime():
      [SLAVE] [INFO]      [exec]             record.asctime = self.formatTime(record, self.datefmt)
      [SLAVE] [INFO]      [exec]         try:
      [SLAVE] [INFO]      [exec] >           s = self._fmt % record.__dict__
      [SLAVE] [INFO]      [exec] E           UnicodeEncodeError: 'ascii' codec can't encode character u'\xea' in position 56: ordinal not in range(128)
      [SLAVE] [INFO]      [exec] record     = <logging.LogRecord object at 0x7f4f1f68b650>
      [SLAVE] [INFO]      [exec] self       = <logging.Formatter object at 0x7f4fe7196210>
      [SLAVE] [INFO]      [exec] ../deploy-dir/.pyenv/versions/2.7.13/lib/python2.7/logging/__init__.py:469: UnicodeEncodeError
      

      More explanations: https://github.com/scrapy/scrapy/issues/1270

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 hour
                1h