Changeset 402


Ignore:
Timestamp:
07/16/10 11:03:49 (14 years ago)
Author:
bas
Message:

Split init function for class TicketEmailParser? into modular functions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/email2trac.py.in

    r401 r402  
    136136
    137137                self.VERSION = version
     138
     139                self.setup_log()
     140                self.setup_parameters()
     141
    138142                self.DRY_RUN = parameters['dry_run']
    139143                self.VERBOSE = parameters['verbose']
     
    141145                self.get_config = self.env.config.get
    142146
    143                 if parameters.has_key('umask'):
    144                         os.umask(int(parameters['umask'], 8))
    145 
    146                 if parameters.has_key('debug'):
    147                         self.DEBUG = int(parameters['debug'])
     147
     148        def setup_log():
     149                """
     150                Setup loging for config file
     151                """
     152
     153        def setup_parameters():
     154                if self.parameters.has_key('umask'):
     155                        os.umask(int(self.parameters['umask'], 8))
     156
     157                if self.parameters.has_key('debug'):
     158                        self.DEBUG = int(self.parameters['debug'])
    148159                else:
    149160                        self.DEBUG = 0
    150161
    151                 if parameters.has_key('mailto_link'):
    152                         self.MAILTO = int(parameters['mailto_link'])
    153                         if parameters.has_key('mailto_cc'):
    154                                 self.MAILTO_CC = parameters['mailto_cc']
     162                if self.parameters.has_key('mailto_link'):
     163                        self.MAILTO = int(self.parameters['mailto_link'])
     164                        if self.parameters.has_key('mailto_cc'):
     165                                self.MAILTO_CC = self.parameters['mailto_cc']
    155166                        else:
    156167                                self.MAILTO_CC = ''
     
    158169                        self.MAILTO = 0
    159170
    160                 if parameters.has_key('spam_level'):
    161                         self.SPAM_LEVEL = int(parameters['spam_level'])
     171                if self.parameters.has_key('spam_level'):
     172                        self.SPAM_LEVEL = int(self.parameters['spam_level'])
    162173                else:
    163174                        self.SPAM_LEVEL = 0
    164175
    165                 if parameters.has_key('spam_header'):
    166                         self.SPAM_HEADER = parameters['spam_header']
     176                if self.parameters.has_key('spam_header'):
     177                        self.SPAM_HEADER = self.parameters['spam_header']
    167178                else:
    168179                        self.SPAM_HEADER = 'X-Spam-Score'
    169180
    170                 if parameters.has_key('email_quote'):
    171                         self.EMAIL_QUOTE = str(parameters['email_quote'])
     181                if self.parameters.has_key('email_quote'):
     182                        self.EMAIL_QUOTE = str(self.parameters['email_quote'])
    172183                else:   
    173184                        self.EMAIL_QUOTE = '> '
    174185
    175                 if parameters.has_key('email_header'):
    176                         self.EMAIL_HEADER = int(parameters['email_header'])
     186                if self.parameters.has_key('email_header'):
     187                        self.EMAIL_HEADER = int(self.parameters['email_header'])
    177188                else:
    178189                        self.EMAIL_HEADER = 0
    179190
    180                 if parameters.has_key('alternate_notify_template'):
    181                         self.notify_template = str(parameters['alternate_notify_template'])
     191                if self.parameters.has_key('alternate_notify_template'):
     192                        self.notify_template = str(self.parameters['alternate_notify_template'])
    182193                else:
    183194                        self.notify_template = None
    184195
    185                 if parameters.has_key('alternate_notify_template_update'):
    186                         self.notify_template_update = str(parameters['alternate_notify_template_update'])
     196                if self.parameters.has_key('alternate_notify_template_update'):
     197                        self.notify_template_update = str(self.parameters['alternate_notify_template_update'])
    187198                else:
    188199                        self.notify_template_update = None
    189200
    190                 if parameters.has_key('reply_all'):
    191                         self.REPLY_ALL = int(parameters['reply_all'])
     201                if self.parameters.has_key('reply_all'):
     202                        self.REPLY_ALL = int(self.parameters['reply_all'])
    192203                else:
    193204                        self.REPLY_ALL = 0
    194205
    195                 if parameters.has_key('ticket_permission_system'):
    196                         self.TICKET_PERMISSION_SYSTEM = str(parameters['ticket_permission_system'])
     206                if self.parameters.has_key('ticket_permission_system'):
     207                        self.TICKET_PERMISSION_SYSTEM = str(self.parameters['ticket_permission_system'])
    197208                else:
    198209                        self.TICKET_PERMISSION_SYSTEM = None
    199210
    200                 if parameters.has_key('ticket_update'):
    201                         self.TICKET_UPDATE = int(parameters['ticket_update'])
     211                if self.parameters.has_key('ticket_update'):
     212                        self.TICKET_UPDATE = int(self.parameters['ticket_update'])
    202213                else:
    203214                        self.TICKET_UPDATE = 0
    204215
    205                 if parameters.has_key('ticket_update_by_subject'):
    206                         self.TICKET_UPDATE_BY_SUBJECT = int(parameters['ticket_update_by_subject'])
     216                if self.parameters.has_key('ticket_update_by_subject'):
     217                        self.TICKET_UPDATE_BY_SUBJECT = int(self.parameters['ticket_update_by_subject'])
    207218                else:
    208219                        self.TICKET_UPDATE_BY_SUBJECT = 0
    209220
    210                 if parameters.has_key('ticket_update_by_subject_lookback'):
    211                         self.TICKET_UPDATE_BY_SUBJECT_LOOKBACK = int(parameters['ticket_update_by_subject_lookback'])
     221                if self.parameters.has_key('ticket_update_by_subject_lookback'):
     222                        self.TICKET_UPDATE_BY_SUBJECT_LOOKBACK = int(self.parameters['ticket_update_by_subject_lookback'])
    212223                else:
    213224                        self.TICKET_UPDATE_BY_SUBJECT_LOOKBACK = 30
    214225
    215                 if parameters.has_key('drop_spam'):
    216                         self.DROP_SPAM = int(parameters['drop_spam'])
     226                if self.parameters.has_key('drop_spam'):
     227                        self.DROP_SPAM = int(self.parameters['drop_spam'])
    217228                else:
    218229                        self.DROP_SPAM = 0
    219230
    220                 if parameters.has_key('verbatim_format'):
    221                         self.VERBATIM_FORMAT = int(parameters['verbatim_format'])
     231                if self.parameters.has_key('verbatim_format'):
     232                        self.VERBATIM_FORMAT = int(self.parameters['verbatim_format'])
    222233                else:
    223234                        self.VERBATIM_FORMAT = 1
    224235
    225                 if parameters.has_key('reflow'):
    226                         self.REFLOW = int(parameters['reflow'])
     236                if self.parameters.has_key('reflow'):
     237                        self.REFLOW = int(self.parameters['reflow'])
    227238                else:
    228239                        self.REFLOW = 1
    229240
    230                 if parameters.has_key('drop_alternative_html_version'):
    231                         self.DROP_ALTERNATIVE_HTML_VERSION = int(parameters['drop_alternative_html_version'])
     241                if self.parameters.has_key('drop_alternative_html_version'):
     242                        self.DROP_ALTERNATIVE_HTML_VERSION = int(self.parameters['drop_alternative_html_version'])
    232243                else:
    233244                        self.DROP_ALTERNATIVE_HTML_VERSION = 0
    234245
    235                 if parameters.has_key('strip_signature'):
    236                         self.STRIP_SIGNATURE = int(parameters['strip_signature'])
     246                if self.parameters.has_key('strip_signature'):
     247                        self.STRIP_SIGNATURE = int(self.parameters['strip_signature'])
    237248                else:
    238249                        self.STRIP_SIGNATURE = 0
    239250
    240                 if parameters.has_key('strip_quotes'):
    241                         self.STRIP_QUOTES = int(parameters['strip_quotes'])
     251                if self.parameters.has_key('strip_quotes'):
     252                        self.STRIP_QUOTES = int(self.parameters['strip_quotes'])
    242253                else:
    243254                        self.STRIP_QUOTES = 0
    244255
    245256                self.properties = dict()
    246                 if parameters.has_key('inline_properties'):
    247                         self.INLINE_PROPERTIES = int(parameters['inline_properties'])
     257                if self.parameters.has_key('inline_properties'):
     258                        self.INLINE_PROPERTIES = int(self.parameters['inline_properties'])
    248259                else:
    249260                        self.INLINE_PROPERTIES = 0
    250261
    251                 if parameters.has_key('use_textwrap'):
    252                         self.USE_TEXTWRAP = int(parameters['use_textwrap'])
     262                if self.parameters.has_key('use_textwrap'):
     263                        self.USE_TEXTWRAP = int(self.parameters['use_textwrap'])
    253264                else:
    254265                        self.USE_TEXTWRAP = 0
    255266
    256                 if parameters.has_key('binhex'):
     267                if self.parameters.has_key('binhex'):
    257268                        self.STRIP_CONTENT_TYPES.append('application/mac-binhex40')
    258269
    259                 if parameters.has_key('applesingle'):
     270                if self.parameters.has_key('applesingle'):
    260271                        self.STRIP_CONTENT_TYPES.append('application/applefile')
    261272
    262                 if parameters.has_key('appledouble'):
     273                if self.parameters.has_key('appledouble'):
    263274                        self.STRIP_CONTENT_TYPES.append('application/applefile')
    264275
    265                 if parameters.has_key('strip_content_types'):
    266                         items = parameters['strip_content_types'].split(',')
     276                if self.parameters.has_key('strip_content_types'):
     277                        items = self.parameters['strip_content_types'].split(',')
    267278                        for item in items:
    268279                                self.STRIP_CONTENT_TYPES.append(item.strip())
    269280
    270281                self.WORKFLOW = None
    271                 if parameters.has_key('workflow'):
    272                         self.WORKFLOW = parameters['workflow']
     282                if self.parameters.has_key('workflow'):
     283                        self.WORKFLOW = self.parameters['workflow']
    273284
    274285                # Use OS independend functions
    275286                #
    276287                self.TMPDIR = os.path.normcase('/tmp')
    277                 if parameters.has_key('tmpdir'):
    278                         self.TMPDIR = os.path.normcase(str(parameters['tmpdir']))
    279 
    280                 if parameters.has_key('ignore_trac_user_settings'):
    281                         self.IGNORE_TRAC_USER_SETTINGS = int(parameters['ignore_trac_user_settings'])
     288                if self.parameters.has_key('tmpdir'):
     289                        self.TMPDIR = os.path.normcase(str(self.parameters['tmpdir']))
     290
     291                if self.parameters.has_key('ignore_trac_user_settings'):
     292                        self.IGNORE_TRAC_USER_SETTINGS = int(self.parameters['ignore_trac_user_settings'])
    282293                else:
    283294                        self.IGNORE_TRAC_USER_SETTINGS = 0
    284295
    285                 if parameters.has_key('email_triggers_workflow'):
    286                         self.EMAIL_TRIGGERS_WORKFLOW = int(parameters['email_triggers_workflow'])
     296                if self.parameters.has_key('email_triggers_workflow'):
     297                        self.EMAIL_TRIGGERS_WORKFLOW = int(self.parameters['email_triggers_workflow'])
    287298                else:
    288299                        self.EMAIL_TRIGGERS_WORKFLOW = 1
    289300
    290                 if parameters.has_key('subject_field_separator'):
    291                         self.SUBJECT_FIELD_SEPARATOR = parameters['subject_field_separator'].strip()
     301                if self.parameters.has_key('subject_field_separator'):
     302                        self.SUBJECT_FIELD_SEPARATOR = self.parameters['subject_field_separator'].strip()
    292303                else:
    293304                        self.SUBJECT_FIELD_SEPARATOR = '&'
Note: See TracChangeset for help on using the changeset viewer.