Augh! Removed trailing whitespace.
authorEevee <git@veekun.com>
Sun, 4 Oct 2009 22:32:07 +0000 (15:32 -0700)
committerEevee <git@veekun.com>
Sun, 4 Oct 2009 22:32:07 +0000 (15:32 -0700)
ez_setup.py
floof/config/environment.py
floof/controllers/art.py
floof/forms/validators/unique.py
floof/lib/file_storage.py
floof/lib/fixtures.py
floof/lib/helpers.py
floof/model/art.py
floof/tests/__init__.py
floof/tests/functional/test_elixir.py

index d24e845..e33744b 100644 (file)
@@ -92,7 +92,7 @@ def use_setuptools(
     try:
         import pkg_resources
     except ImportError:
-        return do_download()       
+        return do_download()
     try:
         pkg_resources.require("setuptools>="+version); return
     except pkg_resources.VersionConflict, e:
index 3470f2a..cf6c77e 100644 (file)
@@ -35,7 +35,7 @@ def load_environment(global_conf, app_conf):
         input_encoding='utf-8', output_encoding='utf-8',
         imports=['from webhelpers.html import escape'],
         default_filters=['escape'])
-    
+
     # Setup the SQLAlchemy^W Elixir database engine
     engine = engine_from_config(config, 'sqlalchemy.')
     if model.elixir.options_defaults.get('autoload'):
@@ -46,6 +46,6 @@ def load_environment(global_conf, app_conf):
     else:
         # Non-reflected tables
         model.init_model(engine)
-    
+
     # CONFIGURATION OPTIONS HERE (note: all config options will override
     # any Pylons config options)
index e988c7b..8d40321 100644 (file)
@@ -19,8 +19,8 @@ class ArtController(BaseController):
     def new(self):
         """ New Art! """
         return render("/art/new.mako")
-        
-        
+
+
     def upload(self):
         print "PARAMS", request.params
         Art(uploaded_by=c.user, **request.params)
@@ -30,7 +30,7 @@ class ArtController(BaseController):
     def show(self, id):
         c.art = Art.get(id)
         return render("/art/show.mako")
-        
+
     def tag(self, id):
         art = Art.get(id)
         art.add_tags(request.params["tags"], c.user)
index 4fb3c8f..9b94869 100644 (file)
@@ -1,5 +1,5 @@
 from formencode import *
-from formencode import validators 
+from formencode import validators
 import pylons
 
 _ = validators._ # dummy translation string
@@ -14,29 +14,29 @@ class FilteringSchema(Schema):
 # Model-based validators
 
 class Unique(validators.FancyValidator):
-    
+
     """
     Checks if given value is unique to the model.Will check the state: if state object
     is the same as the instance, or the state contains a property with the same name
     as the context name. For example:
-    
+
     validator = validators.Unique(model.NewsItem, "title", context_name="news_item")
-    
+
     This will check if there is an existing instance with the same "title". If there
     is a matching instance, will check if the state passed into the validator is the
     same instance, or if the state contains a property "news_item" which is the same
     instance.
     """
-    
+
     __unpackargs__ = ('model', 'attr', "model_name", "context_name", "attribute_name")
     messages = {
         'notUnique' : _("%(modelName)s already exists with this %(attrName)s"),
     }
-    
+
     model_name = "Item"
     attribute_name = None
     context_name = None
-    
+
     def validate_python(self, value, state):
         instance = self.model.get_by(**{self.attr : value})
         if instance:
@@ -44,9 +44,9 @@ class Unique(validators.FancyValidator):
             if state != instance and \
                 getattr(state, context_name, None) != instance:
                 attr_name = self.attribute_name or self.attr
-                raise Invalid(self.message('notUnique', state, 
+                raise Invalid(self.message('notUnique', state,
                                            modelName=self.model_name,
-                                           attrName=attr_name), 
+                                           attrName=attr_name),
                               value, state)
+
 validators.Unique = Unique
index 4469394..90561d0 100644 (file)
@@ -20,21 +20,21 @@ guess_type(temp.filename)[0]
 
 def get_path(space, hash):
     return "/" + os.path.join( space, hash[:2], hash[2:] )
-    
 
-def save_file(space, temp):   
-     
+
+def save_file(space, temp):
+
     dest_root = os.path.join( config['app_conf']['static_root'], space )
-    
+
     # we don't know where we're going to save this stuff yet,
     # so I guess we'll write it to another tempfile.  One we know the path of.
-    # I'm assuming the tempfile we get from pylons is set to delete itself 
+    # I'm assuming the tempfile we get from pylons is set to delete itself
     # when it closes, and has no visible path.  Maybe I'm wrong?
     intermediate_file_descriptor, intermediate_path = tempfile.mkstemp()
-    
+
     # that function gives me an integer file descriptor for some reason.
     intermediate_file = os.fdopen(intermediate_file_descriptor, "wb")
-    
+
     sha1 = hashlib.sha1()
     while 1:
         data = temp.file.read(chunk_size)
index 0b2f3ec..8cec8ff 100644 (file)
@@ -7,15 +7,15 @@ from floof import model as model
 
 """
 This module can be used for loading data into your models, for example when setting up default application data,
-unit tests, JSON export/import and importing/exporting legacy data. Data is serialized to and from the JSON format. 
+unit tests, JSON export/import and importing/exporting legacy data. Data is serialized to and from the JSON format.
 """
 
 VALID_FIXTURE_FILE_EXTENSIONS = ['.json']
 
 def load_data(model, filename=None, base_dir=None):
-    """Installs provided fixture files into given model. Filename may be directory, file or list of dirs or files. If filename is 
-    None, assumes that source file is located in fixtures/model_module_name/model_tablename.yaml of your application directory, 
-    for example MyProject/fixtures/news/newsitems.yaml. The base_dir argument is the top package of the application unless 
+    """Installs provided fixture files into given model. Filename may be directory, file or list of dirs or files. If filename is
+    None, assumes that source file is located in fixtures/model_module_name/model_tablename.yaml of your application directory,
+    for example MyProject/fixtures/news/newsitems.yaml. The base_dir argument is the top package of the application unless
     specified. You can also pass the name of a table instead of a model class."""
 
     if type(model) is types.StringType:
@@ -28,17 +28,17 @@ def load_data(model, filename=None, base_dir=None):
 def load_data_to_table(table, filename=None, base_dir=None):
     """Installs data directly into a table. Useful if table does not have a corresponding model, for example a many-to-many join table.
     """
-    
+
     if filename is None:
         filename = _default_fixture_path_for_table(table, base_dir)
     _load_data_to_table(table, filename)
-    
+
 def dump_data(model, filename=None, **params):
-    """Dumps data to given destination. Params are optional arguments for selecting data. If filename is None, assumes that destination 
-    file is located in fixtures/model_module_name/model_name_lowercase.yaml of your application directory, for example 
+    """Dumps data to given destination. Params are optional arguments for selecting data. If filename is None, assumes that destination
+    file is located in fixtures/model_module_name/model_name_lowercase.yaml of your application directory, for example
     MyProject/fixtures/news/newsitem.yaml.
     """
-    
+
     if filename is None:
         filename = _default_fixture_path_for_model(model)
     _dump_data_to_file(model, filename, **params)
@@ -52,7 +52,7 @@ def _default_fixture_path_for_model(model, base_dir=None):
     module_dirs = model.__module__.split('.', 2)[-1].split('.')
     for dir in module_dirs:
         path = os.path.join(path, dir)
-    return os.path.join(path, model.table.name + '.json')    
+    return os.path.join(path, model.table.name + '.json')
 
 def _default_fixture_path_for_table(table, base_dir=None):
     if base_dir is None:
@@ -66,14 +66,14 @@ def _default_fixture_path_for_table(table, base_dir=None):
 def _is_fixture_file(filename):
     basename, ext = os.path.splitext(filename)
     return (ext.lower() in VALID_FIXTURE_FILE_EXTENSIONS)
-    
+
 def _load_data_from_dir(model, dirname):
     for dirpath, dirnames, filenames in os.walk(dirname):
         for filename in filenames:
             _load_data_from_file(model, filename)
-    
+
 def _load_data_from_file(model, filename):
-    if not _is_fixture_file(filename): 
+    if not _is_fixture_file(filename):
         return
     fp = file(filename, 'r')
     data = simplejson.load(fp)
@@ -86,11 +86,11 @@ def _load_data_from_file(model, filename):
     elif type(data) is types.DictType:
         retval = {}
         for key, item in data.iteritems():
-            retval[key] = _load_instance_from_dict(model, item)    
+            retval[key] = _load_instance_from_dict(model, item)
     return retval
 
 def _load_data_to_table(tablename, filename):
-    if not _is_fixture_file(filename): 
+    if not _is_fixture_file(filename):
         return
     fp = file(filename, 'r')
     data = simplejson.load(fp)
@@ -104,7 +104,7 @@ def _load_data_to_table(tablename, filename):
         for key, item in data.iteritems():
             table.insert(item).execute()
     return data
-    
+
 def _dump_data_to_file(model, filename, **params):
     if params:
         queryset = model.select_by(**params)
@@ -116,9 +116,9 @@ def _dump_data_to_file(model, filename, **params):
     fp = file(filename, 'w')
     simplejson.dump(data, fp)
     fp.close()
-    
+
 def _load_instance_from_dict(model, dict):
-    if not dict: return 
+    if not dict: return
     instance = model()
     fields = model._descriptor.fields.keys()
     for k, v in dict.iteritems():
@@ -135,5 +135,5 @@ def _dump_instance_to_dict(instance):
     for field in fields:
         d[field] = getattr(instance, field)
     return d
-       
+
 __all__ = ['load_data', 'dump_data']
index 84c3394..28e9176 100644 (file)
@@ -21,7 +21,7 @@ def get_object_or_404(model, **kw):
     from pylons.controllers.util import abort
     """
     Returns object, or raises a 404 Not Found is object is not in db.
-    Uses elixir-specific `get_by()` convenience function (see elixir source: 
+    Uses elixir-specific `get_by()` convenience function (see elixir source:
     http://elixir.ematia.de/trac/browser/elixir/trunk/elixir/entity.py#L1082)
     Example: user = get_object_or_404(model.User, id = 1)
     """
index 66cbe0b..fd80d93 100644 (file)
@@ -20,7 +20,7 @@ class Art(Entity):
     original_filename = Field(Unicode(120))
     hash = Field(String)
 
-    uploaded_by = ManyToOne('User')    
+    uploaded_by = ManyToOne('User')
     tags = OneToMany('Tag')
 
     # def __init__(self, **kwargs):
@@ -35,7 +35,7 @@ class Art(Entity):
 
     def set_file(self, file):
         self.hash = save_file("art", file)
-        
+
     file = property(get_path, set_file)
 
     def get_path(self):
@@ -77,11 +77,11 @@ class Tag(Entity):
         if not self.tagtext:
             return "(broken)"
         return unicode(self.tagtext)
-    
-    
+
+
 class TagText(Entity):
     text = Field(Unicode(50)) # gotta enforce this somehow
     tags = OneToMany('Tag')
-    
+
     def __unicode__(self):
         return self.text
\ No newline at end of file
index 68cb322..fc14a48 100644 (file)
@@ -73,7 +73,7 @@ def teardown():
 class TestModel(TestCase):
     def setUp(self):
         setup_all(True)
-    
+
     def tearDown(self):
         drop_all(engine)
 
index bd0228b..1c907f0 100644 (file)
@@ -10,4 +10,4 @@ class TestElixir(TestModel):
 
     def test_session(self):
         assert Session.connection().dialect.name is 'sqlite'
-    
+