File: checkup.py

package info (click to toggle)
python-activipy 0.1-11
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 464 kB
  • sloc: python: 1,262; makefile: 171; lisp: 18; sh: 13
file content (97 lines) | stat: -rw-r--r-- 3,318 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
## Activipy --- ActivityStreams 2.0 implementation and validator for Python
## Copyright © 2015 Christopher Allan Webber <cwebber@dustycloud.org>
##
## This file is part of Activipy, which is GPLv3+ or Apache v2, your option
## (see COPYING); since that means effectively Apache v2 here's those headers
##
## Apache v2 header:
##   Licensed under the Apache License, Version 2.0 (the "License");
##   you may not use this file except in compliance with the License.
##   You may obtain a copy of the License at
##
##       http://www.apache.org/licenses/LICENSE-2.0
##
##   Unless required by applicable law or agreed to in writing, software
##   distributed under the License is distributed on an "AS IS" BASIS,
##   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
##   See the License for the specific language governing permissions and
##   limitations under the License.

from activipy.core import (
    ASType, ASVocab, Environment, shortids_from_vocab,
    chain_dicts, make_simple_loader)
from activipy import vocab

def checkup_uri(identifier):
    return "http://checkup.example/ns#" + identifier

CheckIn = ASType(
    checkup_uri("CheckIn"), [vocab.Arrive], "CheckIn",
    notes=(
        "Check in to a location."))

Coupon = ASType(
    checkup_uri("Coupon"), [vocab.Object], "Coupon",
    notes=(
        "A redeemable voucher (by redeem_url) for hopefully "
        "something exciting!"))

RoyalStatus = ASType(
    checkup_uri("RoyalStatus"), [vocab.Object], "RoyalStatus",
    notes=(
        "How royal you are at a given location!"))


CheckUpVocab = ASVocab([CheckIn, Coupon, RoyalStatus])

CHECKUP_EXTRA_CONTEXT_NAMESPACED = {"CheckUp": "http://checkup.example/ns#"}

CheckUpNSEnv = Environment(
    vocabs=[vocab.CoreVocab],
    shortids=chain_dicts(
        shortids_from_vocab(vocab.CoreVocab),
        shortids_from_vocab(CheckUpVocab, "CheckUp")),
    c_accessors=chain_dicts(
        shortids_from_vocab(vocab.CoreVocab),
        shortids_from_vocab(CheckUpVocab)),
    extra_context=CHECKUP_EXTRA_CONTEXT_NAMESPACED)

CHECKUP_EXTRA_CONTEXT_VERBOSE = {
    "CheckIn": {
        "@id": CheckIn.id_uri,
        "@type": "@id"},
    "Coupon": {
        "@id": Coupon.id_uri,
        "@type": "@id"},
    "RoyalStatus": {
        "@id": RoyalStatus.id_uri,
        "@type": "@id"}}

CheckUpVerboseEnv = Environment(
    vocabs=[vocab.CoreVocab],
    shortids=chain_dicts(
        shortids_from_vocab(vocab.CoreVocab),
        shortids_from_vocab(CheckUpVocab)),
    c_accessors=chain_dicts(
        shortids_from_vocab(vocab.CoreVocab),
        shortids_from_vocab(CheckUpVocab)),
    extra_context=CHECKUP_EXTRA_CONTEXT_VERBOSE)


CHECKUP_EXTRA_CONTEXT_URI = "http://checkup.example/context.jld"

CHECKUP_JSONLD_LOADER = make_simple_loader(
    {CHECKUP_EXTRA_CONTEXT_URI: {"@context": CHECKUP_EXTRA_CONTEXT_VERBOSE}},
    # @@: Do we want this in the demo?
    load_unknown_urls=False)

CheckUpEnv = Environment(
    vocabs=[vocab.CoreVocab],
    shortids=chain_dicts(
        shortids_from_vocab(vocab.CoreVocab),
        shortids_from_vocab(CheckUpVocab)),
    c_accessors=chain_dicts(
        shortids_from_vocab(vocab.CoreVocab),
        shortids_from_vocab(CheckUpVocab)),
    extra_context=CHECKUP_EXTRA_CONTEXT_URI,
    document_loader=CHECKUP_JSONLD_LOADER)