papyru 2.11.2.dev131__tar.gz → 2.12.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. {papyru-2.11.2.dev131/papyru.egg-info → papyru-2.12.0}/PKG-INFO +1 -1
  2. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/create_variant/edit_template/xml.py +26 -9
  3. {papyru-2.11.2.dev131 → papyru-2.12.0/papyru.egg-info}/PKG-INFO +1 -1
  4. {papyru-2.11.2.dev131 → papyru-2.12.0}/setup.py +1 -1
  5. {papyru-2.11.2.dev131 → papyru-2.12.0}/LICENSE.txt +0 -0
  6. {papyru-2.11.2.dev131 → papyru-2.12.0}/README.md +0 -0
  7. {papyru-2.11.2.dev131 → papyru-2.12.0}/bin/generate_jsonschema.py +0 -0
  8. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/__init__.py +0 -0
  9. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/auth.py +0 -0
  10. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/context.py +0 -0
  11. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/create_variant/__init__.py +0 -0
  12. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/create_variant/component.py +0 -0
  13. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/create_variant/constants.py +0 -0
  14. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/create_variant/edit_template/__init__.py +0 -0
  15. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/create_variant/edit_template/ean.py +0 -0
  16. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/create_variant/edit_template/manufacturer_address.py +0 -0
  17. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/create_variant/edit_template/motive.py +0 -0
  18. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/create_variant/edit_template/render_text.py +0 -0
  19. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/create_variant/edit_template/title.py +0 -0
  20. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/create_variant/resi.py +0 -0
  21. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/logger.py +0 -0
  22. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/logger_stdout.py +0 -0
  23. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/logger_types.py +0 -0
  24. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/middleware.py +0 -0
  25. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/problem.py +0 -0
  26. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/profiler.py +0 -0
  27. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/resource.py +0 -0
  28. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/serializer.py +0 -0
  29. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/stack_context.py +0 -0
  30. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/static/__init__.py +0 -0
  31. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/static/apps.py +0 -0
  32. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/static/urls.py +0 -0
  33. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/static/views.py +0 -0
  34. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/utils.py +0 -0
  35. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/validation.py +0 -0
  36. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/varspool/__init__.py +0 -0
  37. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/varspool/assets/Job.json +0 -0
  38. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/varspool/assets/JobStatusHistory.json +0 -0
  39. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/varspool/command/__init__.py +0 -0
  40. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/varspool/command/config.py +0 -0
  41. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/varspool/command/types.py +0 -0
  42. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/varspool/serializers.py +0 -0
  43. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/varspool/types.py +0 -0
  44. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru/xml_helper.py +0 -0
  45. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru.egg-info/SOURCES.txt +0 -0
  46. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru.egg-info/dependency_links.txt +0 -0
  47. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru.egg-info/requires.txt +0 -0
  48. {papyru-2.11.2.dev131 → papyru-2.12.0}/papyru.egg-info/top_level.txt +0 -0
  49. {papyru-2.11.2.dev131 → papyru-2.12.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: papyru
3
- Version: 2.11.2.dev131
3
+ Version: 2.12.0
4
4
  Summary: minimal REST library with OpenAPI-based validation for django
5
5
  Home-page: http://www.puzzleyou.net/
6
6
  Author: puzzleYOU GmbH
@@ -1,4 +1,5 @@
1
1
  from dataclasses import dataclass
2
+ from typing import Optional
2
3
  from xml.etree.ElementTree import Element, SubElement
3
4
 
4
5
  from papyru import XMLHelper
@@ -10,13 +11,20 @@ class PlaceholderInfo:
10
11
  placeholder: Element
11
12
 
12
13
 
14
+ @dataclass(frozen=True)
15
+ class ImageCrop:
16
+ x: float
17
+ y: float
18
+ width: float
19
+ height: float
20
+
21
+
13
22
  @dataclass(frozen=True)
14
23
  class ImageInfo:
15
24
  location: str
16
25
  width: int
17
26
  height: int
18
- x_pos: int = None
19
- y_pos: int = None
27
+ crop: Optional[ImageCrop] = None
20
28
 
21
29
 
22
30
  def find_placeholder(doc: XMLHelper,
@@ -85,11 +93,10 @@ def fit_image(doc: XMLHelper,
85
93
  image_dims = (float(image_info.width),
86
94
  float(image_info.height))
87
95
 
88
- image_position = (
89
- '0.0' if image_info.x_pos is None else float(image_info.x_pos),
90
- '0.0' if image_info.y_pos is None else float(image_info.y_pos))
91
-
92
- viewbox = _fit_dimensions(wrapper_dims, image_dims)
96
+ viewbox = (_fit_dimensions(wrapper_dims, image_dims)
97
+ if image_info.crop is None else
98
+ (image_info.crop.x, image_info.crop.y,
99
+ image_info.crop.width, image_info.crop.height))
93
100
 
94
101
  doc.set_attribute(ph.wrapper,
95
102
  'viewBox',
@@ -100,11 +107,21 @@ def fit_image(doc: XMLHelper,
100
107
  'href', image_info.location,
101
108
  'xlink' if has_xlink else None)
102
109
 
103
- doc.set_attribute(ph.placeholder, 'x', '%s' % image_position[0])
104
- doc.set_attribute(ph.placeholder, 'y', '%s' % image_position[1])
110
+ doc.set_attribute(ph.placeholder, 'x', '0.0')
111
+ doc.set_attribute(ph.placeholder, 'y', '0.0')
105
112
  doc.set_attribute(ph.placeholder, 'width', '%s' % image_dims[0])
106
113
  doc.set_attribute(ph.placeholder, 'height', '%s' % image_dims[1])
107
114
 
115
+ if image_info.crop is not None:
116
+ doc.set_attribute(ph.placeholder, 'bbox',
117
+ '{"x": %s, "y": %s, "width": %s, "height": %s}'
118
+ % (image_info.crop.x, image_info.crop.y,
119
+ image_info.crop.width,
120
+ image_info.crop.height), 'pap')
121
+ doc.set_attribute(ph.placeholder, 'img-dimensions',
122
+ '{"width": %s, "height": %s}'
123
+ % (image_dims[0], image_dims[1]), 'pap')
124
+
108
125
  _set_changed(doc, ph.placeholder)
109
126
 
110
127
  return doc
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: papyru
3
- Version: 2.11.2.dev131
3
+ Version: 2.12.0
4
4
  Summary: minimal REST library with OpenAPI-based validation for django
5
5
  Home-page: http://www.puzzleyou.net/
6
6
  Author: puzzleYOU GmbH
@@ -2,7 +2,7 @@ from setuptools import setup
2
2
 
3
3
  setup(
4
4
  name='papyru',
5
- version='2.11.2.dev131',
5
+ version='2.12.0',
6
6
  description=(
7
7
  'minimal REST library with OpenAPI-based validation for django'),
8
8
  author='puzzleYOU GmbH',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes