mediagoblin.git
10 years agoAdd initial migration guide.
Berker Peksag [Thu, 2 Oct 2014 17:17:34 +0000 (20:17 +0300)]
Add initial migration guide.

This can be moved to docs/source/devel/migrations.rst.

10 years agoDo not call AlembicMigrationManager.init_tables() for now.
Berker Peksag [Thu, 2 Oct 2014 17:16:46 +0000 (20:16 +0300)]
Do not call AlembicMigrationManager.init_tables() for now.

sqlalchemy-migrate will do this for us.

10 years agoPort "gmg batchaddmedia" command to Python 3.
Berker Peksag [Thu, 2 Oct 2014 17:13:46 +0000 (20:13 +0300)]
Port "gmg batchaddmedia" command to Python 3.

10 years agoRestore exif-py to tox config, for now...
Christopher Allan Webber [Thu, 2 Oct 2014 15:51:37 +0000 (10:51 -0500)]
Restore exif-py to tox config, for now...

10 years agoFix #549 - Deauthorize OAuth applications
Jessica Tallon [Wed, 1 Oct 2014 18:45:53 +0000 (19:45 +0100)]
Fix #549 - Deauthorize OAuth applications

10 years agoFix migrations on Python 2.
Christopher Allan Webber [Tue, 30 Sep 2014 21:34:15 +0000 (16:34 -0500)]
Fix migrations on Python 2.

This commit sponsored by Loïc Grobol.  Thank you!

10 years agoFix #919 - Use class names in super call not self.__class__
Jessica Tallon [Tue, 30 Sep 2014 11:50:51 +0000 (12:50 +0100)]
Fix #919 - Use class names in super call not self.__class__

10 years agoFix #952 - Force the footer to the bottom of the page
Jessica Tallon [Tue, 30 Sep 2014 10:23:24 +0000 (11:23 +0100)]
Fix #952 - Force the footer to the bottom of the page

10 years agoAdd logging to console to gunicorn
Jessica Tallon [Tue, 30 Sep 2014 08:27:53 +0000 (09:27 +0100)]
Add logging to console to gunicorn

10 years agoMerge branch '942-default-location'
Jessica Tallon [Mon, 29 Sep 2014 08:04:30 +0000 (09:04 +0100)]
Merge branch '942-default-location'

* 942-default-location:
  Add documentation on changing data dir and Fix stylistic changes
  Updated config_spec.ini to add %(data_basedir)s and make use of it!
  defaults now pulled from a mashup of mediagoblin.ini and config_spec.ini

10 years agoAdd documentation on changing data dir and Fix stylistic changes
Jessica Tallon [Fri, 19 Sep 2014 13:15:11 +0000 (14:15 +0100)]
Add documentation on changing data dir and Fix stylistic changes

10 years agopdf tests: use our own pdf doc as GOOD_PDF
Alon Levy [Thu, 25 Sep 2014 21:47:08 +0000 (00:47 +0300)]
pdf tests: use our own pdf doc as GOOD_PDF

remove non distributable good.pdf

10 years ago.gitignore celerybeat-schedule.
Christopher Allan Webber [Thu, 25 Sep 2014 20:09:09 +0000 (15:09 -0500)]
.gitignore celerybeat-schedule.

This commit sponsored by Thomas Løcke.  Thank you!

10 years agoUpdated config_spec.ini to add %(data_basedir)s and make use of it!
Christopher Allan Webber [Sun, 10 Aug 2014 21:27:29 +0000 (16:27 -0500)]
Updated config_spec.ini to add %(data_basedir)s and make use of it!

This commit sponsored by Loïc Grobol.  Thanks!

10 years agodefaults now pulled from a mashup of mediagoblin.ini and config_spec.ini
Christopher Allan Webber [Sun, 10 Aug 2014 21:19:50 +0000 (16:19 -0500)]
defaults now pulled from a mashup of mediagoblin.ini and config_spec.ini

This commit sponsored by Thomas Løcke.  Thank you!

10 years agoAvoid doing python setup.py sdist, use setup.py develop instead for tox
Christopher Allan Webber [Wed, 24 Sep 2014 15:37:47 +0000 (10:37 -0500)]
Avoid doing python setup.py sdist, use setup.py develop instead for tox

Berker had this previously, but for some reason it wasn't
working... here's why!  usedevelop needs to be in the testenv!  Aha!

This commit sponsored by Gian-Maria Daffré!  Thank you!

10 years agoSwitch print statement to print function
Christopher Allan Webber [Wed, 24 Sep 2014 14:32:05 +0000 (09:32 -0500)]
Switch print statement to print function

10 years agoremoving exif-py line
Christopher Allan Webber [Tue, 23 Sep 2014 15:46:47 +0000 (10:46 -0500)]
removing exif-py line

10 years agoFix Content-Disposition error for retrieving OAuth request tokens
Jessica Tallon [Wed, 24 Sep 2014 10:53:33 +0000 (11:53 +0100)]
Fix Content-Disposition error for retrieving OAuth request tokens

10 years agoMaking alembic happen with python 3 only... for now.
Christopher Allan Webber [Mon, 22 Sep 2014 19:05:36 +0000 (14:05 -0500)]
Making alembic happen with python 3 only... for now.

We want to make sure it works nicely first.

10 years agoMerge branch 'merge-python3-port'
Christopher Allan Webber [Mon, 22 Sep 2014 18:58:13 +0000 (13:58 -0500)]
Merge branch 'merge-python3-port'

Conflicts:
setup.py

10 years agoMediaGoblin 0.7.2 development cycle
Christopher Allan Webber [Mon, 22 Sep 2014 18:38:00 +0000 (13:38 -0500)]
MediaGoblin 0.7.2 development cycle

10 years agoFixing bullet points, sigh
Christopher Allan Webber [Sun, 21 Sep 2014 20:52:37 +0000 (15:52 -0500)]
Fixing bullet points, sigh

10 years agoMediaGoblin 0.7.1!
Christopher Allan Webber [Sun, 21 Sep 2014 19:25:06 +0000 (14:25 -0500)]
MediaGoblin 0.7.1!

10 years agoAdding Low Kian Seong to AUTHORS
Christopher Allan Webber [Sun, 21 Sep 2014 17:41:00 +0000 (12:41 -0500)]
Adding Low Kian Seong to AUTHORS

10 years agoUpdated the release notes
Christopher Allan Webber [Sun, 21 Sep 2014 17:39:04 +0000 (12:39 -0500)]
Updated the release notes

10 years agoCommitting extracted and compiled translations
Christopher Allan Webber [Sun, 21 Sep 2014 16:08:49 +0000 (11:08 -0500)]
Committing extracted and compiled translations

10 years agoCommitting present MediaGoblin translations before pushing extracted messages
Christopher Allan Webber [Sun, 21 Sep 2014 16:08:22 +0000 (11:08 -0500)]
Committing present MediaGoblin translations before pushing extracted messages

10 years agodownload url removed
Christopher Allan Webber [Fri, 19 Sep 2014 21:54:10 +0000 (16:54 -0500)]
download url removed

10 years agoMerge remote-tracking branch 'refs/remotes/moggers87/garbage-branch'
Christopher Allan Webber [Fri, 19 Sep 2014 21:25:35 +0000 (16:25 -0500)]
Merge remote-tracking branch 'refs/remotes/moggers87/garbage-branch'

10 years agoTemporarily disable garbage collection
Christopher Allan Webber [Fri, 19 Sep 2014 20:56:26 +0000 (15:56 -0500)]
Temporarily disable garbage collection

We need to make sure we safely set up transactions here... it looks
pretty clearly like we aren't yet, so we need to review this.  This
should be re-enabled by 0.8.0.

10 years agoComment out the "check if the database is up to date" stuff
Christopher Allan Webber [Wed, 17 Sep 2014 23:07:50 +0000 (18:07 -0500)]
Comment out the "check if the database is up to date" stuff

... it's presently causing session issues :\

10 years agoLast two issues related to the python 3 merge tests: fixed!
Christopher Allan Webber [Tue, 16 Sep 2014 22:36:52 +0000 (17:36 -0500)]
Last two issues related to the python 3 merge tests: fixed!

 - Fix the "pulling the error out of excinfo" stuff for py3
 - The u"" only gets embedded in the string on py2.

This commit sponsored by Jeff Gibson.  Thanks, Jeff! :)

10 years agoModify deleteuser to fail gracefully
ayleph [Tue, 16 Sep 2014 22:29:09 +0000 (15:29 -0700)]
Modify deleteuser to fail gracefully

bin/gmg deleteuser will produce a traceback error if you attempt to delete a
user who does not exist. This commit provides a fix to allow deletuser to fail
gracefully.

This commit addresses https://issues.mediagoblin.org/ticket/969

10 years agoAnnnnd another json decode fix for py3! On a roll with these!
Christopher Allan Webber [Tue, 16 Sep 2014 20:35:23 +0000 (15:35 -0500)]
Annnnd another json decode fix for py3!  On a roll with these!

This commit sponsored by Ramana Kumar.  Thanks!

10 years agodecode to unicode before loading in json again, for py3
Christopher Allan Webber [Tue, 16 Sep 2014 20:33:46 +0000 (15:33 -0500)]
decode to unicode before loading in json again, for py3

This commit sponsored by Chris Cormack.  Thanks!

10 years agoMuch more nicely formed form error check
Christopher Allan Webber [Tue, 16 Sep 2014 20:25:30 +0000 (15:25 -0500)]
Much more nicely formed form error check

This doesn't rely on checking HTML output... thus, cleaner.

This commit sponsored by Alexandre Guédon.  Thank you!

10 years agoFix error check in test_edit.py for python 3
Christopher Allan Webber [Tue, 16 Sep 2014 20:15:13 +0000 (15:15 -0500)]
Fix error check in test_edit.py for python 3

This isn't the nicest of checks... we should probably be checking the
actual form passed into the context.  But for now, it's a fix.

10 years agoFix exception catching on python 3
Christopher Allan Webber [Tue, 16 Sep 2014 20:08:28 +0000 (15:08 -0500)]
Fix exception catching on python 3

This commit sponsored by Paul Smith.  Thank you!

10 years agoFix iteritems usage on python 3
Christopher Allan Webber [Tue, 16 Sep 2014 20:07:33 +0000 (15:07 -0500)]
Fix iteritems usage on python 3

This commit sponsored by Ben (Free Software Melbourne) Finney.  Thanks!

10 years agoThe scheduled garbage collection task was not being called due to it being misnamed
Matt Molyneaux [Tue, 16 Sep 2014 20:03:29 +0000 (21:03 +0100)]
The scheduled garbage collection task was not being called due to it being misnamed

Fix #968

10 years agojson.loads(request.body) => json.loads(response.body.decode()))
Christopher Allan Webber [Tue, 16 Sep 2014 19:56:13 +0000 (14:56 -0500)]
json.loads(request.body) => json.loads(response.body.decode()))

This fixes python 3 stuff.

This commit sponsored by James Reilly.  Thanks, James!

10 years agoImport mock correctly on py3
Christopher Allan Webber [Tue, 16 Sep 2014 19:46:02 +0000 (14:46 -0500)]
Import mock correctly on py3

This commit sponsored by Andrew McNicol.  Thank you!

10 years agoSimplify things here and use io.open
Christopher Allan Webber [Tue, 16 Sep 2014 19:37:52 +0000 (14:37 -0500)]
Simplify things here and use io.open

10 years agoFix test_legacy_api.py
Christopher Allan Webber [Tue, 16 Sep 2014 19:37:36 +0000 (14:37 -0500)]
Fix test_legacy_api.py

Or rather, reimplement one of Berker's fixes and add one of mine:
 - add back the http_auth_headers fix Berker wrote
 - decode to json when testing the response.body, since we have no
   idea what the order will be here

10 years agoImport mock from unittest if on py3
Christopher Allan Webber [Tue, 16 Sep 2014 19:26:40 +0000 (14:26 -0500)]
Import mock from unittest if on py3

10 years agoMerge branch 'master' into merge-python3-port
Christopher Allan Webber [Tue, 16 Sep 2014 19:01:43 +0000 (14:01 -0500)]
Merge branch 'master' into merge-python3-port

Has some issues, will iteratively fix!

Conflicts:
mediagoblin/gmg_commands/__init__.py
mediagoblin/gmg_commands/deletemedia.py
mediagoblin/gmg_commands/users.py
mediagoblin/oauth/views.py
mediagoblin/plugins/api/views.py
mediagoblin/tests/test_api.py
mediagoblin/tests/test_edit.py
mediagoblin/tests/test_oauth1.py
mediagoblin/tests/test_util.py
mediagoblin/tools/mail.py
mediagoblin/webfinger/views.py
setup.py

10 years agoTemporarily disabling the mediagoblin errors middleware
Christopher Allan Webber [Mon, 15 Sep 2014 19:26:57 +0000 (14:26 -0500)]
Temporarily disabling the mediagoblin errors middleware

We don't have paste (core) in py3, so....

10 years agoNo reason to wrap the rest of the options in a quote
Christopher Allan Webber [Mon, 15 Sep 2014 17:10:29 +0000 (12:10 -0500)]
No reason to wrap the rest of the options in a quote

This commit sponsored by Thane Williams.  Thank you!

10 years agoUpgrading gunicorn. Referenced issue is resolved.
Christopher Allan Webber [Mon, 15 Sep 2014 16:46:56 +0000 (11:46 -0500)]
Upgrading gunicorn.  Referenced issue is resolved.

Also, upgrading seems to fix weird
"RuntimeError: dictionary changed size during iteration" issues
I was seeing.  (Looked like a gunicorn issue, not ours.)

10 years agopy2.7 compatibility with open(..., encoding="utf-8"), use io.open
Christopher Allan Webber [Fri, 12 Sep 2014 17:29:12 +0000 (12:29 -0500)]
py2.7 compatibility with open(..., encoding="utf-8"), use io.open

This commit sponsored by Peter Baumgarten.  Thank you!

10 years agoExplicitly open READMEFILE as utf-8
Christopher Allan Webber [Fri, 12 Sep 2014 15:42:23 +0000 (10:42 -0500)]
Explicitly open READMEFILE as utf-8

10 years agoFix unicode error in pdf media type
Christopher Allan Webber [Fri, 12 Sep 2014 14:30:46 +0000 (09:30 -0500)]
Fix unicode error in pdf media type

(we're checking against bytestrings, so make that explicit)

10 years agoSet up tox.ini to run more properly:
Christopher Allan Webber [Thu, 11 Sep 2014 20:34:19 +0000 (15:34 -0500)]
Set up tox.ini to run more properly:

 - Don't run dbupdate... the tests themselves do this, and we might
   mess up someone's db
 - We shouldn't run setup.py develop because that installs a new
   *live* db... the tests do isolation, so...
 - Install the package's dependencies by the package itself... it
   seems that removing "skipsdist = True" fixes this
 - Run py.test manually rather than use runtests.sh (which itself uses
   ./bin/py.test if it can)

10 years agoMerge branch '945-well-known'
Jessica Tallon [Mon, 8 Sep 2014 16:55:03 +0000 (17:55 +0100)]
Merge branch '945-well-known'

* 945-well-known:
  Add /.well-known/webfinger API to lookup user hrefs
  Add XRD+XML formatting for /.well-known/host-meta

10 years agoAdd /.well-known/webfinger API to lookup user hrefs
Jessica Tallon [Mon, 8 Sep 2014 15:26:48 +0000 (16:26 +0100)]
Add /.well-known/webfinger API to lookup user hrefs

10 years agoRaw image mediatype had a non-unicode logging call
Odin Hørthe Omdal [Sun, 3 Aug 2014 16:07:28 +0000 (18:07 +0200)]
Raw image mediatype had a non-unicode logging call

Was causing UnicodeDecodeError when file/folder was not ascii.
Fixes bug #935.

10 years agoAdd __repr__ for Collection and CollectionItem
Odin Hørthe Omdal [Sun, 7 Sep 2014 10:56:13 +0000 (12:56 +0200)]
Add __repr__ for Collection and CollectionItem

10 years agoSlight tweak to the description wording
Christopher Allan Webber [Sun, 7 Sep 2014 14:39:01 +0000 (09:39 -0500)]
Slight tweak to the description wording

10 years agoUpdate setup.py
Low Kian Seong [Mon, 25 Aug 2014 23:06:01 +0000 (07:06 +0800)]
Update setup.py

A `description` is needed so that project is not listed as `UNKNOWN` on `pypi`

10 years agoHandle cr2 files through the raw_image media type
Christopher Allan Webber [Sat, 6 Sep 2014 15:56:27 +0000 (10:56 -0500)]
Handle cr2 files through the raw_image media type

This commit sponsored by Jim Campbell.  Hey, I know that guy!  Thanks
Jim! :)

10 years agoFixes navbar for sandyseventiesspeedboat
Jessica Tallon [Fri, 5 Sep 2014 15:00:06 +0000 (16:00 +0100)]
Fixes navbar for sandyseventiesspeedboat

10 years agoAdd XRD+XML formatting for /.well-known/host-meta
Jessica Tallon [Fri, 5 Sep 2014 13:13:49 +0000 (14:13 +0100)]
Add XRD+XML formatting for /.well-known/host-meta

10 years agonow in the 0.7.1.dev cycle
Christopher Allan Webber [Wed, 27 Aug 2014 18:28:51 +0000 (13:28 -0500)]
now in the 0.7.1.dev cycle

10 years agoCorrecting, host-meta not webfinger.
Christopher Allan Webber [Wed, 27 Aug 2014 17:27:04 +0000 (12:27 -0500)]
Correcting, host-meta not webfinger.

10 years agoRun the following to fix the missing git submodule init step
Christopher Allan Webber [Wed, 27 Aug 2014 17:26:23 +0000 (12:26 -0500)]
Run the following to fix the missing git submodule init step

10 years agoAlso add git submodule init to the release docs
Christopher Allan Webber [Tue, 26 Aug 2014 17:31:29 +0000 (12:31 -0500)]
Also add git submodule init to the release docs

10 years agoAt version 0.7.0, at last!
Christopher Allan Webber [Mon, 25 Aug 2014 20:31:55 +0000 (15:31 -0500)]
At version 0.7.0, at last!

10 years agoCommitting extracted and compiled translations
Christopher Allan Webber [Mon, 25 Aug 2014 19:44:41 +0000 (14:44 -0500)]
Committing extracted and compiled translations

10 years agoCommitting present MediaGoblin translations before pushing extracted messages
Christopher Allan Webber [Mon, 25 Aug 2014 19:44:17 +0000 (14:44 -0500)]
Committing present MediaGoblin translations before pushing extracted messages

10 years agoUpdating release notes.
Christopher Allan Webber [Mon, 25 Aug 2014 16:43:17 +0000 (11:43 -0500)]
Updating release notes.

10 years agonot yet, anyway.
Christopher Allan Webber [Fri, 22 Aug 2014 21:21:48 +0000 (16:21 -0500)]
not yet, anyway.

10 years agoBlog media type doc
Christopher Allan Webber [Fri, 22 Aug 2014 21:13:09 +0000 (16:13 -0500)]
Blog media type doc

10 years agoupdating ayleph to Andrew Browning
Christopher Allan Webber [Fri, 22 Aug 2014 20:01:23 +0000 (15:01 -0500)]
updating ayleph to Andrew Browning

10 years agoUpdating the AUTHORS file for this release
Christopher Allan Webber [Fri, 22 Aug 2014 19:58:22 +0000 (14:58 -0500)]
Updating the AUTHORS file for this release

10 years agoeek, should be python2 not python22
Christopher Allan Webber [Fri, 22 Aug 2014 14:54:55 +0000 (09:54 -0500)]
eek, should be python2 not python22

10 years agoMake blog_post_listing easier to read
Jessica Tallon [Tue, 19 Aug 2014 13:03:53 +0000 (14:03 +0100)]
Make blog_post_listing easier to read

This is Elronds change on #948. As 'blog_slug' is always
set in request.matchdict there is no need to do a default-none
get on the dictionary. This change just makes it easier to read.

10 years agoList blogs by URL user rather than request user
ayleph [Sat, 16 Aug 2014 17:45:58 +0000 (10:45 -0700)]
List blogs by URL user rather than request user

The blog_post_listing function in mediagoblin/media_types/blow/views.py
attempts to access blogs based on the requesting user rather than the url
user. This results in server errors when an unauthenticated user attempts to
follow a link from another user's blog post listing, and 404 errors when an
authenticated user attempts to follow a link from another user's blog post
listing.

This change bases blog post listings on the URL user rather than the request
user.

10 years agoAdd docs on collection_add_media hook.
Elrond [Mon, 18 Aug 2014 22:56:37 +0000 (00:56 +0200)]
Add docs on collection_add_media hook.

10 years agoStart for documenting core hooks.
Elrond [Mon, 18 Aug 2014 22:39:33 +0000 (00:39 +0200)]
Start for documenting core hooks.

This is basicly a start by Chris Webber, I'm just commiting
it for him.

10 years agoAdd new hook 'collection_add_media'
Odin Hørthe Omdal [Sun, 17 Aug 2014 20:22:00 +0000 (22:22 +0200)]
Add new hook 'collection_add_media'

10 years agoTidy up federation code and add tests to cover more of the APIs
Jessica Tallon [Tue, 5 Aug 2014 21:04:50 +0000 (22:04 +0100)]
Tidy up federation code and add tests to cover more of the APIs

10 years agoUse oauthlib's safe characters when generating client_key and client_secret
Jessica Tallon [Tue, 5 Aug 2014 20:41:31 +0000 (21:41 +0100)]
Use oauthlib's safe characters when generating client_key and client_secret

10 years agoFix a python2.6 compatibility issue. Removing a dict comprehension.
Christopher Allan Webber [Mon, 18 Aug 2014 15:40:08 +0000 (10:40 -0500)]
Fix a python2.6 compatibility issue.  Removing a dict comprehension.

This commit sponsored by Christopher Beppler.  Thanks!

10 years agoAlways remove the session when running check_db_up_to_date()
Christopher Allan Webber [Fri, 15 Aug 2014 21:23:15 +0000 (16:23 -0500)]
Always remove the session when running check_db_up_to_date()

This commit sponsored by Francois Marier.  Thank you!

10 years agoImplement ServeCommand.{loadserver, loadapp}.
Berker Peksag [Fri, 15 Aug 2014 20:07:35 +0000 (23:07 +0300)]
Implement ServeCommand.{loadserver, loadapp}.

This is partly port from PasteScript.

10 years agoAdd an initial "gmg serve" implementation.
Berker Peksag [Fri, 15 Aug 2014 20:02:22 +0000 (23:02 +0300)]
Add an initial "gmg serve" implementation.

The CLI is similar to "paster serve".

10 years agoRestore different server options.
Berker Peksag [Fri, 15 Aug 2014 19:35:22 +0000 (22:35 +0300)]
Restore different server options.

10 years agoImprove mediagoblin._compat.py2_unicode.
Berker Peksag [Fri, 15 Aug 2014 15:57:48 +0000 (18:57 +0300)]
Improve mediagoblin._compat.py2_unicode.

- Encode obj.__repr__() to bytestring if its type is unicode in Python 2.
- Add internal encode_to_utf8() decorator.
- Do not raise an exception if a class does not have an __str__() method,
  just warn.

10 years agoMove the AlembicMigrationManager to top of the module.
Berker Peksag [Fri, 15 Aug 2014 12:40:35 +0000 (15:40 +0300)]
Move the AlembicMigrationManager to top of the module.

Also, add a simple docstring.

10 years agoProvide a better manager API for Alembic.
Berker Peksag [Fri, 15 Aug 2014 12:39:45 +0000 (15:39 +0300)]
Provide a better manager API for Alembic.

10 years agoAdd initial Alembic migrations.
Berker Peksag [Wed, 13 Aug 2014 16:30:23 +0000 (19:30 +0300)]
Add initial Alembic migrations.

10 years agoFix dict.keys() in Python 3.
Berker Peksag [Wed, 13 Aug 2014 16:27:49 +0000 (19:27 +0300)]
Fix dict.keys() in Python 3.

10 years agoFix a comment.
Berker Peksag [Wed, 13 Aug 2014 16:27:23 +0000 (19:27 +0300)]
Fix a comment.

10 years agoForgot to add starttls_config.ini
Jessica Tallon [Tue, 12 Aug 2014 20:47:23 +0000 (21:47 +0100)]
Forgot to add starttls_config.ini

10 years agoFix #861 - Add unit test and documentation for email_smtp_force_starttls
Jessica Tallon [Tue, 12 Aug 2014 15:56:08 +0000 (16:56 +0100)]
Fix #861 - Add unit test and documentation for email_smtp_force_starttls

10 years agoElrond keeps pointing out places I should "is not None" at :)
Christopher Allan Webber [Fri, 8 Aug 2014 18:24:59 +0000 (13:24 -0500)]
Elrond keeps pointing out places I should "is not None" at :)

10 years agoOkay, we don't know that indexes are falsey, so let's make it clearer. Yeek!
Christopher Allan Webber [Fri, 8 Aug 2014 18:18:57 +0000 (13:18 -0500)]
Okay, we don't know that indexes are falsey, so let's make it clearer.  Yeek!

10 years agothis negation needs parens.
Christopher Allan Webber [Fri, 8 Aug 2014 18:12:33 +0000 (13:12 -0500)]
this negation needs parens.

10 years agoPull the indexes out of the dictionary directly
Christopher Allan Webber [Fri, 8 Aug 2014 16:39:44 +0000 (11:39 -0500)]
Pull the indexes out of the dictionary directly

Instead of checking for their keys and pulling them out later, that is.