projectal.entities.location

View Source
from datetime import datetime

import projectal

from projectal.entity import Entity
from projectal import api


class Location(Entity):
    """
    Implementation of the [Location](https://projectal.com/docs/latest/#tag/Location) API.
    """
    _path = 'location'
    _name = 'LOCATION'

    def calendar(self, begin=None, until=None):
        """
        Get the location's calendar.
        `uuId`: The location `uuId`
        `begin`: Start date in `yyyy-MM-dd` format
        `until`: End date in `yyyy-MM-dd` format
        """
        if begin:
            begin = datetime.strptime(begin, '%Y-%m-%d').date()
        if until:
            until = datetime.strptime(until, '%Y-%m-%d').date()

        url = '/api/location/{}/calendar?'.format(self['uuId'])
        params = []
        params.append('begin={}'.format(begin)) if begin else None
        params.append('until={}'.format(until)) if until else None
        url += '&'.join(params)

        cals = api.get(url)
        cals = [projectal.Calendar(c) for c in cals]
        return cals
#   class Location(projectal.entity.Entity):
View Source
class Location(Entity):
    """
    Implementation of the [Location](https://projectal.com/docs/latest/#tag/Location) API.
    """
    _path = 'location'
    _name = 'LOCATION'

    def calendar(self, begin=None, until=None):
        """
        Get the location's calendar.
        `uuId`: The location `uuId`
        `begin`: Start date in `yyyy-MM-dd` format
        `until`: End date in `yyyy-MM-dd` format
        """
        if begin:
            begin = datetime.strptime(begin, '%Y-%m-%d').date()
        if until:
            until = datetime.strptime(until, '%Y-%m-%d').date()

        url = '/api/location/{}/calendar?'.format(self['uuId'])
        params = []
        params.append('begin={}'.format(begin)) if begin else None
        params.append('until={}'.format(until)) if until else None
        url += '&'.join(params)

        cals = api.get(url)
        cals = [projectal.Calendar(c) for c in cals]
        return cals

Implementation of the Location API.

#   def calendar(self, begin=None, until=None):
View Source
    def calendar(self, begin=None, until=None):
        """
        Get the location's calendar.
        `uuId`: The location `uuId`
        `begin`: Start date in `yyyy-MM-dd` format
        `until`: End date in `yyyy-MM-dd` format
        """
        if begin:
            begin = datetime.strptime(begin, '%Y-%m-%d').date()
        if until:
            until = datetime.strptime(until, '%Y-%m-%d').date()

        url = '/api/location/{}/calendar?'.format(self['uuId'])
        params = []
        params.append('begin={}'.format(begin)) if begin else None
        params.append('until={}'.format(until)) if until else None
        url += '&'.join(params)

        cals = api.get(url)
        cals = [projectal.Calendar(c) for c in cals]
        return cals

Get the location's calendar. uuId: The location uuId begin: Start date in yyyy-MM-dd format until: End date in yyyy-MM-dd format

Inherited Members
projectal.entity.Entity
Entity
get
update
delete
create
save
clone
history
list
match
match_startswith
match_endswith
search
query
profile_get
profile_set
changes
set_readonly
builtins.dict
setdefault
pop
popitem
keys
items
values
fromkeys
clear
copy