1) MediaComment's author method conflicts with the author
field. So rename it to get_author.
2) Turn it from a normal function into a python property.
That means you call it by ".get_author" not by
".get_author()". This is exactly what sqlalchemy gives
us free of charge.
This is relevant for fcgi:
Some servers (cherokee for example) put "HTTP":"off" in the
environ. And the following code in urlgen breaks on this:
if environ.get('HTTPS') or environ.get('wsgi.url_scheme') == 'https' \
or environ.get('HTTP_X_FORWARDED_PROTO') == 'https':
hostinfo['protocol'] = 'https'
workaround is to remove HTTPS:off from the environ.
* remotes/joar/webfinger:
Added references to docstring in mediagoblin.webfinger
Removed mediagoblin.tools.feed which was accidentally included
Polishing the webfinger implementation
webfinger fully compliant with webfinger.org! Still *preliminary* solution.
Changed some thngs to be compatible with webfinger.org, still *very preliminary*
Added *very preliminary* support for webfinger
- Changed quotes in the templates from " to '
- Changed all link generation to use request.urlgen
- Moved xrd links data generation from template to view
- Added parsing of the account URI using urlparse
Starting to move the mongo specific stuff into db/mongo.
And create thin "from db.mongo.Y import z" wrappers in
db/Y.py.
Why?
1) Will make it lots easier to switch to sql for
testing/developing.
2) The mongo stuff needs to stay around after moving to
sql, because the converter needs it.
In trying to ease the migration to SQL, created an
interface to sqlalchemy that looks a lot like the interface
that is currently in use.
*WARNING* Work in progress
This is just a start at a Migration tool from Mongo to SQL.
It fills all currently available SQL models with data from
MongoDB. A few fields in the SQL tables are left out,
because some data format migrations are needed (notably:
queue_file_name).
This thing lives in mediagoblin/db/sql/convert.py because
it has a lot of stuff hardcoded and is not, repeat not for
end users!
Hard coded:
- output database: ./mediagoblin.db (sqlite)
- Mediagoblin config: ./mediagoblin.ini
Run bin/python mediagoblin/db/sql/models.py and watch the
create tables on a memory sqlite db.
Also unicode strings need unicode defauls. Warning by
sqlalchemy.
* sql/dot-notation:
Dot-Notation for MediaEntry.media_data
Dot-Notation for MediaEntry.media_type
Dot-Notation for MediaEntry.description(_html)
Dot-Notation for MediaEntry.slug
Dot-Notation for MediaEntry.title
Dot-Notation for MediaEntry.uploader
Dot-Notation for MediaEntry.created
Dot-Notation: tests/test_edit.py
Dot-Notation for Users.fp_token_expire
Dot-Notation for Users.fp_verification_key
Dot-Notation for Users.bio and .bio_html
Dot-Notation for Users.url
Dot-Notation for Users.is_admin
Dot-Notation for Users.verification_key
Dot-Notation for Users.status
Dot-Notation for Users.email_verified
Dot-Notation for Users.pw_hash
Dot-Notation for Users.email
Dot-Notation for Users.username
If nose isn't installed, then runtests.sh says it can't find nosetests
and exits, but doesn't tell you what you need to do to fix the situation.
This fixes that.