-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path__init__.py
73 lines (67 loc) · 1.81 KB
/
__init__.py
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
import requests
from common import Auth, Requester, get_logger
from .accessories import Accessories
from .api import API
from .assets import Assets
from .categories import Categories
from .companies import Companies
from .components import Components
from .consumables import Consumables
from .departments import Departments
from .errors import InvalidArg
from .fields import Fields, FieldSets
from .licenses import Licenses
from .locations import Locations
from .maintenances import Maintenances
from .manufacturers import Manufacturers
from .models import Models
from .reports import Reports
from .status_labels import StatusLabels
from .users import Users
class Snipe(
Requester,
API,
Accessories,
Assets,
Categories,
Companies,
Consumables,
Components,
Departments,
Fields,
FieldSets,
Licenses,
Locations,
Maintenances,
Manufacturers,
Models,
Reports,
StatusLabels,
Users,
):
def __init__(
self,
users_no_search=True,
default_status=2,
env_vars=False,
level="INFO",
):
self.config = Auth(env_var=env_vars).get_config("SNIPE_TOKEN", "SNIPE_URL")
self.default_status = default_status
self.base_url = self.url_handler(self.config.SNIPE_URL, "base") + "api/v1/"
self.token = self.config.SNIPE_TOKEN
self.headers = {
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": f"Bearer {self.config.SNIPE_TOKEN}",
}
self.InvalidArg = InvalidArg
self.session = requests.Session()
self.first_snipe_call = None
self.log = get_logger(level=level)
self.model_numbers = {}
self.users_no_search = users_no_search
super(Snipe, self).__init__()
__all__ = [
"Snipe",
]