Commit Graph

81 Commits

Author SHA1 Message Date
Isaac Bythewood
50d61af22a Move to bootstrap 3, better design, move all vendor items local. 2013-09-24 23:02:00 +00:00
Isaac Bythewood
795a905596 Added Original URL and Pin URL to lightbox of items. 2013-09-24 19:24:12 +00:00
Isaac Bythewood
a4f3adc2df Updated requirements and other items in preps of new pinry version 2013-09-22 03:33:50 +00:00
Isaac Bythewood
70a797c5af Update feeds to meet PEP requirements and minor adjustments to base.html 2013-09-22 00:32:52 +00:00
Isaac Bythewood
85d099fa94 Finish up feed implementation. 2013-09-21 05:21:17 -04:00
Isaac Bythewood
3affd088fa Adding rss feed for latest pins. 2013-09-21 04:28:41 -04:00
Krzysztof Klimonda
7db42bb075 Generate thumbnails when image is being saved
Too lax unique constraints for Thumbnail coped with "on demand" thumbnail
generation may leave database in inconsistent state where two thumbnail for
the same size are saved. We should be able to prevent that from happening
by generating all thumbnails when we save the image. Should fix #24, but
I can't figure out a way to actually test it.
2013-04-16 00:30:43 +02:00
Krzysztof Klimonda
c0bf9d992e Make sure that users can't impersonate each other when creating pins
We weren't checking if the Pin submitter is the logged user which made it possible
to pass any submitter to the Pin resource create call. Fix it, and make the submitter
optional.
2013-04-05 19:34:31 +02:00
Krzysztof Klimonda
3b10868832 Open binary files in the binary mode
Make sure that we are using binary mode to read binary files like images, this Fixes #20
2013-04-05 19:10:17 +02:00
Krzysztof Klimonda
e71452c68f Use a relative path for the test image
It's part of the issue #20 (weird path on Windows). Django File class used
a full file path which resulted in path like C:\Example\pinry\static\C:\... which
is obviously invalid.
2013-03-27 21:07:22 +01:00
Krzysztof Klimonda
fea9ea2f0e Commit an initial South migration.
It is a milestone of sort, from now on we're commited to write
correct two-way migrations for our code. It's one of the last
things to be done before an official v1.0 release.
2013-03-19 20:41:37 +01:00
Krzysztof Klimonda
494f7fbd8c Fix test by mocking requests.get function 2013-03-19 15:41:55 +01:00
Krzysztof Klimonda
98876bb0bd Use requests library instead of raw urllib2
This commit is a foundation upon a more robust image fetching code
will be built in the future, and it already fixes at least one weird
issue I've seen.
2013-03-19 15:22:20 +01:00
Krzysztof Klimonda
e0e0ac1679 Remove /by-md5/ prefix from image paths
Use forked django-images for now, until we can communicate with the
upstream about it. Fixes #4
2013-03-19 14:43:31 +01:00
Krzysztof Klimonda
4580a700ab Use media/ for files created during tests. Fixes #2 2013-03-05 01:58:11 -08:00
Krzysztof Klimonda
26b6805b6f Replace screenshot.png with logo.png in tests 2013-03-05 01:32:57 -08:00
Krzysztof Klimonda
10c9b35700 Even though not used, import models for Factory Boy 2013-03-05 01:28:39 -08:00
Isaac Bythewood
b63544905e Remove screenshot that is outdated and no longer needed, add full AGPL license and update api.py to use logo image instead of screenshot for testing 2013-03-05 01:53:46 +00:00
Krzysztof Klimonda
26f9c76988 Don't use FACTORY_FOR when not needed 2013-03-04 15:33:09 -08:00
Krzysztof Klimonda
7a85f1b514 Use post_generation hooks to populate models with some data
Factory Boy provides us with a better way of populating complicated
fields (like M2M relations) than overriding _prepare class method,
so we should be using them.
2013-03-04 14:58:54 -08:00
Krzysztof Klimonda
ef818b7f82 Rewrite tests to use a Model mocker library
There has been issues when running a full test suite (for pinry and
the entire Django stack), and test fixtures are hard to maintain anyway,
so rewrite tests to use a Model mocker library (Factory Boy) to populate
database.
2013-03-04 12:06:00 -08:00
Krzysztof Klimonda
856d2d1e87 Allow filtering pins over submitter.username 2013-03-03 14:51:19 -08:00
Isaac Bythewood
c7e1e1cd83 Move location of users middleware 2013-03-03 22:50:29 +00:00
Isaac Bythewood
248bd25a04 Move private to users, add user filtering to JS 2013-03-03 22:47:25 +00:00
Krzysztof Klimonda
cae9fa96be Write some more tests for all code 2013-03-03 10:09:33 -08:00
Krzysztof Klimonda
fbfd7e0239 CreateImage.get should always return HttpResponse 2013-03-03 10:08:26 -08:00
Krzysztof Klimonda
e5bd3d577d Clean-up PinResource.build_filters method 2013-03-03 09:11:26 -08:00
Krzysztof Klimonda
03e05906f8 Reorganize core package tests into modules 2013-03-03 09:10:42 -08:00
Krzysztof Klimonda
5b777b7e14 Move the Authentication backend to the users package 2013-03-03 09:09:13 -08:00
Krzysztof Klimonda
d0d68545ca Add "origin" field to the Pin model
"origin" is an optional field that stores the URI for the site
that the image has been saved from, it's going to be used only from
bookmarklet. Fixes #63
2013-03-03 08:25:42 -08:00
Krzysztof Klimonda
8c3599911e In PinResource.save_m2m do nothing when no tags 2013-03-03 06:22:16 -08:00
Krzysztof Klimonda
6e78ce12ea post-refactor test fixture update 2013-03-03 05:47:35 -08:00
Krzysztof Klimonda
995b69168b use old paths for pin urls 2013-03-03 05:19:19 -08:00
Krzysztof Klimonda
6e41296d57 Move test fixtures to the correct location 2013-03-03 04:59:44 -08:00
Krzysztof Klimonda
559f054985 Write more tests for the ImageResource 2013-03-03 04:59:44 -08:00
Krzysztof Klimonda
53f05dbb6d A general project refactor
Removed pins django app, and moved code to the core. Moved user related
code out of core to the users app.
2013-03-03 04:47:34 -08:00
Krzysztof Klimonda
cf86da266a Add a very simplistic Pin access control for the API
As pointed in issue #75 we should get away with just checking if the pin
submitter is the currently logged in user. Assuming that we can implement
authorization for updating and deleting pins rather easily by subclassing
DjangoAuthorization so it passes the object to the Authorization backend.
2013-03-02 17:00:58 -08:00
Krzysztof Klimonda
a0e11a949e Add a small (125x125px) square thumbnail
This is going to be used by a "similar images" feature #74
2013-03-02 16:12:29 -08:00
Krzysztof Klimonda
e70d9079ec Login newly registered user
Rewritten register view using CBV approach, and added a authenticate/login
call after form has been validated and user created. Fixes #65
2013-03-02 12:26:54 -08:00
Krzysztof Klimonda
57aefc7d97 Mock out Files using the commited screenshot.png file for tests 2013-03-02 11:06:53 -08:00
Isaac Bythewood
fa7e8c3b83 Get basic working bookmarklet and refactor API into core 2013-02-26 23:20:50 +00:00
Isaac Bythewood
4e431e2a88 Refactor templates and and make includes for upcoming python file refactor into core and user. Also making templates easier to edit and read overall. 2013-02-26 03:27:41 +00:00
Krzysztof Klimonda
d462bfb83b A major RESTful API rewrite
Rewritten API to handle creating pins for both urls
and previously-uploaded images. Added some tests for it.
2013-02-25 15:10:15 -08:00
Krzysztof Klimonda
e2a38f8a10 Add image dimensions to the API and the third image size
There has been some refactoring going on in the pinry.pins.models module.
The upload_to code has been refactored into its own function, images
have been moved to their own models - otherwise the number of fields
in the Pin model would skyrocket. Also ModelManagers have been written
to move image fetching and generating outside of models.
2013-02-23 21:12:11 +01:00
Isaac Bythewood
a7d571a509 Remove a bunch of old vender files, refactor locations of static and template files, force api limit on calls 2013-02-23 02:23:58 +00:00
Krzysztof Klimonda
92b54799da Allow authentication with both Username and Email 2013-02-22 15:26:43 +01:00
Isaac Bythewood
899de27165 Now using gravatars on the interface under posts beside names 2013-02-22 02:54:04 +00:00
Krzysztof Klimonda
270cfb7ee7 Expose a gravatar hash for account via the Rest API 2013-02-22 01:28:56 +01:00
Krzysztof Klimonda
ba8a8ca7c6 Remove a backported verbatim tag now that we are using Django 1.5 2013-02-21 22:02:11 +01:00
Krzysztof Klimonda
9b20671fac Properly quote url template tag arguments
A version of url introduced in Django 1.3 requires the view argument to be quoted. This change
has taken effect in Django 1.5 so the code needs updating to work with it.
2013-02-21 21:01:04 +01:00