Commit Graph

59 Commits

Author SHA1 Message Date
rr- 4bc58a3c95 server: lint 2017-04-24 23:30:53 +02:00
rr- 7044d2aaee server/posts: ignore old elasticsearch results 2017-03-12 18:30:42 +01:00
rr- ad842ee8a5 server: refactor + add type hinting
- Added type hinting (for now, 3.5-compatible)
- Split `db` namespace into `db` module and `model` namespace
- Changed elastic search to be created lazily for each operation
- Changed to class based approach in entity serialization to allow
  stronger typing
- Removed `required` argument from `context.get_*` family of functions;
  now it's implied if `default` argument is omitted
- Changed `unalias_dict` implementation to use less magic inputs
2017-02-05 16:34:45 +01:00
rr- abf1fc2b2d server: make linters happier 2017-02-03 22:42:14 +01:00
rr- fd30675124 server/image-hash: do not depend on image-match
While I hold this library in great esteem for its excellent work on
implementing the original paper, I have several problems with it:

- as of this commit, it (again) has bug fixes unreleased on pip
- its code is badly structured
    - forces OOP and then proceeds @staticmethod everything
    - bad class design, parameters are repeated in several places
    - terrible contract of make_record() and generate_signature()
    - ambiguous parameters: path vs. image path vs. image content
    - doesn't adhere to PEP-8
- depends on cairo just to render svg images almost no one uses this
  library with
2017-02-03 21:20:52 +01:00
rr- f828c375e6 server/posts: fix reverse search late evaluation
Uploading webms caused 'Not an image.' error to be shown, cause
generators are evaluated lazily, so the `catch` never worked.
2017-02-02 21:52:52 +01:00
rr- 07d0b43d4c server/posts: reduce warnings from sqlalchemy
...regarding empty IN() statements
2017-02-02 19:46:03 +01:00
rr- 0cfc9bcafd server/posts: fix handling corrupt files
In case of a ProcessingError, the image dimensions are set to None. But
after that, they are compared with 0, which resulted in a TypeError.
2017-01-25 17:11:05 +01:00
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- 9edaaffec2 server/posts: fix post relations
Trying to relate post to itself resulted in 500 ISE.
2017-01-03 21:37:38 +01:00
rr- 1a59a74d63 server/image-hash: add image search engine 2016-12-26 15:00:16 +01:00
rr- 141c9fcdc9 server/tags: merge also tag relations 2016-10-22 18:02:50 +02: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- b853caf6f5 server/posts: fix relation updating
Fixes #103
2016-10-02 17:21:15 +02:00
rr- 8674c8b50e server/posts: report duplicate post ID and URL 2016-09-10 10:16:14 +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- 28bcbd33b9 server/posts: use SHA1 checksums
This changes the checksums to ones that are compatible with 1.x, which
relieves the migration script from recalculating the checksums for all
the posts.
2016-08-20 13:06:19 +02:00
rr- 80af79779d server/snapshots: rewrite 2016-08-16 21:51:25 +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- f6f07a35df server/general: authenticated_user->auth_user 2016-08-14 16:43:04 +02:00
rr- c2bbf7b62c server/general: add assertions 2016-08-14 16:43:04 +02:00
rr- bb86e9bf56 server/posts: add more safety checks for notes 2016-08-14 16:43:04 +02:00
rr- 8d04df38fd server/general: add entity versions 2016-08-07 09:55:51 +02:00
rr- 9e2dace73f server/posts: improve errors for bad note points 2016-08-05 23:02:34 +02:00
rr- 5092c2c587 server/posts: respect tag creating privilege 2016-08-02 12:44:38 +02:00
rr- a9338f6490 server/general: fix pylint warnings 2016-08-02 12:27:01 +02:00
rr- ff189a3915 server/posts: fix deleting post with comments 2016-08-02 12:27:01 +02:00
rr- 92d290b2a4 server/posts: fix removing custom thumbnails 2016-07-31 23:53:23 +02:00
rr- ef76cdaf8a server/posts: always use null size for bad images 2016-07-30 13:43:15 +02:00
rr- 298aedbc75 server/tags: sort relations like post tags 2016-07-30 13:43:15 +02:00
rr- b7f2982c9e server/posts: fix relations bidirectionality 2016-07-17 21:14:03 +02:00
rr- c472229bae server/posts: add relationCount field 2016-07-03 18:30:32 +02:00
rr- c21494be25 server/posts: make relations bidirectional 2016-07-03 18:30:32 +02:00
rr- 48d6fb6b43 server/posts: include thumbnail URLs in relations 2016-07-03 18:30:32 +02:00
rr- ac23067fdf server/general: use UTC time stamps 2016-07-03 14:46:28 +02:00
rr- b13f9dcb68 server/posts: fix comments order 2016-06-11 17:36:02 +02:00
rr- ded89fee5f server/posts: fix handling bad post ID 2016-06-08 22:38:35 +02:00
rr- b28f689077 server/posts: add ownFavorite field to posts 2016-06-08 22:38:35 +02:00
rr- 93a5af2097 server/posts: sort by tag category, then by name 2016-06-06 07:46:19 +02:00
rr- 805ca845e3 server/users: reduce user fields footprint 2016-06-03 20:14:01 +02:00
rr- 78612e1da1 server/posts: add new fields 2016-05-30 23:23:22 +02:00
rr- 037fbc61ec server/api: add ability to select fields 2016-05-30 23:08:22 +02:00
rr- d0314813cb server/general: move extra details to resources 2016-05-30 22:54:33 +02:00
rr- 48bcbbff83 server/search: improve performance 2016-05-30 20:51:52 +02:00
rr- abef6e5c35 server/info: return who featured the post and when 2016-05-29 12:41:22 +02:00
rr- 4d1f745e38 server/notes: fix note serialization 2016-05-29 12:40:36 +02:00
rr- af22ec735d server/posts: send mime type to client 2016-05-22 22:50:00 +02:00
rr- ba3678dec1 server/posts: implement FLAG_MAP 2016-05-10 12:15:33 +02:00
rr- 356d5050fd server/tools: add v1.x migration script 2016-05-08 23:26:46 +02:00