summaryrefslogtreecommitdiff
path: root/server/szurubooru/api/post_api.py
AgeCommit message (Collapse)Author
2025-02-16server: add privilege to view & list "sketchy" postsHunternif
2025-02-16Merge branch 'priv-view-unsafe-posts' into hunternifHunternif
2025-02-16server: add privilege posts:view:unsafeHunternif
2024-12-07server+client: use safety rating param in "lookalikes" apiHunternif
2022-10-02server: fix null error in lookalikes for videosHunternif
2022-10-02server: fix post count for lookalikesHunternif
2022-10-02client,server: reverse search post by signatureHunternif
2022-10-02server: rename get_posts_similar_by_tags (unused)Hunternif
2021-09-01server, client: honor safety when fetching similar postsHunternif
2021-08-31server: implement search for similar posts based on tagsHunternif
2021-08-04Merge remote-tracking branch 'origin/master' into hunternifHunternif
# Conflicts: # client/css/post-content-control.styl # client/css/post-list-view.styl # client/html/post_edit_sidebar.tpl # client/js/controllers/post_list_controller.js # client/js/controllers/post_main_controller.js # client/js/controllers/post_upload_controller.js # client/js/controllers/tag_controller.js # client/js/controllers/user_list_controller.js # client/js/controls/expander_control.js # client/js/controls/post_content_control.js # client/js/controls/post_edit_sidebar_control.js # client/js/controls/post_readonly_sidebar_control.js # client/js/controls/tag_input_control.js # client/js/main.js # client/js/models/abstract_list.js # client/js/models/post.js # client/js/models/post_list.js # client/js/models/settings.js # client/js/models/tag.js # client/js/models/tag_list.js # client/js/tags.js # client/js/util/search.js # client/js/util/touch.js # client/js/util/uri.js # client/js/util/views.js # client/js/views/post_main_view.js # client/js/views/post_upload_view.js # client/js/views/posts_header_view.js # client/js/views/posts_page_view.js # client/js/views/settings_view.js # client/js/views/tag_view.js # client/package-lock.json # client/package.json # server/config.yaml.dist # server/szurubooru/api/__init__.py # server/szurubooru/api/post_api.py # server/szurubooru/api/tag_api.py # server/szurubooru/func/posts.py # server/szurubooru/func/tags.py # server/szurubooru/model/__init__.py # server/szurubooru/model/post.py # server/szurubooru/model/tag.py # server/szurubooru/search/configs/__init__.py # server/szurubooru/search/configs/post_search_config.py # server/szurubooru/search/executor.py # server/szurubooru/tests/api/test_post_retrieving.py # server/szurubooru/tests/api/test_post_updating.py # server/szurubooru/tests/api/test_tag_updating.py # server/szurubooru/tests/conftest.py # server/szurubooru/tests/func/test_posts.py # server/szurubooru/tests/func/test_tags.py # server/szurubooru/tests/search/configs/test_post_search_config.py
2020-09-01client+server: fix linter issues due to updated pre-commit hooksShyam Sunder
2020-06-06client+server: implement code autoformatting using prettier and blackShyam Sunder
2020-04-03server/posts/upload: Add youtube-dl functionalityShyam Sunder
allows for video-based posts to be created by using youtube-dl on the server. Access is controlled with the 'uploads:use_downloader' permission.
2020-03-21server/posts/upload: edit default flag behaviorShyam Sunder
The 'loop' flag will be auto-selected by default on video posts if the flags parameter is undefined when creating a new post.
2020-03-13server/image_search: implement reverse search functionality in postgresShyam Sunder
This will remove the dependency on the Elasticsearch database. The search query is passed currently as raw SQL. Proper implementation using SQLAlchemy will need custom ORM classed to be made. Additional config parameter "allow_broken_uploads" has been added.
2019-05-02server: implement median for posts, for any queryHunternif
2019-04-18server: api permission tests for metricsIlya Tetin
2019-04-18server: implementation and tests for PostMetricRange domain methodsIlya Tetin
2019-04-18server/test: create or update post metrics via updating postHunternif
2018-09-24server/posts: automatically detect sound in video post uploadsShyam Sunder
2018-03-08server/posts: auto convert GIFs to WEBMs/MP4sReAnzu
- Default setting is false for both conversions, as this will require additional resources of the server, but is bandwidth friendly for viewers - WEBM conversion is slow, but better quality than MP4 conversion with a typically smaller file size - Tags are copied over from the original upload - Snapshots are generated for the new auto posts
2017-10-01remove tags.jsonrr-
2017-08-24server/posts: add posts:view:featured privilegerr-
2017-04-24server: lintrr-
2017-02-05server/api: extra validation of list fieldsrr-
2017-02-05server: refactor + add type hintingrr-
- 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-02server/image-hash: improve exception handlingrr-
2017-01-07server/posts: change reverse image search APIrr-
Add exact duplicates search; refactor to use classes over dictionaries
2016-12-26server/posts: expose reverse image searchrr-
2016-10-21server/posts: add replaceContent to post mergingrr-
2016-10-21server/posts: add post mergingrr-
2016-08-26server/posts: defer flush; save content lazilyrr-
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-22server/posts: make anon snapshots for anon uploadsrr-
2016-08-21server/posts: allow tagless postsrr-
2016-08-16server/snapshots: rewriterr-
2016-08-16server/general: improve versioning effectivenessrr-
...by integrating it with sqlalchemy that adds WHERE conditions for each UPDATE and DELETE statement.
2016-08-14server/general: embrace most of PEP8rr-
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-14server/general: ditch falcon for in-house WSGI apprr-
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-07server/general: add entity versionsrr-
2016-08-02server/posts: respect tag creating privilegerr-
2016-08-02server/posts: fix deleting post with commentsrr-
2016-07-03server/general: use UTC time stampsrr-
2016-06-08server/posts: add getting posts around idrr-
Leave undocumented since it add almost no value for the client applications.
2016-06-05server/posts: allow anonymous uploads (#90)rr-
2016-06-03server/search: refactor, extract parsingrr-
2016-05-30server/api: add ability to select fieldsrr-
2016-05-30server/general: flatten responsesrr-
2016-05-30server/general: move extra details to resourcesrr-
2016-05-07server/posts: add post listingrr-