Passed
Push — main ( b77d07...0a4857 )
by Jochen
07:55
created

byceps.blueprints.admin.snippet.helpers   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Test Coverage

Coverage 89.29%

Importance

Changes 0
Metric Value
eloc 29
dl 0
loc 52
ccs 25
cts 28
cp 0.8929
rs 10
c 0
b 0
f 0
wmc 8

4 Functions

Rating   Name   Duplication   Size   Complexity  
A find_snippet_by_id() 0 7 2
A find_site_for_scope() 0 5 2
A find_brand_for_scope() 0 5 2
A find_site_by_id() 0 7 2
1
"""
2
byceps.blueprints.admin.snippet.helpers
3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
5
:Copyright: 2006-2021 Jochen Kupperschmidt
6
:License: Revised BSD (see `LICENSE` file for details)
7
"""
8
9 1
from typing import Optional
10 1
from flask import abort
11
12 1
from ....services.brand import service as brand_service
13 1
from ....services.brand.transfer.models import Brand
14 1
from ....services.site import service as site_service
15 1
from ....services.site.transfer.models import Site, SiteID
16 1
from ....services.snippet.dbmodels.snippet import Snippet as DbSnippet
17 1
from ....services.snippet import mountpoint_service, service as snippet_service
18 1
from ....services.snippet.transfer.models import Scope, SnippetID
19 1
from ....typing import BrandID
20
21
22 1
def find_brand_for_scope(scope: Scope) -> Optional[Brand]:
23 1
    if scope.type_ != 'brand':
24 1
        return None
25
26
    return brand_service.find_brand(BrandID(scope.name))
27
28
29 1
def find_site_for_scope(scope: Scope) -> Optional[Site]:
30 1
    if scope.type_ != 'site':
31 1
        return None
32
33 1
    return site_service.find_site(SiteID(scope.name))
34
35
36 1
def find_site_by_id(site_id: SiteID) -> Site:
37 1
    site = site_service.find_site(site_id)
38
39 1
    if site is None:
40
        abort(404)
41
42 1
    return site
43
44
45 1
def find_snippet_by_id(snippet_id: SnippetID) -> DbSnippet:
46 1
    snippet = snippet_service.find_snippet(snippet_id)
47
48 1
    if snippet is None:
49
        abort(404)
50
51
    return snippet
52