mirror of
https://github.com/Hopiu/django-imagekit.git
synced 2026-03-18 22:30:23 +00:00
31 lines
950 B
Python
31 lines
950 B
Python
import re
|
|
import sys
|
|
|
|
|
|
class ProcessorImporter(object):
|
|
"""
|
|
The processors were moved to the PILKit project so they could be used
|
|
separtely from ImageKit (which has a bunch of Django dependencies). However,
|
|
there's no real need to expose this fact (and we want to maintain backwards
|
|
compatibility), so we proxy all "imagekit.processors" imports to
|
|
"pilkit.processors" using this object.
|
|
|
|
"""
|
|
pattern = re.compile(r'^imagekit\.processors((\..*)?)$')
|
|
|
|
def find_module(self, name, path=None):
|
|
if self.pattern.match(name):
|
|
return self
|
|
|
|
def load_module(self, name):
|
|
if name in sys.modules:
|
|
return sys.modules[name]
|
|
|
|
from django.utils.importlib import import_module
|
|
new_name = self.pattern.sub(r'pilkit.processors\1', name)
|
|
mod = import_module(new_name)
|
|
sys.modules[name] = mod
|
|
return mod
|
|
|
|
|
|
sys.meta_path.insert(0, ProcessorImporter())
|