Changeset 379


Ignore:
Timestamp:
06/22/10 13:22:33 (11 years ago)
Author:
bas
Message:

email2trac.py.in:

  • added print_unicode function. So we can delete some code lines,
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/email2trac.py.in

    r378 r379  
    517517                        n = n + 1
    518518                        print 'TD: part%d: Content-Type: %s' % (n, part.get_content_type())
    519                        
    520                         try:
    521                                 print 'TD: part%d: filename: %s' % (n, filename)
    522                         except UnicodeEncodeError, detail:
    523                                 print 'TD: part%d: filename: %s' % (n, util.text.unicode_quote(filename))
    524 
     519               
     520                        s = 'TD: part%d: filename: %s' %(n, filename)
     521                        self.print_unicode(s)
     522       
    525523                        ## Forbidden chars
    526524                        #
     
    530528
    531529                        part_file = os.path.join(self.TMPDIR, filename)
    532                         try:
    533                                 print 'TD: writing part%d (%s)' % (n,part_file)
    534                         except UnicodeEncodeError, detail:
    535                                 print 'TD: writing part%d (%s)' % (n, util.text.unicode_quote(part_file))
     530                        s = 'TD: writing part%d (%s)' % (n,part_file)
     531                        self.print_unicode(s)
    536532
    537533                        if self.DRY_RUN:
     
    594590                if self.VERBOSE:
    595591                        print "VB: email_to_unicode"
    596 
    597 
    598592
    599593                results =  email.Header.decode_header(message_str)
     
    652646                return result
    653647
     648        def print_unicode(self,s):
     649                """
     650                This function prints unicode strings uif possible else it will quote it
     651                """
     652                try:
     653                        print s
     654                except UnicodeEncodeError, detail:
     655                        print util.text.unicode_quote(s)
     656
    654657########## TRAC ticket functions  ###########################################################
    655658
     
    685688                for field,value in user_dict.items():
    686689                        if self.DEBUG >= 10:
    687                                 try:
    688                                         print  'user_field\t %s = %s' %(field,value)
    689                                 except UnicodeEncodeError, detail:
    690                                         print  'user_field\t %s = %s' %(field, util.text.unicode_quote(value))
     690                                s = 'TD: user_field\t %s = %s' %(field,value)
     691                                self.print_unicode(s)
    691692
    692693                        ## To prevent mail loop
     
    727728
    728729                                if self.DEBUG >= 10:
    729                                         try:
    730                                                 print  'ticket_field\t %s = %s' %(field,  ticket[field])
    731                                         except UnicodeEncodeError, detail:
    732                                                 print  'ticket_field\t %s = %s' %(field,  util.text.unicode_quote(ticket[field]))
     730                                        s = 'ticket_field\t %s = %s' %(field,  ticket[field])
     731                                        self.print_unicode(s)
    733732
    734733        def ticket_update(self, m, id, spam):
     
    891890       
    892891                        if self.DEBUG > 10:
    893                                 try:
    894                                         print 'TD: trac.ini name %s = %s' %(name, value)
    895                                 except UnicodeEncodeError, detail:
    896                                         print 'TD: trac.ini name %s = %s' %(name, util.text.unicode_quote(value))
     892                                s = 'TD: trac.ini name %s = %s' %(name, value)
     893                                self.print_unicode(s)
    897894
    898895                        ## email2trac.conf settings
     
    902899                                value = self.parameters['%s_%s' %(prefix, name)]
    903900                                if self.DEBUG > 10:
    904                                         try:
    905                                                 print 'TD: email2trac.conf %s = %s ' %(name, value)
    906                                         except UnicodeEncodeError, detail:
    907                                                 print 'TD: email2trac.conf %s = %s ' %(name, util.text.unicode_quote(value))
     901                                        s = 'TD: email2trac.conf %s = %s ' %(name, value)
     902                                        self.print_unicode(s)
    908903
    909904                        except KeyError, detail:
     
    911906               
    912907                        if self.DEBUG:
    913                                 try:
    914                                         print 'user_dict[%s] = %s' %(name, value)
    915                                 except UnicodeEncodeError, detail:
    916                                         print 'user_dict[%s] = %s' %(name, util.text.unicode_quote(value))
     908                                s = 'TD: user_dict[%s] = %s' %(name, value)
     909                                self.print_unicode(s)
    917910
    918911                        if value:
     
    17851778                        else:
    17861779                                if self.DEBUG:
    1787                                         try:
    1788                                                 print 'TD:               Filename: %s' % part.get_filename()
    1789                                         except UnicodeEncodeError, detail:
    1790                                                 print 'TD:               Filename: %s' % util.text.unicode_quote(part.get_filename())
     1780                                        s = 'TD:               Filename: %s' % part.get_filename()
     1781                                        self.print_unicode(s)
    17911782
    17921783                                ##
     
    18551846                               
    18561847                        if self.DEBUG:
    1857                                 try:
    1858                                         print 'TD: Attachment with filename %s will be saved as %s' % (filename, unique_filename)
    1859                                 except UnicodeEncodeError, detail:
    1860                                         print 'Filename can not be printed due to non-ascii characters'
     1848                                s = 'TD: Attachment with filename %s will be saved as %s' % (filename, unique_filename)
     1849                                self.print_unicode(s)
    18611850
    18621851                        attachment_names.add(unique_filename)
     
    18701859
    18711860                if self.DEBUG:
    1872                         s = 'TD: attachment already exists: Id : '
    1873                         try:
    1874                                 print "%s%s, Filename : %s" % (s, self.id, filename)
    1875                         except UnicodeEncodeError, detail:
    1876                                 print "%s%s, Filename : Can not be printed due to non-ascii characters" %(s, self.id)
     1861                        s = 'TD: attachment already exists: Id : %s, Filename : %s' %(self.id, filename)
     1862                        self.print_unicode(s)
    18771863
    18781864                # We have no valid ticket id
Note: See TracChangeset for help on using the changeset viewer.