Changeset 204 for trunk/email2trac.py.in
- Timestamp:
- 05/29/08 15:51:21 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/email2trac.py.in
r202 r204 107 107 trac_default_version = '0.10' 108 108 m = None 109 DRY_RUN = False110 111 112 109 113 110 # A UTC class needed for trac version 0.11, added by … … 133 130 comment = '> ' 134 131 135 def __init__(self, env, parameters, version ):132 def __init__(self, env, parameters, version, dry_run): 136 133 self.env = env 137 134 … … 147 144 148 145 self.VERSION = version 146 self.DRY_RUN = dry_run 147 149 148 self.get_config = self.env.config.get 150 149 … … 260 259 print 'This message is a SPAM. Automatic ticket insertion refused (SPAM level > %d' % self.SPAM_LEVEL 261 260 262 return True261 return 'drop' 263 262 264 263 elif spam: 265 264 266 return 'Spam' 267 268 else: 269 270 return self.get_config('ticket', 'default_component')265 return 'Spam' 266 267 else: 268 269 return False 271 270 272 271 … … 530 529 print 'ticket_field\t %s = %s' %(field, ticket[field]) 531 530 532 def ticket_update(self, m ):531 def ticket_update(self, m, spam): 533 532 """ 534 533 If the current email is a reply to an existing ticket, this function … … 536 535 creating a new one. 537 536 """ 538 global DRY_RUN539 537 540 538 if not m['Subject']: … … 609 607 str = self.attachments(m, tkt) 610 608 611 if self.notification :609 if self.notification and not spam: 612 610 self.notify(tkt, False, when) 613 611 … … 654 652 655 653 656 def new_ticket(self, msg ):654 def new_ticket(self, msg, spam): 657 655 """ 658 656 Create a new ticket … … 673 671 # Old style setting for component, will be removed 674 672 # 675 if settings.has_key('component'): 673 if spam: 674 tkt['component'] = 'Spam' 675 676 elif settings.has_key('component'): 676 677 tkt['component'] = settings['component'] 677 678 … … 700 701 when = datetime.now(utc) 701 702 702 if DRY_RUN:703 if self.DRY_RUN: 703 704 ticket_id = 'DRY_RUN' 704 705 else: … … 725 726 726 727 if changed: 727 if DRY_RUN:728 if self.DRY_RUN: 728 729 print 'DRY_RUN: tkt.save_changes(self.author, comment)' 729 730 else: … … 732 733 733 734 if self.notification: 734 if DRY_RUN:735 if self.DRY_RUN: 735 736 print 'DRY_RUN: self.notify(tkt, True)' 736 737 else: 737 self.notify(tkt, True) 738 if not spam: 739 self.notify(tkt, True) 738 740 #self.notify(tkt, False) 739 741 … … 757 759 return False 758 760 759 # If component is true then we drop the message dropmessage760 # 761 if self.spam(m) == True:761 # If drop the message 762 # 763 if self.spam(m) == 'drop': 762 764 return False 763 765 766 elif self.spam(m) == 'spam': 767 spam_msg = True 768 769 else: 770 spam_msg = False 764 771 765 772 if self.get_config('notification', 'smtp_enabled') in ['true']: … … 771 778 # 772 779 if self.TICKET_UPDATE > 0: 773 if self.ticket_update(m ):780 if self.ticket_update(m, spam_msg): 774 781 return True 775 782 776 self.new_ticket(m )783 self.new_ticket(m, spam_msg) 777 784 778 785 def strip_signature(self, text): … … 905 912 A wrapper for the TRAC notify function. So we can use templates 906 913 """ 907 if tkt['component'] == 'Spam':908 return909 910 914 try: 911 915 # create false {abs_}href properties, to trick Notify() … … 1097 1101 # Default config file 1098 1102 # 1099 global DRY_RUN1100 1101 1103 configfile = '@email2trac_conf@' 1102 1104 project = '' 1103 1105 component = '' 1104 1106 ticket_prefix = 'default' 1107 dry_run = None 1105 1108 1106 1109 ENABLE_SYSLOG = 0 1110 1107 1111 1108 1112 SHORT_OPT = 'chf:np:t:' … … 1126 1130 configfile = value 1127 1131 elif opt in ['-n', '--dry-run']: 1128 DRY_RUN= True1132 dry_run = True 1129 1133 elif opt in ['-p', '--project']: 1130 1134 project_name = value … … 1195 1199 1196 1200 env = Environment(settings['project'], create=0) 1197 tktparser = TicketEmailParser(env, settings, float(version) )1201 tktparser = TicketEmailParser(env, settings, float(version), dry_run) 1198 1202 tktparser.parse(sys.stdin) 1199 1203
Note: See TracChangeset
for help on using the changeset viewer.