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
|
||||
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):
|
||||
|
||||
#the cassandra type this column maps to
|
||||
db_type = None
|
||||
value_manager = BaseValueManager
|
||||
|
||||
instance_counter = 0
|
||||
|
||||
@@ -64,6 +95,10 @@ class BaseColumn(object):
|
||||
def is_primary_key(self):
|
||||
return self.primary_key
|
||||
|
||||
@property
|
||||
def can_delete(self):
|
||||
return not self.primary_key
|
||||
|
||||
#methods for replacing column definitions with properties that interact
|
||||
#with a column's value member
|
||||
#this will allow putting logic behind value access (lazy loading, etc)
|
@@ -1,4 +1,4 @@
|
||||
#cassandraengine exceptions
|
||||
#cqlengine exceptions
|
||||
class ModelException(BaseException): pass
|
||||
class ValidationError(BaseException): pass
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#manager class
|
||||
|
||||
from cassandraengine.query import QuerySet
|
||||
from cqlengine.query import QuerySet
|
||||
|
||||
class Manager(object):
|
||||
|
@@ -1,8 +1,8 @@
|
||||
from collections import OrderedDict
|
||||
|
||||
from cassandraengine import columns
|
||||
from cassandraengine.exceptions import ModelException
|
||||
from cassandraengine.manager import Manager
|
||||
from cqlengine import columns
|
||||
from cqlengine.exceptions import ModelException
|
||||
from cqlengine.manager import Manager
|
||||
|
||||
class BaseModel(object):
|
||||
"""
|
||||
@@ -11,18 +11,14 @@ class BaseModel(object):
|
||||
|
||||
#table names will be generated automatically from it's model name and package
|
||||
#however, you can alse define them manually here
|
||||
db_name = None
|
||||
db_name = None
|
||||
|
||||
def __init__(self, **values):
|
||||
#set columns from values
|
||||
for k,v in values.items():
|
||||
if k in self._columns:
|
||||
setattr(self, k, v)
|
||||
|
||||
#set excluded columns to None
|
||||
for k in self._columns.keys():
|
||||
if k not in values:
|
||||
setattr(self, k, None)
|
||||
self._values = {}
|
||||
for name, column in self._columns.items():
|
||||
value_mngr = column.value_manager(self, column, values.get(name, None))
|
||||
self._values[name] = value_mngr
|
||||
setattr(self, name, value_mngr.get_property())
|
||||
|
||||
@classmethod
|
||||
def find(cls, pk):
|
@@ -1,6 +1,6 @@
|
||||
import copy
|
||||
|
||||
from cassandraengine.connection import get_connection
|
||||
from cqlengine.connection import get_connection
|
||||
|
||||
#CQL 3 reference:
|
||||
#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 cassandraengine.models import Model
|
||||
from cassandraengine import columns
|
||||
from cqlengine.exceptions import ModelException
|
||||
from cqlengine.models import Model
|
||||
from cqlengine import columns
|
||||
|
||||
class TestModelClassFunction(BaseCassEngTestCase):
|
||||
"""
|
@@ -1,8 +1,8 @@
|
||||
from unittest import skip
|
||||
from cassandraengine.tests.base import BaseCassEngTestCase
|
||||
from cqlengine.tests.base import BaseCassEngTestCase
|
||||
|
||||
from cassandraengine.models import Model
|
||||
from cassandraengine import columns
|
||||
from cqlengine.models import Model
|
||||
from cqlengine import columns
|
||||
|
||||
class TestModel(Model):
|
||||
count = columns.Integer()
|
Reference in New Issue
Block a user