2
2
3
3
from django .core .exceptions import ImproperlyConfigured
4
4
5
- from . import settings
5
+ from .settings import get_setting
6
6
7
7
8
8
class Meta :
@@ -18,7 +18,7 @@ class Meta:
18
18
19
19
def __init__ (self , ** kwargs ):
20
20
self .request = kwargs .get ("request" , None )
21
- self .use_sites = kwargs .get ("use_sites" , settings . USE_SITES )
21
+ self .use_sites = kwargs .get ("use_sites" , get_setting ( " USE_SITES" ) )
22
22
self .title = kwargs .get ("title" )
23
23
self .og_title = kwargs .get ("og_title" )
24
24
self .twitter_title = kwargs .get ("twitter_title" )
@@ -27,43 +27,43 @@ def __init__(self, **kwargs):
27
27
self .description = kwargs .get ("description" )
28
28
self .extra_props = kwargs .get ("extra_props" )
29
29
self .extra_custom_props = kwargs .get ("extra_custom_props" )
30
- self .custom_namespace = kwargs .get ("custom_namespace" , settings . OG_NAMESPACES )
30
+ self .custom_namespace = kwargs .get ("custom_namespace" , get_setting ( " OG_NAMESPACES" ) )
31
31
self .keywords = kwargs .get ("keywords" )
32
32
self .url = kwargs .get ("url" )
33
33
self .image = kwargs .get ("image" )
34
34
self .image_object = kwargs .get ("image_object" )
35
35
self .image_width = kwargs .get ("image_width" )
36
36
self .image_height = kwargs .get ("image_height" )
37
- self .object_type = kwargs .get ("object_type" , settings . SITE_TYPE )
38
- self .site_name = kwargs .get ("site_name" , settings . SITE_NAME )
37
+ self .object_type = kwargs .get ("object_type" , get_setting ( " SITE_TYPE" ) )
38
+ self .site_name = kwargs .get ("site_name" , get_setting ( " SITE_NAME" ) )
39
39
self .twitter_site = kwargs .get ("twitter_site" )
40
40
self .twitter_creator = kwargs .get ("twitter_creator" )
41
- self .twitter_type = kwargs .get ("twitter_type" , kwargs .get ("twitter_card" , settings . TWITTER_TYPE ))
41
+ self .twitter_type = kwargs .get ("twitter_type" , kwargs .get ("twitter_card" , get_setting ( " TWITTER_TYPE" ) ))
42
42
self .twitter_card = self .twitter_type
43
43
self .facebook_app_id = kwargs .get ("facebook_app_id" )
44
44
self .locale = kwargs .get ("locale" )
45
- self .use_og = kwargs .get ("use_og" , settings . USE_OG_PROPERTIES )
46
- self .use_twitter = kwargs .get ("use_twitter" , settings . USE_TWITTER_PROPERTIES )
47
- self .use_facebook = kwargs .get ("use_facebook" , settings . USE_FACEBOOK_PROPERTIES )
48
- self .use_schemaorg = kwargs .get ("use_schemaorg" , settings . USE_SCHEMAORG_PROPERTIES )
49
- self .use_title_tag = kwargs .get ("use_title_tag" , settings . USE_TITLE_TAG )
50
- self .schemaorg_type = kwargs .get ("schemaorg_type" , settings . SCHEMAORG_TYPE )
51
- self .fb_pages = kwargs .get ("fb_pages" , settings . FB_PAGES )
52
- self .og_app_id = kwargs .get ("og_app_id" , settings . FB_APPID )
45
+ self .use_og = kwargs .get ("use_og" , get_setting ( " USE_OG_PROPERTIES" ) )
46
+ self .use_twitter = kwargs .get ("use_twitter" , get_setting ( " USE_TWITTER_PROPERTIES" ) )
47
+ self .use_facebook = kwargs .get ("use_facebook" , get_setting ( " USE_FACEBOOK_PROPERTIES" ) )
48
+ self .use_schemaorg = kwargs .get ("use_schemaorg" , get_setting ( " USE_SCHEMAORG_PROPERTIES" ) )
49
+ self .use_title_tag = kwargs .get ("use_title_tag" , get_setting ( " USE_TITLE_TAG" ) )
50
+ self .schemaorg_type = kwargs .get ("schemaorg_type" , get_setting ( " SCHEMAORG_TYPE" ) )
51
+ self .fb_pages = kwargs .get ("fb_pages" , get_setting ( " FB_PAGES" ) )
52
+ self .og_app_id = kwargs .get ("og_app_id" , get_setting ( " FB_APPID" ) )
53
53
54
54
def get_domain (self ):
55
55
if self .use_sites :
56
56
from django .contrib .sites .models import Site
57
57
58
58
return Site .objects .get_current (self .request ).domain
59
- if not settings . SITE_DOMAIN :
59
+ if not get_setting ( " SITE_DOMAIN" ) :
60
60
raise ImproperlyConfigured ("META_SITE_DOMAIN is not set" )
61
- return settings . SITE_DOMAIN
61
+ return get_setting ( " SITE_DOMAIN" )
62
62
63
63
def get_protocol (self ):
64
- if not settings . SITE_PROTOCOL :
64
+ if not get_setting ( " SITE_PROTOCOL" ) :
65
65
raise ImproperlyConfigured ("META_SITE_PROTOCOL is not set" )
66
- return settings . SITE_PROTOCOL
66
+ return get_setting ( " SITE_PROTOCOL" )
67
67
68
68
def get_full_url (self , url ):
69
69
if not url :
@@ -83,14 +83,14 @@ def keywords(self):
83
83
@keywords .setter
84
84
def keywords (self , keywords ):
85
85
if keywords is None :
86
- kws = settings . DEFAULT_KEYWORDS
86
+ kws = get_setting ( " DEFAULT_KEYWORDS" )
87
87
else :
88
88
if not hasattr (keywords , "__iter__" ):
89
89
# Not iterable
90
90
raise ValueError ("Keywords must be an intrable" )
91
91
kws = list (keywords )
92
- if settings . INCLUDE_KEYWORDS :
93
- kws += settings . INCLUDE_KEYWORDS
92
+ if get_setting ( " INCLUDE_KEYWORDS" ) :
93
+ kws += get_setting ( " INCLUDE_KEYWORDS" )
94
94
seen = set ()
95
95
seen_add = seen .add
96
96
self ._keywords = [k for k in kws if k not in seen and not seen_add (k )]
@@ -105,7 +105,7 @@ def url(self, url):
105
105
106
106
def _normalize_media_url (self , url ):
107
107
if not url .startswith ("http" ) and not url .startswith ("/" ):
108
- url = "{}{}" .format (settings . IMAGE_URL , url )
108
+ url = "{}{}" .format (get_setting ( " IMAGE_URL" ) , url )
109
109
return self .get_full_url (url )
110
110
111
111
@property
@@ -117,8 +117,8 @@ def image(self):
117
117
118
118
@image .setter
119
119
def image (self , image ):
120
- if image is None and settings . DEFAULT_IMAGE :
121
- image = settings . DEFAULT_IMAGE
120
+ if image is None and get_setting ( " DEFAULT_IMAGE" ) :
121
+ image = get_setting ( " DEFAULT_IMAGE" )
122
122
if image :
123
123
self ._image = self ._normalize_media_url (image )
124
124
@@ -175,19 +175,19 @@ class MetadataMixin:
175
175
schemaorg_type = None
176
176
177
177
def __init__ (self , ** kwargs ):
178
- self .use_sites = settings . USE_SITES
179
- self .use_og = settings . USE_OG_PROPERTIES
180
- self .use_title_tag = settings . USE_TITLE_TAG
178
+ self .use_sites = get_setting ( " USE_SITES" )
179
+ self .use_og = get_setting ( " USE_OG_PROPERTIES" )
180
+ self .use_title_tag = get_setting ( " USE_TITLE_TAG" )
181
181
super ().__init__ (** kwargs )
182
182
183
183
def get_meta_class (self ):
184
184
return self .meta_class
185
185
186
186
def get_protocol (self ):
187
- return settings . SITE_PROTOCOL
187
+ return get_setting ( " SITE_PROTOCOL" )
188
188
189
189
def get_domain (self ):
190
- return settings . SITE_DOMAIN
190
+ return get_setting ( " SITE_DOMAIN" )
191
191
192
192
def get_meta_title (self , context = None ):
193
193
return self .title
@@ -222,10 +222,10 @@ def get_meta_image_object(self, context=None):
222
222
return self .image_object
223
223
224
224
def get_meta_object_type (self , context = None ):
225
- return self .object_type or settings . SITE_TYPE
225
+ return self .object_type or get_setting ( " SITE_TYPE" )
226
226
227
227
def get_meta_site_name (self , context = None ):
228
- return self .site_name or settings . SITE_NAME
228
+ return self .site_name or get_setting ( " SITE_NAME" )
229
229
230
230
def get_meta_extra_props (self , context = None ):
231
231
return self .extra_props
@@ -234,7 +234,7 @@ def get_meta_extra_custom_props(self, context=None):
234
234
return self .extra_custom_props
235
235
236
236
def get_meta_custom_namespace (self , context = None ):
237
- return self .custom_namespace or settings . OG_NAMESPACES
237
+ return self .custom_namespace or get_setting ( " OG_NAMESPACES" )
238
238
239
239
def get_meta_twitter_site (self , context = None ):
240
240
return self .twitter_site
0 commit comments