67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
| # -*- coding: utf-8 -*-
 | |
| 
 | |
| import ast
 | |
| import base64
 | |
| import csv
 | |
| import glob
 | |
| import itertools
 | |
| import logging
 | |
| import operator
 | |
| import datetime
 | |
| import hashlib
 | |
| import os
 | |
| import re
 | |
| import simplejson
 | |
| import time
 | |
| import urllib
 | |
| import urllib2
 | |
| import urlparse
 | |
| import xmlrpclib
 | |
| import zlib
 | |
| from xml.etree import ElementTree
 | |
| from cStringIO import StringIO
 | |
| 
 | |
| import babel.messages.pofile
 | |
| import werkzeug.utils
 | |
| import werkzeug.wrappers
 | |
| try:
 | |
|     import xlwt
 | |
| except ImportError:
 | |
|     xlwt = None
 | |
| 
 | |
| import openerp
 | |
| import openerp.modules.registry
 | |
| from openerp.tools.translate import _
 | |
| from openerp.tools import config
 | |
| 
 | |
| from openerp.addons.web import http
 | |
| 
 | |
| 
 | |
| class WebClient(http.Controller):
 | |
|     _cp_path = "/web/testenv"
 | |
| 
 | |
|     @http.jsonrequest
 | |
|     def testmode(self, req, db=False):            
 | |
|         if not db and req and req.session:
 | |
|             db = req.session._db
 | |
|             
 | |
|         if db:
 | |
|             h = req.httprequest.environ['HTTP_HOST'].split(':')[0]
 | |
|             d = h.split('.')[0]            
 | |
|             r = openerp.tools.config.get('dbfilter_test', 'test.*').replace('%h', h).replace('%d', d)
 | |
|             try:
 | |
|                 pattern_list = eval(r)
 | |
|                 if not hasattr(pattern_list, '__iter__'):
 | |
|                     pattern_list = [pattern_list]
 | |
|             except:
 | |
|                 pattern_list = [r]
 | |
|             
 | |
|             for pattern in pattern_list:
 | |
|                 if  isinstance(pattern, str) and re.match(pattern, db):
 | |
|                     return True
 | |
|         return False
 | |
| 
 | |
| 
 | |
| 
 | |
| # vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:
 |