def get_event_list(start_id=None,
                   end_id=None,
                   start_date=None,
                   end_date=None,
                   max_items=None):  # noqa: E501
    """Get eventList

    Returns a list of reduced Event objects # noqa: E501

    :param start_id: Member_id the list starts with
    :type start_id: int
    :param end_id: Member_id the list ends with
    :type end_id: int
    :param start_date: Member_Date the list starts with
    :type start_date: str
    :param end_date: Member_Date the list ends with
    :type end_date: str
    :param max_items: max items count in the list
    :type max_items: int

    :rtype: None
    """

    if not max_items:
        max_items = 100

    evalBuilder = EvalBuilder()

    if start_id:
        evalBuilder.append('start_id <= dbModels.Event.id')
    if end_id:
        evalBuilder.append('dbModels.Event.id <= end_id')
    if start_date:
        start_date = util.deserialize_datetime(start_date)
        evalBuilder.append('start_date <= dbModels.Event.start_datetime')
    if end_date:
        end_date = util.deserialize_datetime(end_date)
        evalBuilder.append('dbModels.Event.end_datetime <= end_date')

    events = db_session.query(dbModels.Event).filter(
        eval(evalBuilder.getEvalStr())).order_by(
            dbModels.Event.start_datetime).limit(max_items).all()

    event_list = []
    for event in events:
        event_list.append(event.to_dict_list())

    if start_date:
        event_list = sorted(event_list, key=lambda k: k['start_datetime'])

    return {"event_list": event_list}
Example #2
0
def payment_journal_entry_get(accept_language,
                              api,
                              api_version,
                              maas_id,
                              addressed_to=None,
                              _from=None,
                              to=None,
                              state=None,
                              id=None,
                              category=None,
                              offset=None,
                              limit=None):  # noqa: E501
    """payment_journal_entry_get

    Returns all the journal entries that should be paid per leg # noqa: E501

    :param accept_language: A list of the languages/localizations the user would like to see the results in. For user privacy and ease of use on the TO side, this list should be kept as short as possible, ideally just one language tag from the list in operator/information
    :type accept_language: str
    :param api: API description, can be TOMP or maybe other (specific/derived) API definitions
    :type api: str
    :param api_version: Version of the API.
    :type api_version: str
    :param maas_id: The ID of the sending maas operator
    :type maas_id: str
    :param addressed_to: The ID of the maas operator that has to receive this message
    :type addressed_to: str
    :param _from: start of the selection
    :type _from: str
    :param to: end of the selection
    :type to: str
    :param state: 
    :type state: dict | bytes
    :param id: 
    :type id: str
    :param category: type of booking line (e.g. fare, addition costs, fines, ...)
    :type category: str
    :param offset: start of the selection
    :type offset: float
    :param limit: count of the selection
    :type limit: float

    :rtype: List[JournalEntry]
    """
    _from = util.deserialize_datetime(_from)
    to = util.deserialize_datetime(to)
    if connexion.request.is_json:
        state = JournalState.from_dict(
            connexion.request.get_json())  # noqa: E501
    return 'do some magic!'
Example #3
0
def find_accounts(limit=None, starting_after=None, ending_before=None, identity_document_number=None, full_name=None, ps_product_code=None, account_status=None, issuer_id=None, included_since=None):  # noqa: E501
    """Lista todas as contas de um emissor de acordo com filtros estabelecidos.

     # noqa: E501

    :param limit: Número limite de objetos retornados. O valor deve ser entre 1 e 100.
    :type limit: int
    :param starting_after: Um cursor para uso em paginação. {starting_after} é o identificador único do objeto a partir do qual se quer listar. Por exemplo, se houve um retorno de uma lista de 100 objetos para esta chamada sendo que o último possui identificador \&quot;obj1234\&quot;, para se obter a página use \&quot;starting_after&#x3D;obj1234\&quot;.
    :type starting_after: str
    :param ending_before: Um cursor para uso em paginação. {ending_before} é o identificador único do objeto a partir do qual se quer listar os anteriores. Por exemplo, se houve um retorno de uma lista de 100 objetos para esta chamada sendo que o primeiro possui identificador \&quot;obj1234\&quot;, para se obter a página anterior use \&quot;ending_before&#x3D;obj1234\&quot;.
    :type ending_before: str
    :param identity_document_number: No Brasil, usar CPF ou CNPJ.
    :type identity_document_number: str
    :param full_name: Nome completo do titular.
    :type full_name: str
    :param ps_product_code: Código do produto fornecido pela paySmart.
    :type ps_product_code: str
    :param account_status: Status da conta.
    :type account_status: dict | bytes
    :param issuer_id: Identificador da conta fornecido pelo emissor na sua criação.
    :type issuer_id: str
    :param included_since: Procura contas incluídas depois dessa data.
    :type included_since: str

    :rtype: AccountListResult
    """
    if connexion.request.is_json:
        account_status = .from_dict(connexion.request.get_json())  # noqa: E501
    included_since = util.deserialize_datetime(included_since)
    return 'do some magic!'
Example #4
0
def get_status(timestamp):  # noqa: E501
    """Devuelve el estado del usuario en el timestamp especificado

    Permite consultar estados pasados # noqa: E501

    :param timestamp: Timestamp a consultar
    :type timestamp: str

    :rtype: Status
    """
    timestamp = util.deserialize_datetime(timestamp)
    timestamp = timestamp.replace(tzinfo=None)
    if timestamp > datetime.now():
        response = {}, 405
    else:
        ndb = NotDB()
        stats = ndb.get_collection(UserStatus().STATUSES_COLLECTION)
        if stats is None:
            response = {}, 404
        else:
            found = None
            for st in stats:
                if st.timestamp < timestamp:
                    found = st
                else:
                    break
            if found is None:
                response = {}, 404
            else:
                response = found, 200
    return response
def place_order(body=None,
                id=None,
                pet_id=None,
                quantity=None,
                ship_date=None,
                status=None,
                complete=None):  # noqa: E501
    """Place an order for a pet

    Place a new order in the store # noqa: E501

    :param body: 
    :type body: dict | bytes
    :param id: 
    :type id: int
    :param pet_id: 
    :type pet_id: int
    :param quantity: 
    :type quantity: int
    :param ship_date: 
    :type ship_date: str
    :param status: 
    :type status: str
    :param complete: 
    :type complete: bool

    :rtype: Order
    """
    if connexion.request.is_json:
        body = Order.from_dict(connexion.request.get_json())  # noqa: E501
    ship_date = util.deserialize_datetime(ship_date)
    return 'do some magic!'
Example #6
0
def find_transactions_by_account(account_id, limit=None, starting_after=None, ending_before=None, beginning_date_time=None, ending_date_time=None, transaction_type=None, transaction_status=None, transaction_approved=None, transaction_denial_code=None, minimum_amount=None, max_amount=None, transaction_mode=None):  # noqa: E501
    """Lista transações a partir de filtros especificados.

     # noqa: E501

    :param account_id: Identificador da conta.
    :type account_id: str
    :param limit: Número limite de objetos retornados. O valor deve ser entre 1 e 100.
    :type limit: int
    :param starting_after: Um cursor para uso em paginação. {starting_after} é o identificador único do objeto a partir do qual se quer listar. Por exemplo, se houve um retorno de uma lista de 100 objetos para esta chamada sendo que o último possui identificador \&quot;obj1234\&quot;, para se obter a página use \&quot;starting_after&#x3D;obj1234\&quot;.
    :type starting_after: str
    :param ending_before: Um cursor para uso em paginação. {ending_before} é o identificador único do objeto a partir do qual se quer listar os anteriores. Por exemplo, se houve um retorno de uma lista de 100 objetos para esta chamada sendo que o primeiro possui identificador \&quot;obj1234\&quot;, para se obter a página anterior use \&quot;ending_before&#x3D;obj1234\&quot;.
    :type ending_before: str
    :param beginning_date_time: Data e hora para iniciar procura.
    :type beginning_date_time: str
    :param ending_date_time: Data e hora para parar procura.
    :type ending_date_time: str
    :param transaction_type: Tipo das transações a serem retornadas.
    :type transaction_type: dict | bytes
    :param transaction_status: Status das transações a serem retornadas.
    :type transaction_status: dict | bytes
    :param transaction_approved: Se a transação foi aprovada pelo autorizador.
    :type transaction_approved: bool
    :param transaction_denial_code: Transações negadas no autorizador com um código específico.
    :type transaction_denial_code: str
    :param minimum_amount: Valor mínimo, omitindo a vírgula. Por exemplo, R$ 1,23 ficaria \&quot;amount\&quot;:123
    :type minimum_amount: int
    :param max_amount: Valor máximo, omitindo a vírgula. Por exemplo, R$ 1,23 ficaria \&quot;amount\&quot;:123
    :type max_amount: int
    :param transaction_mode: Modo da transação.
    :type transaction_mode: dict | bytes

    :rtype: TransactionListResult
    """
    beginning_date_time = util.deserialize_datetime(beginning_date_time)
    ending_date_time = util.deserialize_datetime(ending_date_time)
    if connexion.request.is_json:
        transaction_type = .from_dict(connexion.request.get_json())  # noqa: E501
    if connexion.request.is_json:
        transaction_status = .from_dict(connexion.request.get_json())  # noqa: E501
    if connexion.request.is_json:
        transaction_mode = .from_dict(connexion.request.get_json())  # noqa: E501
    return 'do some magic!'
Example #7
0
def clima_id_estacion_get(idEstacion,
                          inicio=None,
                          fin=None,
                          sensor=None):  # noqa: E501
    """Devuelve los valores medidos mas reciente, de una estación.

     # noqa: E501

    :param idEstacion: Id del hardware del equipo de medición.
    :type idEstacion: str
    :param inicio: fecha de inicio de la medición.
    :type inicio: str
    :param fin: fecha de fin de la medición.
    :type fin: str
    :param sensor: nombre del sensor sobre el cual queremos obtener información.
    :type sensor: List[str]

    :rtype: List[Medicion]
    """
    inicio = util.deserialize_datetime(inicio)
    fin = util.deserialize_datetime(fin)
    # Variable de salida
    res = list()
    try:
        # Obtenemos el listado de los registros de la estación consultada
        consulta = Med.query.filter_by(hardware=idEstacion).all()

        # Recorremos los resultados de la consulta.
        for fila in consulta:
            # Llenamos el JSON basado en la data de la fila
            f = fila.__dict__
            f.pop('_sa_instance_state')
            # Agregamos la medición al vector de salida
            res.append(f)
    except Exception as e:
        return "Error inesperado. Detalles [{0}]".format(e), 500

    return res, 200
Example #8
0
def get_banner_list(date_start=None, date_finish=None, app_codes=None):  # noqa: E501
    """Получить список активных баннеров

     # noqa: E501

    :param date_start: Дата начала работ
    :type date_start: str
    :param date_finish: Дата окончания работ
    :type date_finish: str
    :param app_codes: Системы на которые вешается баннер
    :type app_codes: List[str]

    :rtype: List[Banner]
    """
    date_start = util.deserialize_datetime(date_start) if date_start else datetime.datetime.min
    date_finish = util.deserialize_datetime(date_finish) if date_finish else datetime.datetime.max

    filtered = and_(Banner.date_start >= date_start, Banner.date_finish <= date_finish)
    if app_codes:
        filtered = and_(in_op(Banner.app_code, app_codes), filtered)

    return Banner.query.filter(filtered) \
        .order_by(Banner.date_start) \
        .all()
Example #9
0
def delete_banners(date_start, app_codes=None):  # noqa: E501
    """Удалить список баннеров, удовлетворяющих списку

     # noqa: E501

    :param date_start: Дата начала работ
    :type date_start: str
    :param app_codes: Системы на которые вешается баннер
    :type app_codes: List[str]

    :rtype: None
    """
    date_start = util.deserialize_datetime(date_start)
    for app_code in app_codes:
        banner_in_db = Banner.query.get_or_404((app_code, date_start))
        if banner_in_db:
            db.session.delete(banner_in_db)
    db.session.commit()
    return 'Данные успешно удалены'