@@ -23,7 +23,6 @@ class LanguageDomainsPlugin(plugins.SingletonPlugin):
2323 plugins .implements (plugins .IConfigurer )
2424 plugins .implements (plugins .ITemplateHelpers )
2525 plugins .implements (plugins .IBlueprint )
26- plugins .implements (plugins .IResourceController , inherit = True )
2726
2827 # IMiddleware
2928 def make_middleware (self , app : CKANApp , config : 'CKANConfig' ) -> CKANApp :
@@ -50,51 +49,6 @@ def get_helpers(self) -> Dict[str, Callable[..., Any]]:
5049 def get_blueprint (self ) -> List [Blueprint ]:
5150 return [language_domain_views ]
5251
53- # IResourceController
54- def before_resource_show (self , resource_dict : Dict [str , Any ]) -> Dict [str , Any ]:
55- # FIXME: is there a better way to store res_url in SOLR to prevent this
56- # for everytime a Resource is shown???
57- language_domains = plugins .toolkit .config .get (
58- 'ckanext.language_domains.domain_map' , '' )
59- if not language_domains :
60- language_domains = {}
61- else :
62- language_domains = json .loads (language_domains )
63-
64- try :
65- current_language = plugins .toolkit .h .lang ()
66- current_domain = plugins .toolkit .request .url
67- uri_parts = urlsplit (current_domain )
68- current_domain = uri_parts .netloc
69- _scheme , _host = helpers ._get_correct_language_domain ()
70- except RuntimeError :
71- current_language = 'en'
72- default_domain = plugins .toolkit .config .get ('ckan.site_url' , '' )
73- uri_parts = urlsplit (default_domain )
74- current_domain = _host = uri_parts .netloc
75- _scheme = uri_parts .scheme
76-
77- domain_index_match = helpers ._get_domain_index (
78- current_domain , language_domains )
79-
80- for lang_code , lang_domains in language_domains .items ():
81- if (
82- resource_dict .get ('url' , '' ).startswith (
83- f'{ _scheme } ://{ lang_domains [domain_index_match ]} ' ) and
84- _host != lang_domains [domain_index_match ]
85- ):
86- uri_parts = urlsplit (resource_dict ['url' ])
87- path = str (uri_parts .path )
88- if path .startswith (f'/{ lang_code } /' ):
89- path = path [len (f'/{ lang_code } ' ):]
90- elif path .startswith (f'/{ current_language } /' ):
91- path = path [len (f'/{ current_language } ' ):]
92- resource_dict ['url' ] = uri_parts ._replace (
93- netloc = _host , path = path ).geturl ()
94- break
95-
96- return resource_dict
97-
9852
9953class LanguageDomainMiddleware (object ):
10054 def __init__ (self , app : Any , config : 'CKANConfig' ):
0 commit comments