Commit Graph

112 Commits

Author SHA1 Message Date
rr- 4cb613a5c9 server/posts: change reverse image search API
Add exact duplicates search; refactor to use classes over dictionaries
2017-01-07 14:07:31 +01:00
rr- a7a5cc8180 server/posts: expose reverse image search 2016-12-26 15:00:16 +01:00
rr- e71718c50d server/posts: add replaceContent to post merging 2016-10-21 22:34:45 +02:00
rr- 9d6a0e0173 server/posts: add post merging 2016-10-21 21:48:38 +02:00
rr- 7fa8593b0a client/general: improve URL escaping
Specifically, cater for /, + and % in URL components.
2016-09-04 02:07:22 +02:00
rr- eff0e002f2 server/info: increase hdd usage cache time to 48h 2016-08-31 22:22:06 +02:00
rr- ef0f74297f server/tag-categories: fix default categories
- Don't cache default category in its entirety - cache only its name
- Purge cache on category name changes and default category changes
- Lock records for updates where applicable
2016-08-27 12:39:59 +02:00
rr- ffb87f1650 server/posts: defer flush; save content lazily
Rather than flushing the post right away only to find out that there
were validation errors, try to postpone flushing for as long as
possible.

The previous behavior has led to too eager spending of post IDs - each
flush calls nextval(post_id_seq), and postgres sequences are not
affected by transaction rollbacks, so each erroneous post creation
discarded a post ID, which has led to gaps in post IDs.
2016-08-26 15:09:08 +02:00
rr- 73a8542220 server/posts: make anon snapshots for anon uploads 2016-08-22 20:07:39 +02:00
rr- b7e9cbd541 server/posts: allow tagless posts 2016-08-21 23:40:01 +02:00
rr- 80af79779d server/snapshots: rewrite 2016-08-16 21:51:25 +02:00
rr- 0320a0b55b server/general: improve versioning effectiveness
...by integrating it with sqlalchemy that adds WHERE conditions for each
UPDATE and DELETE statement.
2016-08-16 17:22:33 +02:00
rr- 9aea55e3d1 server/general: embrace most of PEP8
Ignored only the rules about continuing / hanging indentation.

Also, added __init__.py to tests so that pylint discovers them. (I don't
buy pytest's BS about installing your package.)
2016-08-14 16:44:03 +02:00
rr- af62f8c45a server/general: ditch falcon for in-house WSGI app
For quite some time, I hated Falcon's class maps approach that caused
more chaos than good for Szurubooru. I've taken a look at the other
frameworks (hug, flask, etc) again, but they all looked too
bloated/over-engineered. I decided to just talk to WSGI myself.

Regex-based routing may not be the fastest in the world, but I'm fine
with response time of 10 ms for cached /posts.
2016-08-14 16:43:35 +02:00
rr- 53e96ba41f server/tests: add func.tag_categories tests 2016-08-14 16:43:35 +02:00
rr- 2b3d193b7c server/tags: don't auto-create tag categories 2016-08-14 11:38:59 +02:00
rr- 8d04df38fd server/general: add entity versions 2016-08-07 09:55:51 +02:00
rr- 5092c2c587 server/posts: respect tag creating privilege 2016-08-02 12:44:38 +02:00
rr- ff189a3915 server/posts: fix deleting post with comments 2016-08-02 12:27:01 +02:00
rr- f40e41ae8b server/tags: allow deleting used tags 2016-07-30 13:43:15 +02:00
rr- ac23067fdf server/general: use UTC time stamps 2016-07-03 14:46:28 +02:00
rr- aa0463dafb server/tags: improve creation privilege check 2016-06-23 12:51:44 +02:00
rr- 7eec347bca server/tags: add description field 2016-06-23 00:15:25 +02:00
rr- 3c3d0dbb8d server/info: expose a few config variables 2016-06-18 10:55:44 +02:00
rr- 162904bfc3 server/info: add serverTime field 2016-06-12 14:26:52 +02:00
rr- 616854fb1b server/users: let authorized users GET themselves 2016-06-11 17:36:02 +02:00
rr- b5aa3e75c4 server/comments: fix privileges 2016-06-11 17:36:02 +02:00
rr- dfb2e3d027 server/posts: add getting posts around id
Leave undocumented since it add almost no value for the client
applications.
2016-06-08 22:38:35 +02:00
rr- f3bb6c28a1 server/general: cosmetic fixes 2016-06-05 10:39:56 +02:00
rr- 508cb6e7ab server/posts: allow anonymous uploads (#90) 2016-06-05 10:30:10 +02:00
rr- 59ad5fe402 server/search: refactor, extract parsing 2016-06-03 19:47:09 +02:00
rr- 037fbc61ec server/api: add ability to select fields 2016-05-30 23:08:22 +02:00
rr- 8d1e23aa63 server/general: flatten responses 2016-05-30 22:54:33 +02:00
rr- d0314813cb server/general: move extra details to resources 2016-05-30 22:54:33 +02:00
rr- abef6e5c35 server/info: return who featured the post and when 2016-05-29 12:41:22 +02:00
rr- 77998f1660 server/tags: let mods set default category 2016-05-22 22:17:11 +02:00
rr- fa14bf714c server/tags: create snapshots for automatic tags 2016-05-22 22:17:11 +02:00
rr- cf3b97b8de server/tags: change response key
Since we're using "results" everywhere else, it makes little sense for
tag siblings to use "siblings" node.
2016-05-22 11:05:18 +02:00
rr- 82d32ba1fb server/tags: fix removing tags related to others 2016-05-11 23:47:50 +02:00
rr- a5b2d835d6 server/tags: fix wrong case in merging requests 2016-05-11 18:42:56 +02:00
rr- 2bd02f4921 server/users: fix detecting duplicate user names 2016-05-08 18:04:05 +02:00
rr- 58964bcdc9 server/posts: add post listing 2016-05-07 21:50:37 +02:00
rr- 9b591c3f1b server/posts: remember source for URL content 2016-05-05 13:46:57 +02:00
rr- 148858fde9 server/middleware: download files 2016-05-05 13:46:50 +02:00
rr- e632324f72 server/posts: add post updating 2016-05-02 21:58:13 +02:00
rr- ce095816d9 server/posts: add post creating 2016-05-02 00:07:33 +02:00
rr- a567974784 server/general: refactor method names 2016-04-30 23:54:05 +02:00
rr- da5b32feeb server/users: fix hiding email from admins etc 2016-04-29 13:16:16 +02:00
rr- 83cc7a568d server/posts: add post (un)favoriting 2016-04-28 19:04:44 +02:00
rr- 0b20132a2f server/api + docs/api: organize responses 2016-04-28 18:20:50 +02:00