oarepo-runtime 1.5.49__py3-none-any.whl → 1.5.51__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -79,7 +79,7 @@ def enumerate_assets():
79
79
  return aliases, asset_dirs
80
80
 
81
81
 
82
- COMPONENT_RE = re.compile(
82
+ COMPONENT_LIST_RE = re.compile(
83
83
  r"""
84
84
  ^
85
85
  \s*
@@ -87,15 +87,29 @@ COMPONENT_RE = re.compile(
87
87
  \s*
88
88
  {
89
89
  \s*
90
+ (
91
+ @import\s+["'](.*?)["']
92
+ \s*
93
+ ;
94
+ )+
95
+ \s*
96
+ }""",
97
+ re.MULTILINE | re.DOTALL | re.VERBOSE,
98
+ )
99
+
100
+ COMPONENT_RE = re.compile(
101
+ r"""
102
+ \s*
90
103
  @import\s+["'](.*?)["']
91
104
  \s*
92
105
  ;
93
106
  \s*
94
- }""",
107
+ """,
95
108
  re.MULTILINE | re.DOTALL | re.VERBOSE,
96
109
  )
97
110
 
98
111
 
112
+
99
113
  @assets.command(name="less-components")
100
114
  @click.argument("output_file", default="-")
101
115
  @with_appcontext
@@ -110,8 +124,9 @@ def less_components(output_file):
110
124
  less_component_files.append(f)
111
125
  components = set()
112
126
  for cmp_file in less_component_files:
113
- for s in COMPONENT_RE.findall(cmp_file.read_text()):
114
- components.add(Path(s).stem)
127
+ for component_list in COMPONENT_LIST_RE.findall(cmp_file.read_text()):
128
+ for s in COMPONENT_RE.findall(component_list[0]):
129
+ components.add(Path(s).stem)
115
130
  data = {"components": list(sorted(components))}
116
131
  if output_file == "-":
117
132
  print(json.dumps(data, indent=4, ensure_ascii=False))
@@ -1,11 +1,22 @@
1
1
  import functools
2
2
  import re
3
3
  from datetime import datetime
4
+ from idutils import normalize_pid
4
5
 
5
6
  from marshmallow.exceptions import ValidationError
6
7
  from marshmallow_utils.fields.edtfdatestring import EDTFValidator
7
8
 
8
9
 
10
+ def validate_identifier(value):
11
+ try:
12
+ value["identifier"] = normalize_pid(
13
+ value["identifier"], value["scheme"].lower()
14
+ )
15
+ except:
16
+ raise ValidationError(f"Invalid {value['scheme']} value {value['identifier']}")
17
+ return value
18
+
19
+
9
20
  def validate_date(date_format):
10
21
  def validate(value):
11
22
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oarepo-runtime
3
- Version: 1.5.49
3
+ Version: 1.5.51
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -12,6 +12,7 @@ Requires-Dist: flask-babelex
12
12
  Requires-Dist: deepmerge
13
13
  Requires-Dist: tqdm
14
14
  Requires-Dist: deprecated
15
+ Requires-Dist: idutils
15
16
  Provides-Extra: dev
16
17
  Requires-Dist: pytest>=7.1.2; extra == "dev"
17
18
  Requires-Dist: black; extra == "dev"
@@ -5,7 +5,7 @@ oarepo_runtime/profile.py,sha256=QzrQoZncjoN74ZZnpkEKakNk08KCzBU7m6y42RN8AMY,163
5
5
  oarepo_runtime/proxies.py,sha256=NN_WNj1xuKc-OveoZmzvTFlUonNjSmLIGsv_JUcHGls,285
6
6
  oarepo_runtime/uow.py,sha256=iyF3R2oCPSVUu38GXoxZallgRD-619q1fWTb8sSaeyQ,4412
7
7
  oarepo_runtime/cli/__init__.py,sha256=daAODgUAB9Nb0O0Kg8vSgJIPKJm92EHMTRuoKwxBCug,373
8
- oarepo_runtime/cli/assets.py,sha256=C9CEwCBGeSF6ztM-T37t0XQ3KoTF0nKlhB6vTRxDt2A,3357
8
+ oarepo_runtime/cli/assets.py,sha256=uKhR2ywDR3RgGyWXuE2X-YNG0Cx-QxXJxHkAJEVV-_Y,3589
9
9
  oarepo_runtime/cli/base.py,sha256=94RBTa8TOSPxEyEUmYLGXaWen-XktP2-MIbTtZSlCZo,544
10
10
  oarepo_runtime/cli/cf.py,sha256=W0JEJK2JqKubQw8qtZJxohmADDRUBode4JZAqYLDGvc,339
11
11
  oarepo_runtime/cli/check.py,sha256=sCe2PeokSHvNOXHFZ8YHF8NMhsu5nYjyuZuvXHJ6X18,5092
@@ -107,7 +107,7 @@ oarepo_runtime/services/schema/marshmallow.py,sha256=LmcSxvbZ9jIhkNHCqqxt1SA2UNi
107
107
  oarepo_runtime/services/schema/oneofschema.py,sha256=GnWH4Or_G5M0NgSmCoqMI6PBrJg5AC9RHrcB5QDKRq0,6661
108
108
  oarepo_runtime/services/schema/polymorphic.py,sha256=bAbUoTIeDBiJPYPhpLEKKZekEdkHlpqkmNxk1hN3PDw,564
109
109
  oarepo_runtime/services/schema/ui.py,sha256=xQgW-zLyZoHldGw47uVtXQj-5LexVNKTholyq4MiBZo,3777
110
- oarepo_runtime/services/schema/validation.py,sha256=fahqKGDdIYWux5ZeoljrEe8VD2fDZR9VpfvYmTYAmpw,1050
110
+ oarepo_runtime/services/schema/validation.py,sha256=uIDJ0Phh62tDE0Mme-7Z3R_2TZY7k0MwjB3hrn5be_g,1356
111
111
  oarepo_runtime/translations/default_translations.py,sha256=060GBlA1ghWxfeumo6NqxCCZDb-6OezOuF6pr-_GEOQ,104
112
112
  oarepo_runtime/translations/jinjax_messages.jinja,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
113
  oarepo_runtime/translations/messages.pot,sha256=QvwHdrmqwaYpZIsnVTEmsk7MnG8J2Sy32_8aGFyfz_o,1303
@@ -119,9 +119,9 @@ oarepo_runtime/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
119
119
  oarepo_runtime/utils/functools.py,sha256=gKS9YZtlIYcDvdNA9cmYO00yjiXBYV1jg8VpcRUyQyg,1324
120
120
  oarepo_runtime/utils/path.py,sha256=V1NVyk3m12_YLbj7QHYvUpE1wScO78bYsX1LOLeXDkI,3108
121
121
  tests/pkg_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
- oarepo_runtime-1.5.49.dist-info/LICENSE,sha256=h2uWz0OaB3EN-J1ImdGJZzc7yvfQjvHVYdUhQ-H7ypY,1064
123
- oarepo_runtime-1.5.49.dist-info/METADATA,sha256=FPq2iWKF0kCGw2nu6h4EnTKAWKyM4S_ruEFRbtAsHCc,4697
124
- oarepo_runtime-1.5.49.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
125
- oarepo_runtime-1.5.49.dist-info/entry_points.txt,sha256=QrlXAKuPDVBinaSh_v3yO9_Nb9ZNmJCJ0VFcCW-z0Jg,327
126
- oarepo_runtime-1.5.49.dist-info/top_level.txt,sha256=bHhlkT1_RQC4IkfTQCqA3iN4KCB6cSFQlsXpQMSP-bE,21
127
- oarepo_runtime-1.5.49.dist-info/RECORD,,
122
+ oarepo_runtime-1.5.51.dist-info/LICENSE,sha256=h2uWz0OaB3EN-J1ImdGJZzc7yvfQjvHVYdUhQ-H7ypY,1064
123
+ oarepo_runtime-1.5.51.dist-info/METADATA,sha256=N3Ifs2L5-w8j5mTyfuT3S1JzU2my5cyUJyoiLRDnQwc,4720
124
+ oarepo_runtime-1.5.51.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
125
+ oarepo_runtime-1.5.51.dist-info/entry_points.txt,sha256=QrlXAKuPDVBinaSh_v3yO9_Nb9ZNmJCJ0VFcCW-z0Jg,327
126
+ oarepo_runtime-1.5.51.dist-info/top_level.txt,sha256=bHhlkT1_RQC4IkfTQCqA3iN4KCB6cSFQlsXpQMSP-bE,21
127
+ oarepo_runtime-1.5.51.dist-info/RECORD,,