some cleanup
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
import requests
|
||||
import functools
|
||||
import json
|
||||
import requests
|
||||
|
||||
from .authmixin import AuthMixin, AuthError, HEADER_JSON
|
||||
|
||||
@ -57,9 +57,6 @@ class HttpClient(AuthMixin):
|
||||
def _login(self, payload=None, headers=None, timeout=10):
|
||||
return requests.post(self.address + "/users/login", json=payload, headers=headers, timeout=timeout, verify=self._verify_certificate).json()
|
||||
|
||||
def typename(self, obj):
|
||||
return type(obj).__name__
|
||||
|
||||
@staticmethod
|
||||
def make_filter(where:dict=None, limit:int=0, skip:int=0, fields:dict=None, include:dict=None, order:list=None):
|
||||
filt = dict()
|
||||
|
@ -1,5 +1,6 @@
|
||||
import functools
|
||||
from typing import get_type_hints
|
||||
from .utils import typename
|
||||
|
||||
|
||||
def typechecked(func):
|
||||
@ -13,7 +14,7 @@ def typechecked(func):
|
||||
return typechecked_call
|
||||
|
||||
|
||||
def property_maker(cls, name, type_name):
|
||||
def property_maker(name, type_name):
|
||||
storage_name = '_' + name
|
||||
|
||||
@property
|
||||
@ -31,6 +32,7 @@ def property_maker(cls, name, type_name):
|
||||
class Snippet:
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__()
|
||||
self._properties = []
|
||||
self.set_properties(**kwargs)
|
||||
|
||||
@ -38,12 +40,12 @@ class Snippet:
|
||||
for key, value in kwargs.items():
|
||||
storage_name = '_' + key
|
||||
setattr(Snippet, storage_name, None)
|
||||
setattr(Snippet, key, property_maker(self, key, value))
|
||||
setattr(Snippet, key, property_maker(key, value))
|
||||
self._properties.append(key)
|
||||
|
||||
def to_dict(self, include_none=True):
|
||||
if include_none:
|
||||
return {key: getattr(self, key) for key in self._properties }
|
||||
return {key: getattr(self, key) for key in self._properties}
|
||||
else:
|
||||
return {key: getattr(self, key) for key in self._properties if getattr(self, key) is not None}
|
||||
|
||||
@ -53,16 +55,16 @@ class Snippet:
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, properties):
|
||||
tmp = cls()
|
||||
tmp.import_dict(properties)
|
||||
return tmp
|
||||
new = cls()
|
||||
new.import_dict(properties)
|
||||
return new
|
||||
|
||||
def __str__(self):
|
||||
return f"{type(self).__name__}"
|
||||
return typename(self)
|
||||
|
||||
@classmethod
|
||||
def from_http_response(cls, response):
|
||||
if type(response) == list:
|
||||
if isinstance(response, list):
|
||||
return [cls.from_dict(resp) for resp in response]
|
||||
else:
|
||||
return cls.from_dict(response)
|
||||
|
Reference in New Issue
Block a user