Skip to content

Commit b1bb161

Browse files
shaileshmishrashaileshmishra
authored andcommitted
styletype.py updated
1 parent bb9fef4 commit b1bb161

18 files changed

+815
-233
lines changed

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,5 +99,3 @@ To get embedded items from multiple entries, you need to provide the stack API k
9999
query = stack.content_type("content_type_uid").query()
100100
result = query.find()
101101
```
102-
103-
Fetch entry/entries and Render RTE using GraphQL and ‘@contentstack_utils’ SDK

contentstack_utils/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# pip install -r requirements.txt
22
# pytest --html=tests/report/test-report.html
3-
3+
# coverage report -m
4+
# coverage html -d coveragereport
45
"""
56
The __init__.py files are required to make Python treat the directories as containing
67
packages; this is done to prevent directories with a common name, such as string,
@@ -16,8 +17,7 @@
1617
from contentstack_utils.embedded.item_type import ItemType
1718
from contentstack_utils.embedded.styletype import StyleType
1819
from contentstack_utils.helper.metadata import Metadata
19-
from contentstack_utils.render.default_options import DefaultOptions
20-
from contentstack_utils.render.options import OptionsCallback
20+
from contentstack_utils.render.options import Options
2121
from contentstack_utils.utils import Utils
2222

2323
__title__ = 'contentstack_utils'

contentstack_utils/embedded/styletype.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ class StyleType(enum.Enum):
1515
INLINE
1616
LINK
1717
DISPLAY
18-
DOWNLOADABLE
18+
DOWNLOAD
1919
"""
2020

21-
BLOCK = "block"
21+
BLOCK = 'block'
2222
INLINE = 'inline'
2323
LINK = 'link'
24-
DISPLAY = 'displayable'
25-
DOWNLOADABLE = 'downloadable'
24+
DISPLAY = 'display'
25+
DOWNLOAD = 'download'

contentstack_utils/helper/metadata.py

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,7 @@
55
str: text, item_type, item_uid, type_uid, style_type, outer_html and attributes
66
"""
77

8-
import enum
9-
10-
11-
# pylint: disable=too-many-arguments
12-
class StyleType(enum.Enum):
13-
"""
14-
This StyleType contains four options like below.
15-
16-
BLOCK
17-
INLINE
18-
LINK
19-
DISPLAY
20-
DOWNLOADABLE
21-
"""
22-
23-
BLOCK = "block"
24-
INLINE = 'inline'
25-
LINK = 'link'
26-
DISPLAY = 'displayable'
27-
DOWNLOADABLE = 'downloadable'
8+
from contentstack_utils.embedded.styletype import StyleType
289

2910

3011
class Metadata:
@@ -56,7 +37,7 @@ def __init__(self, text: str, item_type: str, item_uid: str,
5637

5738
@property
5839
def get_text(self):
59-
"""retruns text for embedded objects
40+
"""returns text for embedded objects
6041
6142
Returns:
6243
str : text for embedded objects
@@ -65,7 +46,7 @@ def get_text(self):
6546

6647
@property
6748
def get_item_type(self):
68-
"""retruns item_type for embedded objects
49+
"""returns item_type for embedded objects
6950
7051
Returns:
7152
str : item_type for embedded objects
@@ -74,7 +55,7 @@ def get_item_type(self):
7455

7556
@property
7657
def get_item_uid(self):
77-
"""retruns item_uid for embedded objects
58+
"""returns item_uid for embedded objects
7859
7960
Returns:
8061
str : item_uid for embedded objects
@@ -83,16 +64,16 @@ def get_item_uid(self):
8364

8465
@property
8566
def get_content_type_uid(self):
86-
"""retruns content_type_uid for embedded objects
67+
"""returns content_type_uid for embedded objects
8768
8869
Returns:
8970
str : content_type_uid for embedded objects
9071
"""
9172
return self.content_type_uid
9273

9374
@property
94-
def get_style_type(self):
95-
"""retruns style_type for embedded objects
75+
def get_style_type(self) -> StyleType:
76+
"""returns style_type for embedded objects
9677
9778
Returns:
9879
StyleType : style_type for embedded objects
@@ -101,7 +82,7 @@ def get_style_type(self):
10182

10283
@property
10384
def get_outer_html(self):
104-
"""retruns outer_html for embedded objects
85+
"""returns outer_html for embedded objects
10586
10687
Returns:
10788
str : outer_html for embedded objects
@@ -110,7 +91,7 @@ def get_outer_html(self):
11091

11192
@property
11293
def get_attributes(self):
113-
""" retruns attributes for embedded objects
94+
""" returns attributes for embedded objects
11495
11596
Returns:
11697
str : attributes for embedded objects

contentstack_utils/render/default_options.py

Lines changed: 0 additions & 44 deletions
This file was deleted.
Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,46 @@
11
# pylint: disable=missing-function-docstring
2+
# pylint: disable=missing-docstring
3+
# pylint: disable=too-few-public-methods
24
from contentstack_utils.helper.metadata import Metadata
35

46

5-
class OptionsCallback:
7+
def _title_or_uid(embedded_obj: dict) -> str:
8+
_title = ""
9+
if embedded_obj is not None:
10+
if 'title' in embedded_obj and len(embedded_obj['title']) != 0:
11+
_title = embedded_obj['title']
12+
elif 'uid' in embedded_obj:
13+
_title = embedded_obj['uid']
14+
return _title
15+
16+
17+
def _asset_title_or_uid(embedded_obj: dict) -> str:
18+
_title = ""
19+
if embedded_obj is not None:
20+
if 'title' in embedded_obj and len(embedded_obj['title']) != 0:
21+
_title = embedded_obj['title']
22+
elif 'filename' in embedded_obj:
23+
_title = embedded_obj['filename']
24+
elif 'uid' in embedded_obj:
25+
_title = embedded_obj['uid']
26+
return _title
27+
28+
29+
class Options:
630

731
@staticmethod
8-
def render_options(self, embedded_obj: dict, metadata: Metadata) -> str:
9-
return 'string'
32+
def render_options(embedded_obj: dict, metadata: Metadata) -> str:
33+
if metadata.style_type.value == 'block':
34+
return '<div><p>' + _title_or_uid(embedded_obj) \
35+
+ '</p><div><p>Content type: <span>' + embedded_obj['_content_type_uid'] \
36+
+ '</span></p></div>'
37+
if metadata.style_type.value == 'inline':
38+
return '<span>' + _title_or_uid(embedded_obj) + '</span>'
39+
if metadata.style_type.value == 'link':
40+
return '<a href=' + embedded_obj['url'] + '>' + _title_or_uid(embedded_obj) + '</a>'
41+
if metadata.style_type.value == 'display':
42+
return '<img src=' + embedded_obj['url'] + ' alt=' \
43+
+ _asset_title_or_uid(embedded_obj) + '/>'
44+
if metadata.style_type.value == 'download':
45+
return '<a href=' + embedded_obj['url'] + '>' + _asset_title_or_uid(embedded_obj) + '</a>'
46+
return ''

0 commit comments

Comments
 (0)