Merge lp:~soren/riakalchemy/pep8 into lp:riakalchemy

Proposed by Soren Hansen
Status: Merged
Approved by: Soren Hansen
Approved revision: 15
Merged at revision: 16
Proposed branch: lp:~soren/riakalchemy/pep8
Merge into: lp:riakalchemy
Diff against target: 265 lines (+43/-18)
7 files modified
riakalchemy/__init__.py (+1/-0)
riakalchemy/exceptions.py (+2/-1)
riakalchemy/meta.py (+0/-1)
riakalchemy/model.py (+25/-11)
riakalchemy/tests/test_basic.py (+7/-3)
riakalchemy/types.py (+6/-0)
setup.py (+2/-2)
To merge this branch: bzr merge lp:~soren/riakalchemy/pep8
Reviewer Review Type Date Requested Status
Soren Hansen Pending
Review via email: mp+83452@code.launchpad.net

Commit message

pep8

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'riakalchemy/__init__.py'
--- riakalchemy/__init__.py 2011-11-19 23:31:19 +0000
+++ riakalchemy/__init__.py 2011-11-25 22:37:23 +0000
@@ -6,6 +6,7 @@
6global RiakObject6global RiakObject
7global connect7global connect
88
9
9def use_real_backend():10def use_real_backend():
10 global RiakObject11 global RiakObject
11 global connect12 global connect
1213
=== modified file 'riakalchemy/exceptions.py'
--- riakalchemy/exceptions.py 2011-10-24 08:09:20 +0000
+++ riakalchemy/exceptions.py 2011-11-25 22:37:23 +0000
@@ -1,9 +1,10 @@
1class RiakAlchemyError(Exception):1class RiakAlchemyError(Exception):
2 pass2 pass
33
4
4class ValidationError(RiakAlchemyError):5class ValidationError(RiakAlchemyError):
5 pass6 pass
67
8
7class NoSuchObjectError(RiakAlchemyError):9class NoSuchObjectError(RiakAlchemyError):
8 pass10 pass
9
1011
=== removed file 'riakalchemy/meta.py'
--- riakalchemy/meta.py 2011-10-20 09:41:48 +0000
+++ riakalchemy/meta.py 1970-01-01 00:00:00 +0000
@@ -1,1 +0,0 @@
1
20
=== modified file 'riakalchemy/model.py'
--- riakalchemy/model.py 2011-11-19 23:29:44 +0000
+++ riakalchemy/model.py 2011-11-25 22:37:23 +0000
@@ -5,6 +5,7 @@
5from riakalchemy.exceptions import ValidationError, NoSuchObjectError5from riakalchemy.exceptions import ValidationError, NoSuchObjectError
6from riakalchemy.types import RiakType6from riakalchemy.types import RiakType
77
8
8class RiakModelRegistry(object):9class RiakModelRegistry(object):
9 def __init__(self):10 def __init__(self):
10 self._registry = []11 self._registry = []
@@ -21,6 +22,7 @@
2122
22_registry = RiakModelRegistry()23_registry = RiakModelRegistry()
2324
25
24class RiakObjectMeta(type):26class RiakObjectMeta(type):
25 def __new__(cls, name, bases, attrs):27 def __new__(cls, name, bases, attrs):
26 super_new = super(RiakObjectMeta, cls).__new__28 super_new = super(RiakObjectMeta, cls).__new__
@@ -39,7 +41,6 @@
39 return new_class41 return new_class
4042
4143
42
43class RiakObject(object):44class RiakObject(object):
44 __metaclass__ = RiakObjectMeta45 __metaclass__ = RiakObjectMeta
45 searchable = False46 searchable = False
@@ -87,8 +88,8 @@
87 value = getattr(self, field, [])88 value = getattr(self, field, [])
88 for rel in value:89 for rel in value:
89 if not isinstance(rel, RiakObject):90 if not isinstance(rel, RiakObject):
90 raise ValidationError('%s attribute of %s must be another '91 raise ValidationError('%s attribute of %s must be '
91 'RiakObject' %92 'another RiakObject' %
92 (field, self.__class__.__name__))93 (field, self.__class__.__name__))
9394
94 for link in self._links:95 for link in self._links:
@@ -97,7 +98,8 @@
97 self._links.remove(link)98 self._links.remove(link)
9899
99 for link in value:100 for link in value:
100 self._links += [RiakLink(link.bucket_name, link.key, tag=field)]101 self._links += [RiakLink(link.bucket_name,
102 link.key, tag=field)]
101 else:103 else:
102 if hasattr(self, field):104 if hasattr(self, field):
103 value = self._meta[field].clean(getattr(self, field))105 value = self._meta[field].clean(getattr(self, field))
@@ -118,9 +120,13 @@
118 if len(kwargs) == 1:120 if len(kwargs) == 1:
119 field = kwargs.keys()[0]121 field = kwargs.keys()[0]
120 if cls._meta[field].link_type and cls._meta[field].backref:122 if cls._meta[field].link_type and cls._meta[field].backref:
121 bucket = client.bucket(cls.bucket_name)123 bucket = client.bucket(cls.bucket_name)
122 index_query = client.index(cls.bucket_name, '%s_bin' % (field,), '%s/%s' % (kwargs[field].bucket_name, kwargs[field].key))124 _2i_key = '%s_bin' % (field,)
123 return RiakObjectQuery(index_query, cls, True)125 _2i_value = ('%s/%s' % (kwargs[field].bucket_name,
126 kwargs[field].key))
127 index_query = client.index(cls.bucket_name,
128 _2i_key, _2i_value)
129 return RiakObjectQuery(index_query, cls, True)
124 elif cls.searchable and kwargs:130 elif cls.searchable and kwargs:
125 return cls.get_search(**kwargs)131 return cls.get_search(**kwargs)
126 else:132 else:
@@ -128,14 +134,16 @@
128134
129 @classmethod135 @classmethod
130 def get_search(cls, **kwargs):136 def get_search(cls, **kwargs):
131 terms = ' AND '.join(['%s:"%s"' % (k,v) for k,v in kwargs.iteritems()])137 terms = ' AND '.join(['%s:"%s"' % (k, v)
138 for k, v in kwargs.iteritems()])
132 query = client.search(cls.bucket_name, terms)139 query = client.search(cls.bucket_name, terms)
133 return RiakObjectQuery(query, cls, True)140 return RiakObjectQuery(query, cls, True)
134141
135 @classmethod142 @classmethod
136 def get_mr(cls, **kwargs):143 def get_mr(cls, **kwargs):
137 query = client.add(cls.bucket_name)144 query = client.add(cls.bucket_name)
138 terms = ' && '.join(['true'] + ['data.%s=="%s"' % (k,v) for k,v in kwargs.iteritems()])145 terms = (' && '.join(['true'] +
146 ['data.%s=="%s"' % (k, v) for k, v in kwargs.iteritems()]))
139 map_func = """function(v) {147 map_func = """function(v) {
140 var data = JSON.parse(v.values[0].data);148 var data = JSON.parse(v.values[0].data);
141 if(%s) {149 if(%s) {
@@ -175,7 +183,8 @@
175 bucket.enable_search()183 bucket.enable_search()
176184
177 data_dict = dict((k, getattr(self, k)) for k in self._meta185 data_dict = dict((k, getattr(self, k)) for k in self._meta
178 if not self._meta[k].link_type and hasattr(self, k))186 if not self._meta[k].link_type
187 and hasattr(self, k))
179 if self._riak_obj:188 if self._riak_obj:
180 self._riak_obj.set_data(data_dict)189 self._riak_obj.set_data(data_dict)
181 else:190 else:
@@ -193,7 +202,9 @@
193 if self._meta[field].link_type and self._meta[field].backref:202 if self._meta[field].link_type and self._meta[field].backref:
194 value = getattr(self, field)203 value = getattr(self, field)
195 for link in value:204 for link in value:
196 self._riak_obj.add_index('%s_bin' % (field,), '%s/%s' % (link.bucket_name, link.key))205 self._riak_obj.add_index('%s_bin' % (field,),
206 '%s/%s' % (link.bucket_name,
207 link.key))
197208
198 self._riak_obj.store()209 self._riak_obj.store()
199 self.key = self._riak_obj.get_key()210 self.key = self._riak_obj.get_key()
@@ -217,10 +228,12 @@
217client = None228client = None
218_test_server = None229_test_server = None
219230
231
220def reset_registry():232def reset_registry():
221 global _registry233 global _registry
222 _registry = RiakModelRegistry()234 _registry = RiakModelRegistry()
223235
236
224def connect(host='127.0.0.1', port=8098, test_server=False):237def connect(host='127.0.0.1', port=8098, test_server=False):
225 global client238 global client
226 if test_server:239 if test_server:
@@ -237,6 +250,7 @@
237250
238 client = riak.RiakClient(host=host, port=port)251 client = riak.RiakClient(host=host, port=port)
239252
253
240def _clear_test_connection():254def _clear_test_connection():
241 global _test_server255 global _test_server
242 _test_server.recycle()256 _test_server.recycle()
243257
=== modified file 'riakalchemy/tests/test_basic.py'
--- riakalchemy/tests/test_basic.py 2011-11-16 21:40:07 +0000
+++ riakalchemy/tests/test_basic.py 2011-11-25 22:37:23 +0000
@@ -17,9 +17,11 @@
17 supports_indexes = False17 supports_indexes = False
18 riak_port = 1022918 riak_port = 10229
1919
20
20class _BasicTests(unittest.TestCase):21class _BasicTests(unittest.TestCase):
21 def _create_class(self, searchable=False, last_name_required=False):22 def _create_class(self, searchable=False, last_name_required=False):
22 _searchable = searchable23 _searchable = searchable
24
23 class Person(RiakObject):25 class Person(RiakObject):
24 searchable = _searchable26 searchable = _searchable
25 bucket_name = 'users1'27 bucket_name = 'users1'
@@ -43,7 +45,7 @@
4345
44 def _incomplete_value_set(self):46 def _incomplete_value_set(self):
45 return {'first_name': 'soren',47 return {'first_name': 'soren',
46 'age': 31 }48 'age': 31}
4749
48 def _set_values_on_init(self, values, searchable=False,50 def _set_values_on_init(self, values, searchable=False,
49 last_name_required=False):51 last_name_required=False):
@@ -58,7 +60,7 @@
5860
59 def _object_create_and_setattr(self, values):61 def _object_create_and_setattr(self, values):
60 cls, obj = self._create_object()62 cls, obj = self._create_object()
61 for k,v in values.iteritems():63 for k, v in values.iteritems():
62 setattr(obj, k, v)64 setattr(obj, k, v)
63 return cls, obj65 return cls, obj
6466
@@ -135,7 +137,8 @@
135137
136 def _test_retrieve_by_values(self, searchable):138 def _test_retrieve_by_values(self, searchable):
137 values = self._incomplete_value_set()139 values = self._incomplete_value_set()
138 cls, obj = self._set_values_on_init(searchable=searchable, values=values)140 cls, obj = self._set_values_on_init(searchable=searchable,
141 values=values)
139 obj.save()142 obj.save()
140 self.addCleanup(obj.delete)143 self.addCleanup(obj.delete)
141144
@@ -258,6 +261,7 @@
258 self.assertIn(persons[1].first_name, [persons[0].first_name,261 self.assertIn(persons[1].first_name, [persons[0].first_name,
259 persons[1].first_name])262 persons[1].first_name])
260263
264
261class RiakBackedTests(_BasicTests):265class RiakBackedTests(_BasicTests):
262 test_server_started = False266 test_server_started = False
263267
264268
=== modified file 'riakalchemy/types.py'
--- riakalchemy/types.py 2011-11-05 20:03:19 +0000
+++ riakalchemy/types.py 2011-11-25 22:37:23 +0000
@@ -1,5 +1,6 @@
1from riakalchemy.exceptions import ValidationError1from riakalchemy.exceptions import ValidationError
22
3
3class RiakType(object):4class RiakType(object):
4 link_type = False5 link_type = False
56
@@ -12,12 +13,15 @@
12 def validate(self, value):13 def validate(self, value):
13 return True14 return True
1415
16
15class Dict(RiakType):17class Dict(RiakType):
16 pass18 pass
1719
20
18class String(RiakType):21class String(RiakType):
19 pass22 pass
2023
24
21class Integer(RiakType):25class Integer(RiakType):
22 def clean(self, value):26 def clean(self, value):
23 try:27 try:
@@ -25,8 +29,10 @@
25 except ValueError:29 except ValueError:
26 raise ValidationError("%r could not be cast to integer" % (value,))30 raise ValidationError("%r could not be cast to integer" % (value,))
2731
32
28class RelatedObjects(RiakType):33class RelatedObjects(RiakType):
29 link_type = True34 link_type = True
35
30 def __init__(self, backref=False, **kwargs):36 def __init__(self, backref=False, **kwargs):
31 super(RelatedObjects, self).__init__(**kwargs)37 super(RelatedObjects, self).__init__(**kwargs)
32 self.backref = backref38 self.backref = backref
3339
=== modified file 'setup.py'
--- setup.py 2011-11-19 23:31:19 +0000
+++ setup.py 2011-11-25 22:37:23 +0000
@@ -13,8 +13,8 @@
13 url='https://launchpad.net/riakalchemy',13 url='https://launchpad.net/riakalchemy',
14 packages=['riakalchemy'],14 packages=['riakalchemy'],
15 install_requires=['riak'],15 install_requires=['riak'],
16 test_suite = 'nose.collector',16 test_suite='nose.collector',
17 classifiers = [17 classifiers=[
18 'Development Status :: 1 - Planning',18 'Development Status :: 1 - Planning',
19 'Intended Audience :: Developers',19 'Intended Audience :: Developers',
20 'License :: OSI Approved :: '20 'License :: OSI Approved :: '

Subscribers

People subscribed via source and target branches

to all changes: