Module presalytics.lib.util

Expand source code Browse git
import datetime
import presalytics.lib.constants

class classproperty(property):
    def __get__(self, obj, objtype=None):
        return super(classproperty, self).__get__(objtype)

    def __set__(self, obj, value):
        super(classproperty, self).__set__(type(obj), value)

    def __delete__(self, obj):
        super(classproperty, self).__delete__(type(obj))


def roundup_date_modified(current_datetime: datetime.datetime):
    one_second = datetime.timedelta(seconds=1)
    rounddown = current_datetime.replace(microsecond=0)
    return rounddown + one_second
    
def get_site_host():
    site_host = presalytics.lib.constants.SITE_HOST
    try: 
        site_host = presalytics.CONFIG["HOSTS"]["SITE"]
    except (KeyError, AttributeError):
        pass
    return site_host

        

Functions

def roundup_date_modified(current_datetime)
Expand source code Browse git
def roundup_date_modified(current_datetime: datetime.datetime):
    one_second = datetime.timedelta(seconds=1)
    rounddown = current_datetime.replace(microsecond=0)
    return rounddown + one_second
def get_site_host()
Expand source code Browse git
def get_site_host():
    site_host = presalytics.lib.constants.SITE_HOST
    try: 
        site_host = presalytics.CONFIG["HOSTS"]["SITE"]
    except (KeyError, AttributeError):
        pass
    return site_host

Classes

class classproperty (...)

property(fget=None, fset=None, fdel=None, doc=None) -> property attribute

fget is a function to be used for getting an attribute value, and likewise fset is a function for setting, and fdel a function for del'ing, an attribute. Typical use is to define a managed attribute x:

class C(object): def getx(self): return self._x def setx(self, value): self._x = value def delx(self): del self._x x = property(getx, setx, delx, "I'm the 'x' property.")

Decorators make defining new properties or modifying existing ones easy:

class C(object): @property def x(self): "I am the 'x' property." return self._x @x.setter def x(self, value): self._x = value @x.deleter def x(self): del self._x

Expand source code Browse git
class classproperty(property):
    def __get__(self, obj, objtype=None):
        return super(classproperty, self).__get__(objtype)

    def __set__(self, obj, value):
        super(classproperty, self).__set__(type(obj), value)

    def __delete__(self, obj):
        super(classproperty, self).__delete__(type(obj))

Ancestors

  • builtins.property