Passed
Push — main ( 8785b1...fdb7a5 )
by Alexis
01:04
created

endpoints.snippets.Snippets.update()   B

Complexity

Conditions 6

Size

Total Lines 22
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 6
eloc 17
nop 6
dl 0
loc 22
rs 8.6166
c 0
b 0
f 0
1
from .base import Resource
2
3
4
# =======================================================
5
# Snippets
6
# =======================================================
7
class Snippets(Resource):
8
    def fetch(self):
9
        return self._get("/snippets")
10
11
    def create(self,
12
               name:            str,
13
               content:         str  = None,
14
               tags:            list = None,
15
               content_as_html: bool = False):
16
        snippet = {
17
            "name": name,
18
        }
19
20
        if content is not None:
21
            snippet["content"] = {
22
                "html" if content_as_html else "text": content,
23
            }
24
        if tags is not None:
25
            snippet["tags"] = ",".join(tags)
26
27
        return self._post("/snippets", data={"snippet": snippet})
28
29
    def update(self,
30
               snippet_id:      str,
31
               name:            str  = None,
32
               content:         str  = None,
33
               tags:            list = None,
34
               content_as_html: bool = False):
35
36
        snippet = {}
37
38
        if name is not None:
39
            snippet["name"] = name
40
        if content is not None:
41
            snippet["content"] = {
42
                "html" if content_as_html else "text": content,
43
            }
44
        if tags is not None:
45
            snippet["tags"] = ",".join(tags)
46
47
        if len(snippet.keys()) == 0:
48
            return
49
50
        return self._put("/snippets/{snippet_id}".format(snippet_id=snippet_id), data={"snippet": snippet})
51
52
    def delete(self,
53
               snippet_id: str):
54
        return self._delete("/snippets/{snippet_id}".format(snippet_id=snippet_id))
55