Whitespace and formatting cleanup.
authorNathan Yergler <nathan@yergler.net>
Sat, 1 Oct 2011 22:10:02 +0000 (15:10 -0700)
committerNathan Yergler <nathan@yergler.net>
Sat, 1 Oct 2011 22:10:02 +0000 (15:10 -0700)
* Removed trailing whitespace
* Line length < 80 where possible
* Honor conventions on number of blank lines
* Honor conventions about spaces around :, =

38 files changed:
mediagoblin/app.py
mediagoblin/auth/forms.py
mediagoblin/auth/lib.py
mediagoblin/auth/routing.py
mediagoblin/auth/views.py
mediagoblin/db/__init__.py
mediagoblin/db/indexes.py
mediagoblin/db/migrations.py
mediagoblin/db/models.py
mediagoblin/db/open.py
mediagoblin/db/util.py
mediagoblin/decorators.py
mediagoblin/edit/__init__.py
mediagoblin/edit/views.py
mediagoblin/gmg_commands/__init__.py
mediagoblin/gmg_commands/import_export.py
mediagoblin/gmg_commands/migrate.py
mediagoblin/gmg_commands/users.py
mediagoblin/init/__init__.py
mediagoblin/init/celery/__init__.py
mediagoblin/init/celery/from_celery.py
mediagoblin/init/config.py
mediagoblin/listings/routing.py
mediagoblin/listings/views.py
mediagoblin/messages.py
mediagoblin/middleware/noop.py
mediagoblin/process_media/__init__.py
mediagoblin/process_media/errors.py
mediagoblin/storage/cloudfiles.py
mediagoblin/submit/__init__.py
mediagoblin/submit/security.py
mediagoblin/submit/views.py
mediagoblin/user_pages/__init__.py
mediagoblin/user_pages/views.py
mediagoblin/util.py
mediagoblin/views.py
mediagoblin/workbench.py
setup.py

index dd5f0b892c7423b92958e10e50f79d126fdac16e..9bbccf24f846f88ceeecd902888625dbfad1fa41 100644 (file)
@@ -91,7 +91,7 @@ class MediaGoblinApp(object):
         # object.
         #######################################################
 
-        setup_globals(app = self)
+        setup_globals(app=self)
 
         # Workbench *currently* only used by celery, so this only
         # matters in always eager mode :)
@@ -101,7 +101,6 @@ class MediaGoblinApp(object):
         self.middleware = [util.import_component(m)(self)
                            for m in middleware.ENABLED_MIDDLEWARE]
 
-
     def __call__(self, environ, start_response):
         request = Request(environ)
 
index 6339b4a35ddd2f2fee0dedd1c95d90c829c17bd3..aadb58881b7cd799ff8830cd790ac03b780a79f2 100644 (file)
@@ -59,9 +59,10 @@ class ForgotPassForm(wtforms.Form):
         'Username or email',
         [wtforms.validators.Required()])
 
-    def validate_username(form,field):
-        if not (re.match(r'^\w+$',field.data) or
-               re.match(r'^.+@[^.].*\.[a-z]{2,10}$',field.data, re.IGNORECASE)):
+    def validate_username(form, field):
+        if not (re.match(r'^\w+$', field.data) or
+               re.match(r'^.+@[^.].*\.[a-z]{2,10}$', field.data,
+                        re.IGNORECASE)):
             raise wtforms.ValidationError(u'Incorrect input')
 
 
@@ -82,4 +83,3 @@ class ChangePassForm(wtforms.Form):
     token = wtforms.HiddenField(
         '',
         [wtforms.validators.Required()])
-
index d7d351a5f5af32ab6841a216150af83b9e08813f..0ecccbb526e3b3bda893333d53b50c606d581afa 100644 (file)
@@ -93,6 +93,7 @@ EMAIL_VERIFICATION_TEMPLATE = (
     u"http://{host}{uri}?"
     u"userid={userid}&token={verification_key}")
 
+
 def send_verification_email(user, request):
     """
     Send the verification email to users to activate their accounts.
@@ -127,6 +128,7 @@ EMAIL_FP_VERIFICATION_TEMPLATE = (
     u"http://{host}{uri}?"
     u"userid={userid}&token={fp_verification_key}")
 
+
 def send_fp_verification_email(user, request):
     """
     Send the verification email to users to change their password.
@@ -150,4 +152,3 @@ def send_fp_verification_email(user, request):
         [user['email']],
         'GNU MediaGoblin - Change forgotten password!',
         rendered_email)
-
index 912d89fa5ef701d323a614ff5663feb7b6887bb5..365ccfaacaee4ab89c33185981ce2e5bd22d6782 100644 (file)
@@ -33,7 +33,8 @@ auth_routes = [
           controller='mediagoblin.views:simple_template_render'),
     Route('mediagoblin.auth.forgot_password', '/forgot_password/',
           controller='mediagoblin.auth.views:forgot_password'),
-    Route('mediagoblin.auth.verify_forgot_password', '/forgot_password/verify/',
+    Route('mediagoblin.auth.verify_forgot_password',
+          '/forgot_password/verify/',
           controller='mediagoblin.auth.views:verify_forgot_password'),
     Route('mediagoblin.auth.fp_changed_success',
           '/forgot_password/changed_success/',
index f67f0588f2b6f091889e378123ab329986679900..afcfcf1e0b003e4ac548aa3f81c45269df11219f 100644 (file)
@@ -233,8 +233,7 @@ def forgot_password(request):
                     request, 'mediagoblin.user_pages.user_home',
                     user=user['username'])
 
-
-        # do not reveal whether or not there is a matching user, just move along
+        # do not reveal whether or not there is a matching user
         return redirect(request, 'mediagoblin.auth.fp_email_sent')
 
     return render_to_response(
index c5124b1a5d7320a7317ad8a62ab9e64bac849c6d..27e8a90f28f1364a822502407f429501537d00a1 100644 (file)
@@ -23,7 +23,7 @@ Database Abstraction/Wrapper Layer
   pymongo.  Read beow for why, but note that nobody is actually doing
   this and there's no proof that we'll ever support more than
   MongoDB... it would be a huge amount of work to do so.
-  
+
   If you really want to prove that possible, jump on IRC and talk to
   us about making such a branch.  In the meanwhile, it doesn't hurt to
   have things as they are... if it ever makes it hard for us to
index 75394a31d63cc40ad01691c86d4c9c5a2260f2b2..1dd73f2bf4671ba86bdcd67fb05b2ebfba48a6ae 100644 (file)
@@ -93,8 +93,9 @@ MEDIAENTRY_INDEXES = {
                   ('created', DESCENDING)]},
 
     'state_uploader_tags_created': {
-        # Indexing on processed?, media uploader, associated tags, and timestamp
-        # Used for showing media items matching a tag search, most recent first.
+        # Indexing on processed?, media uploader, associated tags, and
+        # timestamp Used for showing media items matching a tag
+        # search, most recent first.
         'index': [('state', ASCENDING),
                   ('uploader', ASCENDING),
                   ('tags.slug', DESCENDING),
index 755f49c556e489481dbbd5f1b7697fdb14a8e209..28bb62fcee0296b382e094cdc4a8fe57348ec3e6 100644 (file)
@@ -87,7 +87,7 @@ def mediaentry_add_fail_error_and_metadata(database):
         {'fail_error': {'$exists': False}},
         {'$set': {'fail_error': None}},
         multi=True)
-    
+
     collection.update(
         {'fail_metadata': {'$exists': False}},
         {'$set': {'fail_metadata': {}}},
index bbddada676d048982d28516c497af5ac3e4dbcae..42db3f838d48f6a4b2b622c785094f1428f1ca59 100644 (file)
@@ -14,7 +14,8 @@
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-import datetime, uuid
+import datetime
+import uuid
 
 from mongokit import Document
 
@@ -69,17 +70,17 @@ class User(Document):
         'username': unicode,
         'email': unicode,
         'created': datetime.datetime,
-        'plugin_data': dict, # plugins can dump stuff here.
+        'plugin_data': dict,  # plugins can dump stuff here.
         'pw_hash': unicode,
         'email_verified': bool,
         'status': unicode,
         'verification_key': unicode,
         'is_admin': bool,
-        'url' : unicode,
-        'bio' : unicode,     # May contain markdown
-        'bio_html': unicode, # May contain plaintext, or HTML
-        'fp_verification_key': unicode, # forgotten password verification key
-        'fp_token_expire': datetime.datetime
+        'url': unicode,
+        'bio': unicode,      # May contain markdown
+        'bio_html': unicode,  # May contain plaintext, or HTML
+        'fp_verification_key': unicode,  # forgotten password verification key
+        'fp_token_expire': datetime.datetime,
         }
 
     required_fields = ['username', 'created', 'pw_hash', 'email']
@@ -174,8 +175,8 @@ class MediaEntry(Document):
        critical to this piece of media but may be usefully relevant to people
        viewing the work.  (currently unused.)
 
-     - fail_error: path to the exception raised 
-     - fail_metadata: 
+     - fail_error: path to the exception raised
+     - fail_metadata:
     """
     __collection__ = 'media_entries'
 
@@ -184,11 +185,11 @@ class MediaEntry(Document):
         'title': unicode,
         'slug': unicode,
         'created': datetime.datetime,
-        'description': unicode, # May contain markdown/up
-        'description_html': unicode, # May contain plaintext, or HTML
+        'description': unicode,  # May contain markdown/up
+        'description_html': unicode,  # May contain plaintext, or HTML
         'media_type': unicode,
-        'media_data': dict, # extra data relevant to this media_type
-        'plugin_data': dict, # plugins can dump stuff here.
+        'media_data': dict,  # extra data relevant to this media_type
+        'plugin_data': dict,  # plugins can dump stuff here.
         'tags': [dict],
         'state': unicode,
 
@@ -220,7 +221,8 @@ class MediaEntry(Document):
         return self.db.MediaComment.find({
                 'media_entry': self['_id']}).sort('created', DESCENDING)
 
-    def get_display_media(self, media_map, fetch_order=DISPLAY_IMAGE_FETCHING_ORDER):
+    def get_display_media(self, media_map,
+                          fetch_order=DISPLAY_IMAGE_FETCHING_ORDER):
         """
         Find the best media for display.
 
@@ -273,7 +275,7 @@ class MediaEntry(Document):
         """
         Provide a url to the previous entry from this user, if there is one
         """
-        cursor = self.db.MediaEntry.find({'_id' : {"$gt": self['_id']},
+        cursor = self.db.MediaEntry.find({'_id': {"$gt": self['_id']},
                                           'uploader': self['uploader'],
                                           'state': 'processed'}).sort(
                                                     '_id', ASCENDING).limit(1)
@@ -286,7 +288,7 @@ class MediaEntry(Document):
         """
         Provide a url to the next entry from this user, if there is one
         """
-        cursor = self.db.MediaEntry.find({'_id' : {"$lt": self['_id']},
+        cursor = self.db.MediaEntry.find({'_id': {"$lt": self['_id']},
                                           'uploader': self['uploader'],
                                           'state': 'processed'}).sort(
                                                     '_id', DESCENDING).limit(1)
@@ -353,4 +355,3 @@ def register_models(connection):
     Register all models in REGISTER_MODELS with this connection.
     """
     connection.register(REGISTER_MODELS)
-
index e73b6258e55b5ae4d218fb08f646c91280de6855..e677ba12128340a624e93d61ccd6a820a4ab0bf0 100644 (file)
@@ -29,7 +29,7 @@ def connect_database_from_config(app_config, use_pymongo=False):
     port = app_config.get('db_port')
     if port:
         port = asint(port)
-    
+
     if use_pymongo:
         connection = pymongo.Connection(
             app_config.get('db_host'), port)
index 84a6cbce929e5dd56570c88d17bfbbe4da55ac7f..38f0233f9daa1c291fe428809fd79f1d7c17f5e2 100644 (file)
@@ -118,11 +118,12 @@ def remove_deprecated_indexes(database, deprecated_indexes=DEPRECATED_INDEXES):
 #################
 
 # The default migration registry...
-# 
+#
 # Don't set this yourself!  RegisterMigration will automatically fill
 # this with stuff via decorating methods in migrations.py
 
-class MissingCurrentMigration(Exception): pass
+class MissingCurrentMigration(Exception):
+    pass
 
 
 MIGRATIONS = {}
index 7d5978fc86e34825fb409daf28d05d3f35bc1e9a..204ac47aaa71ae2b6db25fa8f466385bb0adb274 100644 (file)
@@ -119,6 +119,7 @@ def get_user_media_entry(controller):
 
     return _make_safe(wrapper, controller)
 
+
 def get_media_entry_by_id(controller):
     """
     Pass in a MediaEntry based off of a url component
@@ -138,4 +139,3 @@ def get_media_entry_by_id(controller):
         return controller(request, media=media, *args, **kwargs)
 
     return _make_safe(wrapper, controller)
-
index 576bd0f580e3480aaf49894091bdf3e18f736501..ba347c6979b58f5ccb9d22ee21d5adcbb495a815 100644 (file)
@@ -13,5 +13,3 @@
 #
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
index 15edfdd617e3c9c4413448acb26feab036d7efbe..d15461c0785beeabdea0364e00ee03b67872c4ca 100644 (file)
@@ -119,7 +119,7 @@ def edit_attachments(request, media):
                     name=request.POST['attachment_name'] \
                         or request.POST['attachment_file'].filename,
                     filepath=attachment_public_filepath,
-                    created=datetime.utcnow()
+                    created=datetime.utcnow(),
                     ))
 
             media.save()
index 0071c65b680cec24649065b7377dae9e3829ec2d..b3f69ccccad0394ba61c52c3acbca9bf6b8c1a5a 100644 (file)
@@ -28,7 +28,7 @@ SUBCOMMAND_MAP = {
         'setup': 'mediagoblin.gmg_commands.migrate:migrate_parser_setup',
         'func': 'mediagoblin.gmg_commands.migrate:migrate',
         'help': 'Apply all unapplied bulk migrations to the database'},
-    'adduser':{
+    'adduser': {
         'setup': 'mediagoblin.gmg_commands.users:adduser_parser_setup',
         'func': 'mediagoblin.gmg_commands.users:adduser',
         'help': 'Creates an user'},
@@ -80,4 +80,3 @@ def main_cli():
 
 if __name__ == '__main__':
     main_cli()
-
index 05edbfc80f918a2b7932d30f6c7baf304f75fd14..962e545c6a16b8113e9e32751bbcb5ec2b93126a 100644 (file)
@@ -91,7 +91,7 @@ def _import_database(db, args):
             args.mongorestore_path,
             '-d', db.name,
             os.path.join(args._cache_path['database'], db.name)])
-    
+
     p.wait()
 
     _log.info('...Database imported')
@@ -229,7 +229,8 @@ def env_export(args):
     '''
     if args.cache_path:
         if os.path.exists(args.cache_path):
-            _log.error('The cache directory must not exist before you run this script')
+            _log.error('The cache directory must not exist '
+                       'before you run this script')
             _log.error('Cache directory: {0}'.format(args.cache_path))
 
             return False
@@ -245,7 +246,7 @@ def env_export(args):
     globa_config, app_config = setup_global_and_app_config(args.conf_file)
 
     setup_storage()
-    
+
     connection, db = setup_connection_and_db_from_config(
         app_config, use_pymongo=True)
 
index 1a597188fb94d5c331b3bd1d15750a140418e221..e6dd6f788ba03f2834dcab470a0f89f2d6092527 100644 (file)
@@ -55,13 +55,13 @@ def migrate(args):
     for collection, index_name in removed_indexes:
         print "Removed index '%s' in collection '%s'" % (
             index_name, collection)
-    
+
     # Migrate
     print "\n== Applying migrations... =="
     migration_manager.migrate_new(
         pre_callback=_print_started_migration,
         post_callback=_print_finished_migration)
-            
+
     # Add new indexes
     print "\n== Adding new indexes... =="
     new_indexes = db_util.add_new_indexes(db)
index 5421907db4f8d2552ca84784806c11a6d966cc6e..3fda0e32310f83a4267aac46135cdf1f950c7e75 100644 (file)
@@ -41,7 +41,7 @@ def adduser(args):
     db = mg_globals.database
     users_with_username = \
         db.User.find({
-            'username': args.username.lower()
+            'username': args.username.lower(),
         }).count()
 
     if users_with_username:
@@ -74,7 +74,7 @@ def makeadmin(args):
 
     db = mg_globals.database
 
-    user = db.User.one({'username':unicode(args.username.lower())})
+    user = db.User.one({'username': unicode(args.username.lower())})
     if user:
         user['is_admin'] = True
         user.save()
@@ -100,11 +100,10 @@ def changepw(args):
 
     db = mg_globals.database
 
-    user = db.User.one({'username':unicode(args.username.lower())})
+    user = db.User.one({'username': unicode(args.username.lower())})
     if user:
         user['pw_hash'] = auth_lib.bcrypt_gen_password_hash(args.password)
         user.save()
         print 'Password successfully changed'
     else:
         print 'The user doesn\'t exist'
-
index b7f52595d515e89870cf3dcf228309c359b10e69..f21e2fdd7c1c78514520db06eab50e8e026f0ae3 100644 (file)
@@ -29,8 +29,12 @@ from mediagoblin.workbench import WorkbenchManager
 from mediagoblin.storage import storage_system_from_config
 
 
-class Error(Exception): pass
-class ImproperlyConfigured(Error): pass
+class Error(Exception):
+    pass
+
+
+class ImproperlyConfigured(Error):
+    pass
 
 
 def setup_global_and_app_config(config_path):
@@ -76,8 +80,8 @@ def setup_database():
                 "in fact they appear to be from the future?!")
 
     setup_globals(
-        db_connection = connection,
-        database = db)
+        db_connection=connection,
+        database=db)
 
     return connection, db
 
@@ -126,8 +130,8 @@ def setup_storage():
     queue_store = storage_system_from_config(global_config[key_long])
 
     setup_globals(
-        public_store = public_store,
-        queue_store = queue_store)
+        public_store=public_store,
+        queue_store=queue_store)
 
     return public_store, queue_store
 
@@ -137,7 +141,7 @@ def setup_workbench():
 
     workbench_manager = WorkbenchManager(app_config['workbench_path'])
 
-    setup_globals(workbench_manager = workbench_manager)
+    setup_globals(workbench_manager=workbench_manager)
 
 
 def setup_beaker_cache():
index c58b130520cef6944541093b8f8c8b00cbd246ce..21ce1d395d628eb58a06a8a9d72641506513ccdc 100644 (file)
@@ -84,6 +84,6 @@ def setup_celery_from_config(app_config, global_config,
 
     for key, value in celery_settings.iteritems():
         setattr(this_module, key, value)
-    
+
     if set_environ:
         os.environ['CELERY_CONFIG_MODULE'] = settings_module
index 3e5adb98a5d89ef0018c0a503141e602d70e5f76..05669b67d68d51145b26321dfae740daeb8d5a5f 100644 (file)
@@ -44,7 +44,7 @@ def setup_self(check_environ_for_conf=True, module_name=OUR_MODULENAME,
     if not os.path.exists(mgoblin_conf_file):
         raise IOError(
             "MEDIAGOBLIN_CONFIG not set or file does not exist")
-        
+
     # By setting the environment variable here we should ensure that
     # this is the module that gets set up.
     os.environ['CELERY_CONFIG_MODULE'] = module_name
index 029a09565fe601878dfb832612100da7ea36208a..ae232e91cff6421d43cdaa945ea8202b2138f45d 100644 (file)
@@ -73,7 +73,7 @@ def read_mediagoblin_config(config_path, config_spec=CONFIG_SPEC_PATH):
     # For now the validator just works with the default functions,
     # but in the future if we want to add additional validation/configuration
     # functions we'd add them to validator.functions here.
-    # 
+    #
     # See also:
     #   http://www.voidspace.org.uk/python/validate.html#adding-functions
     validator = Validator()
index b72bd01519000b3ff4bc04df4b38c5454b126854..234f25954129107c6b23e83d8367d31b6f19208f 100644 (file)
@@ -25,4 +25,3 @@ tag_routes = [
     Route('mediagoblin.listings.tag_atom_feed', "/{tag}/atom/",
         controller="mediagoblin.listings.views:tag_atom_feed"),
     ]
-    
index b3384eb4fb6113600df73cd9a884626e65703d3f..2d61ee9b927084c0ff224332324417d8e5157ead 100644 (file)
@@ -46,7 +46,7 @@ def tag_listing(request, page):
         {u'state': u'processed',
          u'tags.slug': tag_slug})
     cursor = cursor.sort('created', DESCENDING)
-         
+
     pagination = Pagination(page, cursor)
     media_entries = pagination()
 
@@ -63,6 +63,7 @@ def tag_listing(request, page):
 
 ATOM_DEFAULT_NR_OF_UPDATED_ITEMS = 15
 
+
 def tag_atom_feed(request):
     """
     generates the atom feed with the tag images
index dc82fbf6436ac09a5139d2a2a1414945dee56d46..054d46c04a3b61d9338d53f4ee776bdbc3d6c883 100644 (file)
@@ -20,11 +20,13 @@ SUCCESS = 'success'
 WARNING = 'warning'
 ERROR = 'error'
 
+
 def add_message(request, level, text):
     messages = request.session.setdefault('messages', [])
     messages.append({'level': level, 'text': text})
     request.session.save()
 
+
 def fetch_messages(request, clear_from_session=True):
     messages = request.session.get('messages')
     if messages and clear_from_session:
index 283802325f15542e3b667585d4b49169821f8438..820b5d9e49adce4bce5d91b95f16309266d7b988 100644 (file)
@@ -14,6 +14,7 @@
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+
 class NoOpMiddleware(object):
 
     def __init__(self, mg_app):
index 2b9eed6e111a051afe1001262caa85c17305a9c7..9a7d5c39b8b64d8cf6c119ca40d62d7648352a2f 100644 (file)
@@ -65,9 +65,10 @@ class ProcessMedia(Task):
         """
         If the processing failed we should mark that in the database.
 
-        Assuming that the exception raised is a subclass of BaseProcessingFail,
-        we can use that to get more information about the failure and store that
-        for conveying information to users about the failure, etc.
+        Assuming that the exception raised is a subclass of
+        BaseProcessingFail, we can use that to get more information
+        about the failure and store that for conveying information to
+        users about the failure, etc.
         """
         entry_id = args[0]
         mark_entry_failed(entry_id, exc)
@@ -80,10 +81,10 @@ def mark_entry_failed(entry_id, exc):
     """
     Mark a media entry as having failed in its conversion.
 
-    Uses the exception that was raised to mark more information.  If the
-    exception is a derivative of BaseProcessingFail then we can store extra
-    information that can be useful for users telling them why their media failed
-    to process.
+    Uses the exception that was raised to mark more information.  If
+    the exception is a derivative of BaseProcessingFail then we can
+    store extra information that can be useful for users telling them
+    why their media failed to process.
 
     Args:
      - entry_id: The id of the media entry
@@ -164,7 +165,8 @@ def process_image(entry):
     with queued_file:
         original_filepath = create_pub_filepath(entry, queued_filepath[-1])
 
-        with mgg.public_store.get_file(original_filepath, 'wb') as original_file:
+        with mgg.public_store.get_file(original_filepath, 'wb') \
+            as original_file:
             original_file.write(queued_file.read())
 
     mgg.queue_store.delete_file(queued_filepath)
index 156f0a0163cc2e01d5cde6a9fc786be570c9a9dd..cb236154ab0c1ab5a562c5e75a2644e6eab8da92 100644 (file)
 
 from mediagoblin.util import lazy_pass_to_ugettext as _
 
+
 class BaseProcessingFail(Exception):
     """
     Base exception that all other processing failure messages should
     subclass from.
-  
+
     You shouldn't call this itself; instead you should subclass it
     and provid the exception_path and general_message applicable to
     this error.
     """
     general_message = u''
-  
+
     @property
     def exception_path(self):
         return u"%s:%s" % (
@@ -34,8 +35,8 @@ class BaseProcessingFail(Exception):
 
     def __init__(self, **metadata):
         self.metadata = metadata or {}
-  
-  
+
+
 class BadMediaFail(BaseProcessingFail):
     """
     Error that should be raised when an inappropriate file was given
index b1dd945010710f1ae96c393fc0d647017fc1c624..0d3cc3df6756ab751bdbeec0553d519cfb7e1e45 100644 (file)
@@ -27,6 +27,7 @@ from mediagoblin.storage import StorageInterface, clean_listy_filepath
 import cloudfiles
 import mimetypes
 
+
 class CloudFilesStorage(StorageInterface):
     '''
     OpenStack/Rackspace Cloud's Swift/CloudFiles support
index 576bd0f580e3480aaf49894091bdf3e18f736501..ba347c6979b58f5ccb9d22ee21d5adcbb495a815 100644 (file)
@@ -13,5 +13,3 @@
 #
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
index 9d62a36e3464ded811dd472a36061a372d9b33b6..6708baf75feadd91e67dff462752959e6183165e 100644 (file)
@@ -16,9 +16,9 @@
 
 from mimetypes import guess_type
 
-
 ALLOWED = ['image/jpeg', 'image/png', 'image/tiff', 'image/gif']
 
+
 def check_filetype(posted_file):
     if not guess_type(posted_file.filename)[0] in ALLOWED:
         return False
index e24d78f3427a09c8484ee431673a54dbb690174d..22a13b6d1681bf67f3b4ae041ef2dbf9c397d48d 100644 (file)
@@ -61,8 +61,8 @@ def submit_start(request):
             entry['description'] = unicode(request.POST.get('description'))
             entry['description_html'] = cleaned_markdown_conversion(
                 entry['description'])
-            
-            entry['media_type'] = u'image' # heh
+
+            entry['media_type'] = u'image'  # heh
             entry['uploader'] = request.user['_id']
 
             # Process the user's folksonomy "tags"
@@ -90,8 +90,10 @@ def submit_start(request):
 
             # We generate this ourselves so we know what the taks id is for
             # retrieval later.
-            # (If we got it off the task's auto-generation, there'd be a risk of
-            # a race condition when we'd save after sending off the task)
+
+            # (If we got it off the task's auto-generation, there'd be
+            # a risk of a race condition when we'd save after sending
+            # off the task)
             task_id = unicode(uuid.uuid4())
             entry['queued_task_id'] = task_id
 
@@ -113,8 +115,8 @@ def submit_start(request):
                 # expect a lot of users to run things in this way we have to
                 # capture stuff here.
                 #
-                # ... not completely the diaper pattern because the exception is
-                # re-raised :)
+                # ... not completely the diaper pattern because the
+                # exception is re-raised :)
                 mark_entry_failed(entry[u'_id'], exc)
                 # re-raise the exception
                 raise
@@ -122,7 +124,7 @@ def submit_start(request):
             add_message(request, SUCCESS, _('Woohoo! Submitted!'))
 
             return redirect(request, "mediagoblin.user_pages.user_home",
-                            user = request.user['username'])
+                            user=request.user['username'])
 
     return render_to_response(
         request,
index 576bd0f580e3480aaf49894091bdf3e18f736501..ba347c6979b58f5ccb9d22ee21d5adcbb495a815 100644 (file)
@@ -13,5 +13,3 @@
 #
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
index 6a82d718b6dc25950b9b0540c895a5c6660b9458..e6ba6b797fc8ed5b98c4d7ab3ff22d7126976cc1 100644 (file)
@@ -53,7 +53,7 @@ def user_home(request, page):
     #if no data is available, return NotFound
     if media_entries == None:
         return render_404(request)
-    
+
     user_gallery_url = request.urlgen(
         'mediagoblin.user_pages.user_gallery',
         user=user['username'])
@@ -66,6 +66,7 @@ def user_home(request, page):
          'media_entries': media_entries,
          'pagination': pagination})
 
+
 @uses_pagination
 def user_gallery(request, page):
     """'Gallery' of a User()"""
@@ -85,7 +86,7 @@ def user_gallery(request, page):
     #if no data is available, return NotFound
     if media_entries == None:
         return render_404(request)
-    
+
     return render_to_response(
         request,
         'mediagoblin/user_pages/gallery.html',
@@ -95,6 +96,7 @@ def user_gallery(request, page):
 
 MEDIA_COMMENTS_PER_PAGE = 50
 
+
 @get_user_media_entry
 @uses_pagination
 def media_home(request, media, page, **kwargs):
@@ -142,8 +144,8 @@ def media_post_comment(request):
         'Comment posted!')
 
     return redirect(request, 'mediagoblin.user_pages.media_home',
-        media = request.matchdict['media'],
-        user = request.matchdict['user'])
+        media=request.matchdict['media'],
+        user=request.matchdict['user'])
 
 
 @get_user_media_entry
@@ -184,6 +186,7 @@ def media_confirm_delete(request, media):
 
 ATOM_DEFAULT_NR_OF_UPDATED_ITEMS = 15
 
+
 def atom_feed(request):
     """
     generates the atom feed with the newest images
@@ -204,7 +207,7 @@ def atom_feed(request):
     feed = AtomFeed(request.matchdict['user'],
                feed_url=request.url,
                url=request.host_url)
-    
+
     for entry in cursor:
         feed.add(entry.get('title'),
             entry.get('description_html'),
index 7ff3ec7f81ba38559850ef84cb4077ae0b812c90..4132b4975ad41162a0c3cf2bd8bdf72308ddbad7 100644 (file)
@@ -45,6 +45,8 @@ from itertools import izip, count
 DISPLAY_IMAGE_FETCHING_ORDER = [u'medium', u'original', u'thumb']
 
 TESTS_ENABLED = False
+
+
 def _activate_testing():
     """
     Call this to activate testing in util.py
@@ -78,7 +80,7 @@ SETUP_JINJA_ENVS = {}
 
 def get_jinja_env(template_loader, locale):
     """
-    Set up the Jinja environment, 
+    Set up the Jinja environment,
 
     (In the future we may have another system for providing theming;
     for now this is good enough.)
@@ -147,7 +149,7 @@ def render_to_response(request, template, context, status=200):
 
 def redirect(request, *args, **kwargs):
     """Returns a HTTPFound(), takes a request and then urlgen params"""
-    
+
     querystring = None
     if kwargs.get('querystring'):
         querystring = kwargs.get('querystring')
@@ -197,6 +199,7 @@ def import_component(import_string):
 
 _punct_re = re.compile(r'[\t !"#$%&\'()*\-/<=>?@\[\\\]^_`{|},.]+')
 
+
 def slugify(text, delim=u'-'):
     """
     Generates an ASCII-only slug. Taken from http://flask.pocoo.org/snippets/5/
@@ -213,7 +216,7 @@ def slugify(text, delim=u'-'):
 ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 # We have two "test inboxes" here:
-# 
+#
 # EMAIL_TEST_INBOX:
 # ----------------
 #   If you're writing test views, you'll probably want to check this.
@@ -233,7 +236,7 @@ def slugify(text, delim=u'-'):
 # ***IMPORTANT!***
 # ----------------
 # Before running tests that call functions which send email, you should
-# always call _clear_test_inboxes() to "wipe" the inboxes clean. 
+# always call _clear_test_inboxes() to "wipe" the inboxes clean.
 
 EMAIL_TEST_INBOX = []
 EMAIL_TEST_MBOX_INBOX = []
@@ -253,6 +256,7 @@ class FakeMhost(object):
              'to': to_addrs,
              'message': message})
 
+
 def _clear_test_inboxes():
     global EMAIL_TEST_INBOX
     global EMAIL_TEST_MBOX_INBOX
@@ -263,6 +267,7 @@ def _clear_test_inboxes():
 ### </Special email test stuff>
 ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+
 def send_email(from_addr, to_addrs, subject, message_body):
     """
     Simple email sending wrapper, use this so we can capture messages
@@ -418,7 +423,7 @@ def convert_to_tag_list_of_dicts(tag_string):
 
         # Split the tag string into a list of tags
         for tag in stripped_tag_string.split(
-                                       mg_globals.app_config['tags_delimiter']):
+                mg_globals.app_config['tags_delimiter']):
 
             # Ignore empty or duplicate tags
             if tag.strip() and tag.strip() not in [t['name'] for t in taglist]:
@@ -437,12 +442,13 @@ def media_tags_as_string(media_entry_tags):
     media_tag_string = ''
     if media_entry_tags:
         media_tag_string = mg_globals.app_config['tags_delimiter'].join(
-                                      [tag['name'] for tag in media_entry_tags])
+            [tag['name'] for tag in media_entry_tags])
     return media_tag_string
 
 TOO_LONG_TAG_WARNING = \
     u'Tags must be shorter than %s characters.  Tags that are too long: %s'
 
+
 def tag_length_validator(form, field):
     """
     Make sure tags do not exceed the maximum tag length.
@@ -460,6 +466,7 @@ def tag_length_validator(form, field):
 
 MARKDOWN_INSTANCE = markdown.Markdown(safe_mode='escape')
 
+
 def cleaned_markdown_conversion(text):
     """
     Take a block of text, run it through MarkDown, and clean its HTML.
@@ -474,6 +481,7 @@ def cleaned_markdown_conversion(text):
 
 SETUP_GETTEXTS = {}
 
+
 def setup_gettext(locale):
     """
     Setup the gettext instance based on this locale
@@ -558,6 +566,7 @@ def fake_ugettext_passthrough(string):
 
 PAGINATION_DEFAULT_PER_PAGE = 30
 
+
 class Pagination(object):
     """
     Pagination class for mongodb queries.
@@ -574,9 +583,9 @@ class Pagination(object):
         Args:
          - page: requested page
          - per_page: number of objects per page
-         - cursor: db cursor 
-         - jump_to_id: ObjectId, sets the page to the page containing the object
-           with _id == jump_to_id.
+         - cursor: db cursor
+         - jump_to_id: ObjectId, sets the page to the page containing the
+           object with _id == jump_to_id.
         """
         self.page = page
         self.per_page = per_page
@@ -594,7 +603,6 @@ class Pagination(object):
                     self.active_id = jump_to_id
                     break
 
-
     def __call__(self):
         """
         Returns slice of objects for the requested page
@@ -628,20 +636,18 @@ class Pagination(object):
                 last = num
 
     def get_page_url_explicit(self, base_url, get_params, page_no):
-        """ 
-        Get a page url by adding a page= parameter to the base url
-        """ 
+        """Get a page url by adding a page= parameter to the base url
+        """
         new_get_params = copy.copy(get_params or {})
         new_get_params['page'] = page_no
         return "%s?%s" % (
             base_url, urllib.urlencode(new_get_params))
 
     def get_page_url(self, request, page_no):
-        """ 
-        Get a new page url based of the request, and the new page number.
+        """Get a new page url based of the request, and the new page number.
 
         This is a nice wrapper around get_page_url_explicit()
-        """ 
+        """
         return self.get_page_url_explicit(
             request.path_info, request.GET, page_no)
 
@@ -682,6 +688,7 @@ def render_404(request):
     return render_to_response(
         request, 'mediagoblin/404.html', {}, status=400)
 
+
 def delete_media_files(media):
     """
     Delete all files associated with a MediaEntry
index 96687f9680d97a1df0df7dd01c719f466041a526..afa6ac912712c1b4a89d362d0140469025fa4fa0 100644 (file)
@@ -19,6 +19,7 @@ from mediagoblin.util import render_to_response, Pagination
 from mediagoblin.db.util import DESCENDING
 from mediagoblin.decorators import uses_pagination
 
+
 @uses_pagination
 def root_view(request, page):
     cursor = request.db.MediaEntry.find(
index 722f8e27445e32a53f12f2e909b2135badb5793e..60a79f470aace36f0b69c1a881d8fbffa3c29293 100644 (file)
@@ -42,8 +42,10 @@ class Workbench(object):
 
     def __unicode__(self):
         return unicode(self.dir)
+
     def __str__(self):
         return str(self.dir)
+
     def __repr__(self):
         return repr(self.dir)
 
@@ -140,7 +142,7 @@ class WorkbenchManager(object):
         self.base_workbench_dir = os.path.abspath(base_workbench_dir)
         if not os.path.exists(self.base_workbench_dir):
             os.makedirs(self.base_workbench_dir)
-        
+
     def create_workbench(self):
         """
         Create and return the path to a new workbench (directory).
index 066269265b08f75b20ffb9d6b2e71b81ca490bbf..11c8fe6c27a243cf8374cf8aae8b6774d1fd1210 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -29,16 +29,17 @@ def get_version():
     if mo:
         return mo.group(1)
     else:
-        raise RuntimeError("Unable to find version string in %s." % VERSIONFILE)
+        raise RuntimeError("Unable to find version string in %s." %
+                           VERSIONFILE)
 
 
 setup(
-    name = "mediagoblin",
-    version = get_version(),
+    name="mediagoblin",
+    version=get_version(),
     packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
     zip_safe=False,
     # scripts and dependencies
-    install_requires = [
+    install_requires=[
         'setuptools',
         'PasteScript',
         'beaker',
@@ -66,7 +67,7 @@ setup(
         # 'lxml',
         ],
     test_suite='nose.collector',
-    entry_points = """\
+    entry_points="""\
         [console_scripts]
         gmg = mediagoblin.gmg_commands:main_cli
         pybabel = mediagoblin.babel.messages.frontend:main
@@ -83,7 +84,6 @@ setup(
         [babel.extractors]
         jinja2 = jinja2.ext:babel_extract
         """,
     license='AGPLv3',
     author='Free Software Foundation and contributors',
     author_email='cwebber@gnu.org',