aboutsummaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorrr-2016-05-01 20:15:28 +0200
committerrr-2016-05-02 00:07:33 +0200
commit067e438b8cf0483c12ecca4c2d5da3279f477f94 (patch)
tree3e6d15d348aa6eefa5a5355f907902a83934a8a4 /server
parentce095816d99acdcb642713719c775d463d238a91 (diff)
server/posts: add hasCustomThumbnail to post info
Diffstat (limited to 'server')
-rw-r--r--server/szurubooru/func/files.py3
-rw-r--r--server/szurubooru/func/posts.py1
-rw-r--r--server/szurubooru/tests/api/test_comment_creating.py4
-rw-r--r--server/szurubooru/tests/api/test_comment_rating.py4
-rw-r--r--server/szurubooru/tests/api/test_comment_retrieving.py4
-rw-r--r--server/szurubooru/tests/api/test_comment_updating.py4
-rw-r--r--server/szurubooru/tests/api/test_post_favoriting.py4
-rw-r--r--server/szurubooru/tests/api/test_post_featuring.py4
-rw-r--r--server/szurubooru/tests/api/test_post_rating.py4
-rw-r--r--server/szurubooru/tests/api/test_post_retrieving.py4
-rw-r--r--server/szurubooru/tests/func/test_posts.py4
11 files changed, 31 insertions, 9 deletions
diff --git a/server/szurubooru/func/files.py b/server/szurubooru/func/files.py
index 2a0217b..f520932 100644
--- a/server/szurubooru/func/files.py
+++ b/server/szurubooru/func/files.py
@@ -9,6 +9,9 @@ def delete(path):
if os.path.exists(full_path):
os.unlink(full_path)
+def has(path):
+ return os.path.exists(_get_full_path(path))
+
def get(path):
full_path = _get_full_path(path)
if not os.path.exists(full_path):
diff --git a/server/szurubooru/func/posts.py b/server/szurubooru/func/posts.py
index b79c117..e12f30d 100644
--- a/server/szurubooru/func/posts.py
+++ b/server/szurubooru/func/posts.py
@@ -85,6 +85,7 @@ def serialize_post(post, authenticated_user):
'lastFeatureTime': post.last_feature_time,
'favoritedBy': [users.serialize_user(rel.user, authenticated_user) \
for rel in post.favorited_by],
+ 'hasCustomThumbnail': files.has(get_post_thumbnail_backup_path(post)),
}
if authenticated_user:
diff --git a/server/szurubooru/tests/api/test_comment_creating.py b/server/szurubooru/tests/api/test_comment_creating.py
index 218239c..ccb944d 100644
--- a/server/szurubooru/tests/api/test_comment_creating.py
+++ b/server/szurubooru/tests/api/test_comment_creating.py
@@ -4,8 +4,10 @@ from szurubooru import api, db, errors
from szurubooru.func import util, posts
@pytest.fixture
-def test_ctx(config_injector, context_factory, post_factory, user_factory):
+def test_ctx(
+ tmpdir, config_injector, context_factory, post_factory, user_factory):
config_injector({
+ 'data_dir': str(tmpdir),
'data_url': 'http://example.com',
'ranks': ['anonymous', 'regular_user'],
'rank_names': {'anonymous': 'Peasant', 'regular_user': 'Lord'},
diff --git a/server/szurubooru/tests/api/test_comment_rating.py b/server/szurubooru/tests/api/test_comment_rating.py
index 7d10700..28c4908 100644
--- a/server/szurubooru/tests/api/test_comment_rating.py
+++ b/server/szurubooru/tests/api/test_comment_rating.py
@@ -4,8 +4,10 @@ from szurubooru import api, db, errors
from szurubooru.func import util, comments, scores
@pytest.fixture
-def test_ctx(config_injector, context_factory, user_factory, comment_factory):
+def test_ctx(
+ tmpdir, config_injector, context_factory, user_factory, comment_factory):
config_injector({
+ 'data_dir': str(tmpdir),
'data_url': 'http://example.com',
'ranks': ['anonymous', 'regular_user', 'mod'],
'rank_names': {'anonymous': 'Peasant', 'regular_user': 'Lord'},
diff --git a/server/szurubooru/tests/api/test_comment_retrieving.py b/server/szurubooru/tests/api/test_comment_retrieving.py
index b0011b6..f0a2f74 100644
--- a/server/szurubooru/tests/api/test_comment_retrieving.py
+++ b/server/szurubooru/tests/api/test_comment_retrieving.py
@@ -4,8 +4,10 @@ from szurubooru import api, db, errors
from szurubooru.func import util, comments
@pytest.fixture
-def test_ctx(context_factory, config_injector, user_factory, comment_factory):
+def test_ctx(
+ tmpdir, context_factory, config_injector, user_factory, comment_factory):
config_injector({
+ 'data_dir': str(tmpdir),
'data_url': 'http://example.com',
'ranks': ['anonymous', 'regular_user', 'mod', 'admin'],
'rank_names': {'regular_user': 'Peasant'},
diff --git a/server/szurubooru/tests/api/test_comment_updating.py b/server/szurubooru/tests/api/test_comment_updating.py
index 08ade5c..16b2563 100644
--- a/server/szurubooru/tests/api/test_comment_updating.py
+++ b/server/szurubooru/tests/api/test_comment_updating.py
@@ -4,8 +4,10 @@ from szurubooru import api, db, errors
from szurubooru.func import util, comments
@pytest.fixture
-def test_ctx(config_injector, context_factory, user_factory, comment_factory):
+def test_ctx(
+ tmpdir, config_injector, context_factory, user_factory, comment_factory):
config_injector({
+ 'data_dir': str(tmpdir),
'data_url': 'http://example.com',
'ranks': ['anonymous', 'regular_user', 'mod'],
'rank_names': {'anonymous': 'Peasant', 'regular_user': 'Lord', 'mod': 'King'},
diff --git a/server/szurubooru/tests/api/test_post_favoriting.py b/server/szurubooru/tests/api/test_post_favoriting.py
index e5e627d..d411bf0 100644
--- a/server/szurubooru/tests/api/test_post_favoriting.py
+++ b/server/szurubooru/tests/api/test_post_favoriting.py
@@ -4,8 +4,10 @@ from szurubooru import api, db, errors
from szurubooru.func import util, posts
@pytest.fixture
-def test_ctx(config_injector, context_factory, user_factory, post_factory):
+def test_ctx(
+ tmpdir, config_injector, context_factory, user_factory, post_factory):
config_injector({
+ 'data_dir': str(tmpdir),
'data_url': 'http://example.com',
'ranks': ['anonymous', 'regular_user', 'mod'],
'rank_names': {'anonymous': 'Peasant', 'regular_user': 'Lord'},
diff --git a/server/szurubooru/tests/api/test_post_featuring.py b/server/szurubooru/tests/api/test_post_featuring.py
index 8a030f3..cd8e6d6 100644
--- a/server/szurubooru/tests/api/test_post_featuring.py
+++ b/server/szurubooru/tests/api/test_post_featuring.py
@@ -4,8 +4,10 @@ from szurubooru import api, db, errors
from szurubooru.func import util, posts
@pytest.fixture
-def test_ctx(context_factory, config_injector, user_factory, post_factory):
+def test_ctx(
+ tmpdir, context_factory, config_injector, user_factory, post_factory):
config_injector({
+ 'data_dir': str(tmpdir),
'data_url': 'http://example.com',
'privileges': {
'posts:feature': 'regular_user',
diff --git a/server/szurubooru/tests/api/test_post_rating.py b/server/szurubooru/tests/api/test_post_rating.py
index def80fa..03873c1 100644
--- a/server/szurubooru/tests/api/test_post_rating.py
+++ b/server/szurubooru/tests/api/test_post_rating.py
@@ -3,8 +3,10 @@ from szurubooru import api, db, errors
from szurubooru.func import util, posts, scores
@pytest.fixture
-def test_ctx(config_injector, context_factory, user_factory, post_factory):
+def test_ctx(
+ tmpdir, config_injector, context_factory, user_factory, post_factory):
config_injector({
+ 'data_dir': str(tmpdir),
'data_url': 'http://example.com',
'ranks': ['anonymous', 'regular_user'],
'rank_names': {'anonymous': 'Peasant', 'regular_user': 'Lord'},
diff --git a/server/szurubooru/tests/api/test_post_retrieving.py b/server/szurubooru/tests/api/test_post_retrieving.py
index ec39a9a..369fa79 100644
--- a/server/szurubooru/tests/api/test_post_retrieving.py
+++ b/server/szurubooru/tests/api/test_post_retrieving.py
@@ -4,8 +4,10 @@ from szurubooru import api, db, errors
from szurubooru.func import util, posts
@pytest.fixture
-def test_ctx(context_factory, config_injector, user_factory, post_factory):
+def test_ctx(
+ tmpdir, context_factory, config_injector, user_factory, post_factory):
config_injector({
+ 'data_dir': str(tmpdir),
'data_url': 'http://example.com',
'privileges': {
'posts:list': 'regular_user',
diff --git a/server/szurubooru/tests/func/test_posts.py b/server/szurubooru/tests/func/test_posts.py
index c0c458c..f24c1f6 100644
--- a/server/szurubooru/tests/func/test_posts.py
+++ b/server/szurubooru/tests/func/test_posts.py
@@ -65,7 +65,8 @@ def test_serialize_empty_post():
assert posts.serialize_post(None, None) is None
def test_serialize_post(post_factory, user_factory, tag_factory):
- with unittest.mock.patch('szurubooru.func.users.serialize_user'):
+ with unittest.mock.patch('szurubooru.func.users.serialize_user'), \
+ unittest.mock.patch('szurubooru.func.posts.files.has', return_value=True):
users.serialize_user.side_effect = lambda user, auth_user: user.name
auth_user = user_factory(name='auth user')
@@ -140,6 +141,7 @@ def test_serialize_post(post_factory, user_factory, tag_factory):
'featureCount': 1,
'lastFeatureTime': datetime.datetime(1999, 1, 1),
'favoritedBy': ['fav1'],
+ 'hasCustomThumbnail': True,
}
def test_serialize_post_with_details(post_factory, comment_factory, user_factory):

© 2015 - 2026 Jakob L. Kreuze