def connect(cls, settings): """ Bind the connection to the cassandra. """ conf = Configuration('global') connection.setup(conf.get('cassandra.hosts', ['127.0.0.1:9160']), username=conf.get('cassandra.user'), password=conf.get('cassandra.password'), consistency=conf.get('cassandra.consistency', 'ONE'))
def setup_storage(settings): from caliop.config import Configuration from caliop.storage import registry from caliop.storage.data.interfaces import IStorage registry.configure(Configuration('global')) registry.get_component(IStorage).initialize_db(settings)
class BaseModel(Model): __abstract__ = True __keyspace__ = Configuration('global').get('cassandra.keyspace') @classmethod def create(cls, **kwargs): kwargs = { key: val for key, val in kwargs.items() if key in cls._columns } return super(BaseModel, cls).create(**kwargs)
from gsmtpd import LMTPServer from cqlengine import connection from caliop.config import Configuration Configuration.load('caliop.yaml', 'global') connection.setup(['127.0.0.1:9160']) from caliop.core.config import includeme includeme(None) from caliop.helpers.log import log from caliop.smtp.agent import DeliveryAgent class LmtpServer(LMTPServer): def process_message(self, peer, mailfrom, rcpttos, data): agent = DeliveryAgent() messages = agent.process(mailfrom, rcpttos, data) log.info('Deliver of %d messages' % len(messages)) return None if __name__ == '__main__': s = LmtpServer(("127.0.0.1", 4000)) s.serve_forever()
from datetime import datetime from pyramid.response import Response from cornice.resource import resource, view from caliop.config import Configuration from caliop.helpers.log import log from caliop.core.raw import RawMail from caliop.core.user import User, UserMessage from caliop.core.thread import Thread as UserThread from caliop.core.message import Message as CoreMessage, BaseMessage from caliop.core.contact import Contact as UserContact DEFAULT_LIMIT = Configuration('global').get('site.item_per_page') BASE_URL = Configuration('global').get('api.url', '/api/mock') def make_url(url): # XXX : should use cornice.route_prefix configuration return '%s%s' % (BASE_URL, url) def get_limit(request): limit = {} limit['size'] = request.matchdict.get('limit', DEFAULT_LIMIT) limit['from'] = request.matchdict.get('from_index', 0) return limit
def includeme(config): registry.configure(Configuration('global')) registry.get_component(IStorage).connect(config.registry.settings)
#!/usr/bin/env python import sys from cqlengine import connection from caliop.config import Configuration Configuration.load('./tmp/conf.yaml', 'global') connection.setup(['127.0.0.1:9160']) from caliop.smtp.agent import DeliveryAgent if __name__ == '__main__': agent = DeliveryAgent() data = open(sys.argv[1]).read() messages = agent.process(data)