Ticket #339: email2trac.patch

File email2trac.patch, 2.8 KB (added by ivanelsonnunes@…, 6 years ago)

email2trac.patch

  • (a) email2trac/email2trac-2.8.0/email2trac.py.in vs. (b) /usr/local/bin/email2trac

    a b  
    1 #!@PYTHON@
     1#!/usr/bin/python
    22#
    33# This file is part of the email2trac utils
    44#
     
    1818#
    1919# For vi/emacs or other use tabstop=4 (vi: set ts=4)
    2020#
     21
    2122"""
    2223email2trac.py -- Email -> TRAC tickets
    2324
     
    11751176            SUBJECT_RE = re.compile(r'^(?:(?:RE|AW|VS|SV|FW|FWD):\s*)+(.*)', re.IGNORECASE)
    11761177            result = SUBJECT_RE.search(subject)
    11771178
     1179            if 'Service Desk #' in subject.encode('utf8'):
     1180                result  = subject.encode('utf8')
     1181                formata = u'[Service Desk #%s]' % (re.findall(r'#(\w+)',result)[0],)
     1182                result = formata #formata.encode('utf8')
     1183
    11781184            if result:
    11791185                ## This is a reply
    11801186                #
    1181                 orig_subject = result.group(1)
     1187                try:
     1188                                        orig_subject = result if 'Service Desk #' in result else result.group(1)
     1189                                        if 'Service Desk #' in result:
     1190                                                summaries = [orig_subject, '%s%%' % orig_subject]
     1191                                                self.logger.debug('SERVICEDESK subject search string: %s' %(orig_subject))
     1192                except TypeError, e:
     1193                                        orig_subject = result.group(1)
     1194                                        summaries = [orig_subject, '%%: %s' % orig_subject]
     1195                                   
    11821196
    11831197                self.logger.debug('subject search string: %s' %(orig_subject))
    11841198
    11851199                cursor = self.db.cursor()
    1186                 summaries = [orig_subject, '%%: %s' % orig_subject]
    11871200
    11881201                ## Time resolution is in micoseconds
    11891202                #
     
    11951208                    lookback = util.datefmt.to_utimestamp(search_date)
    11961209
    11971210                for summary in summaries:
    1198                     self.logger.debug('Looking for summary matching: "%s"' % summary)
     1211                    self.logger.debug('Looking for summary matching: %s' % summary)
    11991212
    12001213                    sql = """SELECT id, reporter FROM ticket
    12011214                            WHERE changetime >= %s AND summary LIKE %s
     
    12061219                    for row in cursor:
    12071220
    12081221                        (matched_id, sql_reporter) = row
     1222                        self.logger.debug('ID Ticket: %s' % matched_id)
     1223                        self.logger.debug('sql_reporter : %s' % sql_reporter)
    12091224
    12101225                        ## Save first entry.
    12111226                        #
     
    26912706    #
    26922707    agilo = False
    26932708    bh_product = None
    2694     configfile = '@email2trac_conf@'
     2709    configfile = '/usr/local/etc/email2trac.conf'
    26952710    project = ''
    26962711    component = ''
    26972712    ticket_prefix = 'default'
    26982713    dry_run = None
    26992714    verbose = None
    27002715    debug_interactive = None
    2701     virtualenv = '@virtualenv@'
     2716    virtualenv = ''
    27022717
    27032718    SHORT_OPT = 'AB:cdE:hf:np:t:v'
    27042719    LONG_OPT  =  ['agilo', 'bh_product=', 'component=', 'debug',