class Game(object): def __init__(self, _sm): """Inicializa todos los componentes del estado. Parámetros: _sm -- Gestor de estados por si se quiere moverse entre estados.""" self.__level = Level() self.__player = Player() self.__kong = Kong() self.__peach = Peach() def render(self, _screen): """Dibuja todos los compones del juego. Parámetros: _screen -- Superficie donde se dibujarán los componentes.""" self.__level.render(_screen) self.__player.render(_screen) self.__kong.render(_screen) self.__peach.render(_screen) def update(self, _dt): """Actualiza todos los componentes. Parámetros: _dt -- Tiempo que ha transcurrido en milisegundos que ha transcurrido desde la última vez que se ejecutó este método.""" self.__player.update(_dt, self.__level) self.__kong.update(_dt, self.__level, self.__player) self.__peach.update(_dt)
def __init__(self, _sm): """Inicializa todos los componentes del estado. Parámetros: _sm -- Gestor de estados por si se quiere moverse entre estados.""" self.__level = Level() self.__player = Player() self.__kong = Kong() self.__peach = Peach()
def tester(request): People.add(People(name='Foo', age=22, address="xxxx")) People.add(People(name='John', age=22, address="yyyy")) People.add(People(name='Paul', age=44, address="zzzz")) People.add(People(name='David', age=18, address="aaaa")) People.add(People(name='Maria', age=27, address="bbbb")) People.add(People(name='Jean', age=36, address="cccc")) def fin(): MongoClient(test_config['DATABASE']['uri']).drop_database(test_config['DATABASE']['name']) request.addfinalizer(fin) return Peach().create_app().test_client()
'/people/<string:ids>' ] } ] }, }, 'DATABASE': { 'proxy': 'peach.database.mongo_proxy.MongoDBProxy', 'uri': 'mongodb://localhost:27017/', 'name': 'testing' } } Peach.init(test_config, FlaskHandler()) from marshmallow import fields from pymongo import MongoClient from peach.rest.serializers import ModelSerializer from peach.filters import BaseFilter from peach.models import BaseModel from peach.handlers.flask.resource import FlaskBaseResource from peach.filters.mongo import NameFilter class People(BaseModel): collection_name = 'people'
'/people/{ids}' ] } ] }, }, 'DATABASE': { 'proxy': 'peach.database.mongo_proxy.MongoDBProxy', 'uri': 'mongodb://localhost:27017/', 'name': 'testing' } } Peach.init(test_config, FalconHandler()) from marshmallow import fields from pymongo import MongoClient from peach.rest.serializers import ModelSerializer from peach.filters import BaseFilter from peach.models import BaseModel from peach.handlers.falcon.resource import FalconBaseResource from peach.filters.mongo import NameFilter from falcon import testing class People(BaseModel): collection_name = 'people'
#!/usr/bin/env python from peach import Peach from peach.handlers.flask import FlaskHandler from peach.utils import module_dir Peach.init(config=module_dir(__file__), handler=FlaskHandler()) from peach.models import BaseModel from peach.rest.serializers import ModelSerializer, fields from peach.filters.mongo import NameFilter from peach.filters import BaseFilter from peach.handlers.flask.resource import FlaskBaseResource class People(BaseModel): collection_name = 'people' def __init__(self, name=None, age=None, address=None, **kwargs): if 'type' in kwargs: kwargs.pop('type') super().__init__(**{ 'name': name, 'age': age, 'address': address }, **kwargs) @classmethod def build(cls, doc): return People(**doc) if doc else None
class BaseModel(ObjectDict): type = None db = load_db_proxy(Peach().database_config) @property def id(self): return self._id @classmethod def build(cls, data): raise NotImplementedError() @classmethod def count(cls, condition=None, **kwargs): return cls.db.count(cls, condition, **kwargs) @classmethod def all(cls, skip=0, limit=0, sort=None): for d in cls.db.find(cls, {}, skip=skip, limit=limit, sort=sort): yield cls.build(d) @classmethod def add(cls, doc): cls.db.add(cls, doc) @classmethod def upsert(cls, *docs): cls.db.upsert(cls, *docs) @classmethod def delete(cls, *doc_ids): cls.db.delete(cls, *doc_ids) @classmethod def find(cls, condition, skip=0, limit=0, sort=None, **kwargs): return cls.db.find(cls, condition, skip=skip, limit=limit, sort=sort, **kwargs) @classmethod def by_attr(cls, attr, value, exact=True, many=True, skip=0, limit=0, sort=None): return cls.db.by_attr(cls, attr, value, exact, many, skip=skip, limit=limit, sort=sort) @classmethod def by_id(cls, id): return cls.db.by_id(cls, id)
#!/usr/bin/env python from peach import Peach from peach.handlers.falcon import FalconHandler from examples.people_api.falcon import config Peach.init(config=config, handler=FalconHandler()) from peach.models import BaseModel from peach.rest.serializers import ModelSerializer, fields from peach.filters.mongo import NameFilter from peach.filters import BaseFilter from peach.handlers.falcon.resource import FalconBaseResource class People(BaseModel): collection_name = 'people' def __init__(self, name=None, age=None, address=None, **kwargs): if 'type' in kwargs: kwargs.pop('type') super().__init__(**{ 'name': name, 'age': age, 'address': address }, **kwargs) @classmethod