django-restit 4.2.131__py3-none-any.whl → 4.2.132__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- {django_restit-4.2.131.dist-info → django_restit-4.2.132.dist-info}/METADATA +1 -1
- {django_restit-4.2.131.dist-info → django_restit-4.2.132.dist-info}/RECORD +8 -8
- medialib/models.py +31 -2
- medialib/render/render_utils.py +1 -1
- rest/__init__.py +1 -1
- wiki/renderers/mistune/media.py +3 -0
- {django_restit-4.2.131.dist-info → django_restit-4.2.132.dist-info}/LICENSE.md +0 -0
- {django_restit-4.2.131.dist-info → django_restit-4.2.132.dist-info}/WHEEL +0 -0
@@ -173,7 +173,7 @@ medialib/fixtures/medialib_test_fixture.json,sha256=7M7zvGI2S5G3ENV8OQ3Ks4149lEi
|
|
173
173
|
medialib/forms.py,sha256=nrE6QTPNPiIeX7Nx4l9DEmAQeQXqFyCg1C3JEDBYJfE,5442
|
174
174
|
medialib/migrations/0001_initial.py,sha256=H3JliH5aw7tiHef8MhrJr_9rGetqgA7UjTF-eKziRSM,20518
|
175
175
|
medialib/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
176
|
-
medialib/models.py,sha256=
|
176
|
+
medialib/models.py,sha256=snD9Lyskp6i1YTOcERrclPUPIbINkGOhGOTbDKC8dFk,54791
|
177
177
|
medialib/ocr.py,sha256=zlP7-NBiXhW7jR9pljmEPl5xzLVZpLN5QLAELQgU0Fk,1189
|
178
178
|
medialib/pdf.py,sha256=l28WwM0JKbT9boV-b_9TFh9jhvGcrquR8GqC8wfEaLk,1275
|
179
179
|
medialib/qrcode.py,sha256=vHyA5egXOX70EFiUDgr1njI9zcF6bXQJ_hKAQrppRow,545
|
@@ -205,7 +205,7 @@ medialib/render/presets/video_still.py,sha256=VSWtr6k3UJta3YdOpEfU9d7p46XKi98aPt
|
|
205
205
|
medialib/render/presets/video_validate.py,sha256=pC6MzzgVWZKGJj6NkQ8SHcDj8z45kxHMuwxK82f8vIU,3228
|
206
206
|
medialib/render/presets/websnap.py,sha256=RSxJ7T2ICU_KQn48yHWLj4qXCABTC7uVIPwe-z_CSkI,863
|
207
207
|
medialib/render/presets/youtube.py,sha256=M4bTZju1u7rrvwLOG89cNUaelHUtnRFss7hggvZCAuE,2282
|
208
|
-
medialib/render/render_utils.py,sha256=
|
208
|
+
medialib/render/render_utils.py,sha256=kJlluBmkXoABQqZ6cJFQ3u07cl5ela-Gvu6w96hd6uA,16460
|
209
209
|
medialib/render/schedule.py,sha256=iDSekfsY31SEXF-MR-YdJ9-a3UJ3SoJsZJpiEcbiNZA,370
|
210
210
|
medialib/rpc/__init__.py,sha256=K84yMB6sUr7zTeECxca-_2jyHiUGCHTM-XYmJK6jQCo,82
|
211
211
|
medialib/rpc/legacy.py,sha256=KTNmNJIxfFkZfAj0LXx9-e8bJonOfCoNE0-c_cugsNc,37925
|
@@ -376,7 +376,7 @@ pushit/utils.py,sha256=IeTCGa-164nmB1jIsK1lu1O1QzUhS3BKfuXHGjCW-ck,2121
|
|
376
376
|
rest/.gitignore,sha256=TbEvWRMnAiajCTOdhiNrd9eeCAaIjRp9PRjE_VkMM5g,118
|
377
377
|
rest/README.md,sha256=V3ETc-cJu8PZIbKr9xSe_pA4JEUpC8Dhw4bQeVCDJPw,5460
|
378
378
|
rest/RemoteEvents.py,sha256=nL46U7AuxIrlw2JunphR1tsXyqi-ep_gD9CYGpYbNgE,72
|
379
|
-
rest/__init__.py,sha256
|
379
|
+
rest/__init__.py,sha256=-RkqJ1C1aVmCpKUVK79846yJzPNqTf7-orNjsU35Rjo,122
|
380
380
|
rest/arc4.py,sha256=y644IbF1ec--e4cUJ3KEYsewTCITK0gmlwa5mJruFC0,1967
|
381
381
|
rest/cache.py,sha256=1Qg0rkaCJCaVP0-l5hZg2CIblTdeBSlj_0fP6vlKUpU,83
|
382
382
|
rest/crypto/__init__.py,sha256=Tl0U11rgj1eBYqd6OXJ2_XSdNLumW_JkBZnaJqI6Ldw,72
|
@@ -492,7 +492,7 @@ wiki/renderers/__init__.py,sha256=lLEoJvjU3ezXwBGcjleKk_kMyNeMD9MpfBlEiKayEiM,46
|
|
492
492
|
wiki/renderers/mistune/__init__.py,sha256=baClLWELOwy5n8UUFi7qmoFBU6QaeegD-wRNZ7fIW_w,84
|
493
493
|
wiki/renderers/mistune/highlight.py,sha256=BosglMQUxc_KVbLapQ4gCt6rCc0rAF1vCtUR7R1Ad4c,1264
|
494
494
|
wiki/renderers/mistune/math.py,sha256=dgQpH9CIDiqyESphoK5XUVFxK5Yb5VhEIoLgjp3Vtcs,1901
|
495
|
-
wiki/renderers/mistune/media.py,sha256=
|
495
|
+
wiki/renderers/mistune/media.py,sha256=SYwjhX6_DKfqJ00yLxfKrIHu6JnnwKnroqRm6ySDMfY,2688
|
496
496
|
wiki/renderers/mistune/meta.py,sha256=1lry9m-4wiwsivWnqYHYjwmGv91BGUSB7niJuZ1Xx54,805
|
497
497
|
wiki/renderers/mistune/task_list.py,sha256=Ex0gUPX_d9jtbPbnEEktlqAJsM6wIt5Md2wsltX7LIY,1889
|
498
498
|
wiki/renderers/mistune/toc.py,sha256=TKGiuMVpKqzDGUx5bAjJYpZIzG6n3wTjtuBdBc-TM_8,2302
|
@@ -512,7 +512,7 @@ ws4redis/servers/uwsgi.py,sha256=VyhoCI1DnVFqBiJYHoxqn5Idlf6uJPHvfBKgkjs34mo,172
|
|
512
512
|
ws4redis/settings.py,sha256=K0yBiLUuY81iDM4Yr-k8hbvjn5VVHu5zQhmMK8Dtz0s,1536
|
513
513
|
ws4redis/utf8validator.py,sha256=S0OlfjeGRP75aO6CzZsF4oTjRQAgR17OWE9rgZdMBZA,5122
|
514
514
|
ws4redis/websocket.py,sha256=R0TUyPsoVRD7Y_oU7w2I6NL4fPwiz5Vl94-fUkZgLHA,14848
|
515
|
-
django_restit-4.2.
|
516
|
-
django_restit-4.2.
|
517
|
-
django_restit-4.2.
|
518
|
-
django_restit-4.2.
|
515
|
+
django_restit-4.2.132.dist-info/LICENSE.md,sha256=VHN4hhEeVOoFjtG-5fVv4jesA4SWi0Z-KgOzzN6a1ps,1068
|
516
|
+
django_restit-4.2.132.dist-info/METADATA,sha256=NeQ9W-DZO4uEAlKI7xrNkeWyD8YQ60YuSsK3cxTsxjg,7663
|
517
|
+
django_restit-4.2.132.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
518
|
+
django_restit-4.2.132.dist-info/RECORD,,
|
medialib/models.py
CHANGED
@@ -20,6 +20,7 @@ import hashlib
|
|
20
20
|
import time
|
21
21
|
import mimetypes
|
22
22
|
import tempfile
|
23
|
+
import re
|
23
24
|
|
24
25
|
from medialib import utils
|
25
26
|
from rest import settings
|
@@ -29,6 +30,7 @@ from rest.decorators import rest_async
|
|
29
30
|
from taskqueue.models import Task
|
30
31
|
|
31
32
|
|
33
|
+
MEDIA_FRIENDLY_FILENAMES = settings.get("MEDIA_FRIENDLY_FILENAMES", True)
|
32
34
|
TASKQUEUE_RENDERING = settings.get("TASKQUEUE_RENDERING", False)
|
33
35
|
|
34
36
|
from rest.log import getLogger
|
@@ -1155,9 +1157,36 @@ class MediaItemRendition(models.Model):
|
|
1155
1157
|
from medialib.stores import s3
|
1156
1158
|
return s3.generate_upload_url(self.url, filetype)
|
1157
1159
|
|
1158
|
-
def
|
1160
|
+
def generateFriendlyURL(self, name, prefix="", store=None):
|
1161
|
+
from rest import helpers as rh
|
1162
|
+
rh.log_error("generateFriendlyURL", name, self.use, self.mediaitem.name, " ")
|
1159
1163
|
if store is None:
|
1160
1164
|
store = self.mediaitem.default_store()
|
1165
|
+
if self.use != "original":
|
1166
|
+
if "." in self.mediaitem.name:
|
1167
|
+
orig_name = self.mediaitem.name.split('.')
|
1168
|
+
orig_ext = orig_name.pop()
|
1169
|
+
orig_name = "".join(orig_name)
|
1170
|
+
if "." in name:
|
1171
|
+
ext = name.split('.')[-1]
|
1172
|
+
else:
|
1173
|
+
ext = orig_ext
|
1174
|
+
name = f"{orig_name}__{self.name}.{ext}"
|
1175
|
+
rh.log_error("--- now ---", name, " ")
|
1176
|
+
name = name.replace(" ", "_")
|
1177
|
+
name = re.sub(r'[^A-Za-z0-9._-]', '', name)
|
1178
|
+
paths = []
|
1179
|
+
paths.append(store)
|
1180
|
+
paths.append("/")
|
1181
|
+
paths.append(int_to_base36(self.mediaitem.pk))
|
1182
|
+
paths.append("/")
|
1183
|
+
paths.append(name)
|
1184
|
+
return "".join(paths)
|
1185
|
+
|
1186
|
+
def generateURL(self, name, prefix="", store=None):
|
1187
|
+
if MEDIA_FRIENDLY_FILENAMES:
|
1188
|
+
return self.generateFriendlyURL(name, prefix, store)
|
1189
|
+
|
1161
1190
|
paths = []
|
1162
1191
|
paths.append(store)
|
1163
1192
|
paths.append("/{}/".format(int_to_base36(self.mediaitem.pk)))
|
@@ -1169,7 +1198,7 @@ class MediaItemRendition(models.Model):
|
|
1169
1198
|
paths.append("_")
|
1170
1199
|
paths.append(utils.toMD5(path, int(time.time())))
|
1171
1200
|
paths.append(".")
|
1172
|
-
ext = "
|
1201
|
+
ext = "dat"
|
1173
1202
|
if "." in name:
|
1174
1203
|
ext = name.split('.')[-1]
|
1175
1204
|
elif hasattr(self.mediaitem, "ext"):
|
medialib/render/render_utils.py
CHANGED
rest/__init__.py
CHANGED
wiki/renderers/mistune/media.py
CHANGED
@@ -38,6 +38,7 @@ class MediaMixin(object):
|
|
38
38
|
return url
|
39
39
|
|
40
40
|
def link(self, link, text=None, title=None):
|
41
|
+
label = text
|
41
42
|
if text is None:
|
42
43
|
text = link
|
43
44
|
o = urllib.parse.urlparse(link)
|
@@ -47,6 +48,8 @@ class MediaMixin(object):
|
|
47
48
|
params = {"href":href}
|
48
49
|
if title:
|
49
50
|
params["title"] = title
|
51
|
+
if label:
|
52
|
+
params["download"] = label
|
50
53
|
if not href.startswith("http"):
|
51
54
|
params["data-action"] = "local_page"
|
52
55
|
flat_params = ' '.join("{}='{}'".format(key,val) for (key,val) in list(params.items()))
|
File without changes
|
File without changes
|