forked from zaclys/searxng
		
	[mod] move load_module function to utils
This commit is contained in:
		
							parent
							
								
									827f9e41ca
								
							
						
					
					
						commit
						55dc538398
					
				
					 2 changed files with 17 additions and 13 deletions
				
			
		|  | @ -16,13 +16,13 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >. | ||||||
| (C) 2013- by Adam Tauber, <asciimoo@gmail.com> | (C) 2013- by Adam Tauber, <asciimoo@gmail.com> | ||||||
| ''' | ''' | ||||||
| 
 | 
 | ||||||
| from os.path import realpath, dirname, splitext, join | from os.path import realpath, dirname | ||||||
| import sys | import sys | ||||||
| from imp import load_source |  | ||||||
| from flask_babel import gettext | from flask_babel import gettext | ||||||
| from operator import itemgetter | from operator import itemgetter | ||||||
| from searx import settings | from searx import settings | ||||||
| from searx import logger | from searx import logger | ||||||
|  | from searx.utils import load_module | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| logger = logger.getChild('engines') | logger = logger.getChild('engines') | ||||||
|  | @ -32,6 +32,7 @@ engine_dir = dirname(realpath(__file__)) | ||||||
| engines = {} | engines = {} | ||||||
| 
 | 
 | ||||||
| categories = {'general': []} | categories = {'general': []} | ||||||
|  | _initialized = False | ||||||
| 
 | 
 | ||||||
| engine_shortcuts = {} | engine_shortcuts = {} | ||||||
| engine_default_args = {'paging': False, | engine_default_args = {'paging': False, | ||||||
|  | @ -46,16 +47,6 @@ engine_default_args = {'paging': False, | ||||||
|                        'time_range_support': False} |                        'time_range_support': False} | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def load_module(filename): |  | ||||||
|     modname = splitext(filename)[0] |  | ||||||
|     if modname in sys.modules: |  | ||||||
|         del sys.modules[modname] |  | ||||||
|     filepath = join(engine_dir, filename) |  | ||||||
|     module = load_source(modname, filepath) |  | ||||||
|     module.name = modname |  | ||||||
|     return module |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def load_engine(engine_data): | def load_engine(engine_data): | ||||||
| 
 | 
 | ||||||
|     if '_' in engine_data['name']: |     if '_' in engine_data['name']: | ||||||
|  | @ -65,7 +56,7 @@ def load_engine(engine_data): | ||||||
|     engine_module = engine_data['engine'] |     engine_module = engine_data['engine'] | ||||||
| 
 | 
 | ||||||
|     try: |     try: | ||||||
|         engine = load_module(engine_module + '.py') |         engine = load_module(engine_module + '.py', engine_dir) | ||||||
|     except: |     except: | ||||||
|         logger.exception('Cannot load engine "{}"'.format(engine_module)) |         logger.exception('Cannot load engine "{}"'.format(engine_module)) | ||||||
|         return None |         return None | ||||||
|  |  | ||||||
|  | @ -6,7 +6,10 @@ import re | ||||||
| from babel.dates import format_date | from babel.dates import format_date | ||||||
| from codecs import getincrementalencoder | from codecs import getincrementalencoder | ||||||
| from HTMLParser import HTMLParser | from HTMLParser import HTMLParser | ||||||
|  | from imp import load_source | ||||||
|  | from os.path import splitext, join | ||||||
| from random import choice | from random import choice | ||||||
|  | import sys | ||||||
| 
 | 
 | ||||||
| from searx.version import VERSION_STRING | from searx.version import VERSION_STRING | ||||||
| from searx.languages import language_codes | from searx.languages import language_codes | ||||||
|  | @ -285,3 +288,13 @@ def is_valid_lang(lang): | ||||||
|             if l[1].lower() == lang.lower(): |             if l[1].lower() == lang.lower(): | ||||||
|                 return (True, l[0][:2], l[1].lower()) |                 return (True, l[0][:2], l[1].lower()) | ||||||
|         return False |         return False | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def load_module(filename, module_dir): | ||||||
|  |     modname = splitext(filename)[0] | ||||||
|  |     if modname in sys.modules: | ||||||
|  |         del sys.modules[modname] | ||||||
|  |     filepath = join(module_dir, filename) | ||||||
|  |     module = load_source(modname, filepath) | ||||||
|  |     module.name = modname | ||||||
|  |     return module | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Adam Tauber
						Adam Tauber