changing name to cqlengine
This commit is contained in:
@@ -1,3 +0,0 @@
|
|||||||
from cassandraengine.columns import *
|
|
||||||
from cassandraengine.models import Model
|
|
||||||
|
|
@@ -1,16 +0,0 @@
|
|||||||
#tests the behavior of the column classes
|
|
||||||
|
|
||||||
from cassandraengine.tests.base import BaseCassEngTestCase
|
|
||||||
|
|
||||||
from cassandraengine.columns import BaseColumn
|
|
||||||
from cassandraengine.columns import Bytes
|
|
||||||
from cassandraengine.columns import Ascii
|
|
||||||
from cassandraengine.columns import Text
|
|
||||||
from cassandraengine.columns import Integer
|
|
||||||
from cassandraengine.columns import DateTime
|
|
||||||
from cassandraengine.columns import UUID
|
|
||||||
from cassandraengine.columns import Boolean
|
|
||||||
from cassandraengine.columns import Float
|
|
||||||
from cassandraengine.columns import Decimal
|
|
||||||
|
|
||||||
|
|
3
cqlengine/__init__.py
Normal file
3
cqlengine/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
from cqlengine.columns import *
|
||||||
|
from cqlengine.models import Model
|
||||||
|
|
@@ -2,12 +2,43 @@
|
|||||||
import re
|
import re
|
||||||
from uuid import uuid1, uuid4
|
from uuid import uuid1, uuid4
|
||||||
|
|
||||||
from cassandraengine.exceptions import ValidationError
|
from cqlengine.exceptions import ValidationError
|
||||||
|
|
||||||
|
class BaseValueManager(object):
|
||||||
|
|
||||||
|
def __init__(self, instance, column, value):
|
||||||
|
self.instance = instance
|
||||||
|
self.column = column
|
||||||
|
self.initial_value = value
|
||||||
|
self.value = value
|
||||||
|
|
||||||
|
def deleted(self):
|
||||||
|
return self.value is None and self.initial_value is not None
|
||||||
|
|
||||||
|
def getval(self):
|
||||||
|
return self.value
|
||||||
|
|
||||||
|
def setval(self, val):
|
||||||
|
self.value = val
|
||||||
|
|
||||||
|
def delval(self):
|
||||||
|
self.value = None
|
||||||
|
|
||||||
|
def get_property(self):
|
||||||
|
_get = lambda slf: self.getval()
|
||||||
|
_set = lambda slf, val: self.setval(val)
|
||||||
|
_del = lambda slf: self.delval()
|
||||||
|
|
||||||
|
if self.column.can_delete:
|
||||||
|
return property(_get, _set, _del)
|
||||||
|
else:
|
||||||
|
return property(_get, _set)
|
||||||
|
|
||||||
class BaseColumn(object):
|
class BaseColumn(object):
|
||||||
|
|
||||||
#the cassandra type this column maps to
|
#the cassandra type this column maps to
|
||||||
db_type = None
|
db_type = None
|
||||||
|
value_manager = BaseValueManager
|
||||||
|
|
||||||
instance_counter = 0
|
instance_counter = 0
|
||||||
|
|
||||||
@@ -64,6 +95,10 @@ class BaseColumn(object):
|
|||||||
def is_primary_key(self):
|
def is_primary_key(self):
|
||||||
return self.primary_key
|
return self.primary_key
|
||||||
|
|
||||||
|
@property
|
||||||
|
def can_delete(self):
|
||||||
|
return not self.primary_key
|
||||||
|
|
||||||
#methods for replacing column definitions with properties that interact
|
#methods for replacing column definitions with properties that interact
|
||||||
#with a column's value member
|
#with a column's value member
|
||||||
#this will allow putting logic behind value access (lazy loading, etc)
|
#this will allow putting logic behind value access (lazy loading, etc)
|
@@ -1,4 +1,4 @@
|
|||||||
#cassandraengine exceptions
|
#cqlengine exceptions
|
||||||
class ModelException(BaseException): pass
|
class ModelException(BaseException): pass
|
||||||
class ValidationError(BaseException): pass
|
class ValidationError(BaseException): pass
|
||||||
|
|
@@ -1,6 +1,6 @@
|
|||||||
#manager class
|
#manager class
|
||||||
|
|
||||||
from cassandraengine.query import QuerySet
|
from cqlengine.query import QuerySet
|
||||||
|
|
||||||
class Manager(object):
|
class Manager(object):
|
||||||
|
|
@@ -1,8 +1,8 @@
|
|||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
from cassandraengine import columns
|
from cqlengine import columns
|
||||||
from cassandraengine.exceptions import ModelException
|
from cqlengine.exceptions import ModelException
|
||||||
from cassandraengine.manager import Manager
|
from cqlengine.manager import Manager
|
||||||
|
|
||||||
class BaseModel(object):
|
class BaseModel(object):
|
||||||
"""
|
"""
|
||||||
@@ -14,15 +14,11 @@ class BaseModel(object):
|
|||||||
db_name = None
|
db_name = None
|
||||||
|
|
||||||
def __init__(self, **values):
|
def __init__(self, **values):
|
||||||
#set columns from values
|
self._values = {}
|
||||||
for k,v in values.items():
|
for name, column in self._columns.items():
|
||||||
if k in self._columns:
|
value_mngr = column.value_manager(self, column, values.get(name, None))
|
||||||
setattr(self, k, v)
|
self._values[name] = value_mngr
|
||||||
|
setattr(self, name, value_mngr.get_property())
|
||||||
#set excluded columns to None
|
|
||||||
for k in self._columns.keys():
|
|
||||||
if k not in values:
|
|
||||||
setattr(self, k, None)
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def find(cls, pk):
|
def find(cls, pk):
|
@@ -1,6 +1,6 @@
|
|||||||
import copy
|
import copy
|
||||||
|
|
||||||
from cassandraengine.connection import get_connection
|
from cqlengine.connection import get_connection
|
||||||
|
|
||||||
#CQL 3 reference:
|
#CQL 3 reference:
|
||||||
#http://www.datastax.com/docs/1.1/references/cql/index
|
#http://www.datastax.com/docs/1.1/references/cql/index
|
16
cqlengine/tests/columns/test_validation.py
Normal file
16
cqlengine/tests/columns/test_validation.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#tests the behavior of the column classes
|
||||||
|
|
||||||
|
from cqlengine.tests.base import BaseCassEngTestCase
|
||||||
|
|
||||||
|
from cqlengine.columns import BaseColumn
|
||||||
|
from cqlengine.columns import Bytes
|
||||||
|
from cqlengine.columns import Ascii
|
||||||
|
from cqlengine.columns import Text
|
||||||
|
from cqlengine.columns import Integer
|
||||||
|
from cqlengine.columns import DateTime
|
||||||
|
from cqlengine.columns import UUID
|
||||||
|
from cqlengine.columns import Boolean
|
||||||
|
from cqlengine.columns import Float
|
||||||
|
from cqlengine.columns import Decimal
|
||||||
|
|
||||||
|
|
@@ -1,8 +1,8 @@
|
|||||||
from cassandraengine.tests.base import BaseCassEngTestCase
|
from cqlengine.tests.base import BaseCassEngTestCase
|
||||||
|
|
||||||
from cassandraengine.exceptions import ModelException
|
from cqlengine.exceptions import ModelException
|
||||||
from cassandraengine.models import Model
|
from cqlengine.models import Model
|
||||||
from cassandraengine import columns
|
from cqlengine import columns
|
||||||
|
|
||||||
class TestModelClassFunction(BaseCassEngTestCase):
|
class TestModelClassFunction(BaseCassEngTestCase):
|
||||||
"""
|
"""
|
@@ -1,8 +1,8 @@
|
|||||||
from unittest import skip
|
from unittest import skip
|
||||||
from cassandraengine.tests.base import BaseCassEngTestCase
|
from cqlengine.tests.base import BaseCassEngTestCase
|
||||||
|
|
||||||
from cassandraengine.models import Model
|
from cqlengine.models import Model
|
||||||
from cassandraengine import columns
|
from cqlengine import columns
|
||||||
|
|
||||||
class TestModel(Model):
|
class TestModel(Model):
|
||||||
count = columns.Integer()
|
count = columns.Integer()
|
Reference in New Issue
Block a user