Module pygrocy.base

Expand source code
import json


def get_val(obj):
    if hasattr(obj, "as_dict"):
        as_attr = getattr(obj, "as_dict")
        return as_attr()
    return obj


class DataModel(object):
    def toJson(self):
        return json.dumps(self.as_dict())

    def as_dict(self):
        return {
            k: get_val(getattr(self, k))
            for k, v in self.__class__.__dict__.items()
            if isinstance(v, property)
        }

Functions

def get_val(obj)
Expand source code
def get_val(obj):
    if hasattr(obj, "as_dict"):
        as_attr = getattr(obj, "as_dict")
        return as_attr()
    return obj

Classes

class DataModel
Expand source code
class DataModel(object):
    def toJson(self):
        return json.dumps(self.as_dict())

    def as_dict(self):
        return {
            k: get_val(getattr(self, k))
            for k, v in self.__class__.__dict__.items()
            if isinstance(v, property)
        }

Subclasses

Methods

def as_dict(self)
Expand source code
def as_dict(self):
    return {
        k: get_val(getattr(self, k))
        for k, v in self.__class__.__dict__.items()
        if isinstance(v, property)
    }
def toJson(self)
Expand source code
def toJson(self):
    return json.dumps(self.as_dict())