Trees | Indices | Help |
|
---|
|
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # 4 # 5 # 6 # Copyright (c) 2008 University of Dundee. 7 # 8 # This program is free software: you can redistribute it and/or modify 9 # it under the terms of the GNU Affero General Public License as 10 # published by the Free Software Foundation, either version 3 of the 11 # License, or (at your option) any later version. 12 # 13 # This program is distributed in the hope that it will be useful, 14 # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 # GNU Affero General Public License for more details. 17 # 18 # You should have received a copy of the GNU Affero General Public License 19 # along with this program. If not, see <http://www.gnu.org/licenses/>. 20 # 21 # Author: Aleksandra Tarkowska <A(dot)Tarkowska(at)dundee(dot)ac(dot)uk>, 2008. 22 # 23 # Version: 1.0 24 # 25 26 import traceback 27 import logging 28 import httplib, urllib 29 30 from omero_version import omero_version 31 32 from email.MIMEMultipart import MIMEMultipart 33 from email.MIMEText import MIMEText 34 from email.MIMEImage import MIMEImage 35 36 from django.conf import settings 37 38 logger = logging.getLogger(__name__) 3941 42 feedback_url = settings.FEEDBACK_URL 4319945 try: 46 conn = httplib.HTTPConnection(self.feedback_url) 47 try: 48 try: 49 p = {'error': feedback['error'], "app_name":feedback['app_name'], "app_version":feedback['app_version'], "extra":""} 50 if feedback['email'] is not None: 51 p['email'] = feedback['email'] 52 if feedback['comment'] is not None: 53 p['comment'] = feedback['comment'] 54 if feedback['env'] is not None: 55 try: 56 p['python_classpath'] = feedback['env']['path'] 57 except: 58 pass 59 try: 60 p['python_version'] = feedback['env']['python_version'] 61 except: 62 pass 63 try: 64 p['os_name'] = feedback['env']['platform'] 65 except: 66 pass 67 try: 68 p['os_arch'] = feedback['env']['arch'] 69 except: 70 pass 71 try: 72 p['os_version'] = feedback['env']['os_version'] 73 except: 74 pass 75 params = urllib.urlencode(p) 76 headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"} 77 conn.request("POST", "/qa/initial/", params, headers) 78 response = conn.getresponse() 79 80 if response.status == 200: 81 logger.info(response.read()) 82 else: 83 logger.error("Feedback server error: %s" % response.reason) 84 raise Exception("Feedback server error: %s" % response.reason) 85 except Exception, x: 86 logger.error("Feedback could not be sent.") 87 logger.error(traceback.format_exc()) 88 raise x 89 finally: 90 conn.close() 91 except Exception, x: 92 logger.error(x) 93 raise x9496 try: 97 conn = httplib.HTTPConnection(self.feedback_url) 98 try: 99 try: 100 p = {"comment":feedback['comment'], "app_name":feedback['app_name'], "app_version":feedback['app_version'], "extra":""} 101 if feedback['email'] is not None: 102 p['email'] = feedback['email'] 103 if feedback['env'] is not None: 104 try: 105 p['python_classpath'] = feedback['env']['path'] 106 except: 107 pass 108 try: 109 p['python_version'] = feedback['env']['python_version'] 110 except: 111 pass 112 try: 113 p['os_name'] = feedback['env']['platform'] 114 except: 115 pass 116 try: 117 p['os_arch'] = feedback['env']['arch'] 118 except: 119 pass 120 try: 121 p['os_version'] = feedback['env']['os_version'] 122 except: 123 pass 124 params = urllib.urlencode(p) 125 headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"} 126 conn.request("POST", "/qa/initial/", params, headers) 127 response = conn.getresponse() 128 129 if response.status == 200: 130 logger.info(response.read()) 131 else: 132 logger.error("Feedback server error: %s" % response.reason) 133 raise Exception("Feedback server error: %s" % response.reason) 134 except Exception, x: 135 logger.error("Feedback could not be sent.") 136 logger.error(traceback.format_exc()) 137 raise x 138 finally: 139 conn.close() 140 except Exception, x: 141 logger.error(x) 142 raise x143145 env = dict() 146 try: 147 import sys 148 env['path'] = sys.path 149 except: 150 pass 151 try: 152 import platform 153 env['platform'] = platform.platform() 154 except: 155 pass 156 try: 157 env['arch'] = platform.machine() 158 except: 159 pass 160 try: 161 env['os_version'] = platform.release() 162 except: 163 pass 164 try: 165 env['python_version'] = platform.python_version() 166 except: 167 pass 168 if len(env) == 0: 169 env = None 170 self.send_feedback({"email": email, "comment":comment, "error": error, "app_name": 6, "app_version": omero_version, "env":env})171173 env = dict() 174 try: 175 import sys 176 env['path'] = sys.path 177 except: 178 pass 179 try: 180 import platform 181 env['platform'] = platform.platform() 182 except: 183 pass 184 try: 185 env['arch'] = platform.machine() 186 except: 187 pass 188 try: 189 env['os_version'] = platform.release() 190 except: 191 pass 192 try: 193 env['python_version'] = platform.python_version() 194 except: 195 pass 196 if len(env) == 0: 197 env = None 198 self.send_comment({"email": email, "comment":comment, "app_name": 6, "app_version": omero_version, "env":env})
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Tue Sep 23 15:05:01 2014 | http://epydoc.sourceforge.net |