learning-credentials 0.4.1rc3__py3-none-any.whl → 0.4.1rc5__py3-none-any.whl

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.
@@ -276,9 +276,6 @@ def _write_text_on_template(
276
276
  # Build and render text elements.
277
277
  elements = _build_text_elements(options)
278
278
 
279
- if elements['context']:
280
- elements['context']['text'] = elements['context']['text'].replace(';', '\n')
281
-
282
279
  for config in elements.values():
283
280
  _render_text_element(pdf_canvas, template_width, config, placeholders)
284
281
 
@@ -341,7 +338,7 @@ def generate_pdf_credential(
341
338
  Options:
342
339
 
343
340
  - template (required): The slug of the PDF template asset.
344
- - template_multiline: Alternative template for multiline context names (when using '\n' or ';').
341
+ - template_multiline: Alternative template for multiline context names (when using '\n').
345
342
  - defaults: Global defaults for all text elements.
346
343
  - font: Font name (asset slug). Default: Helvetica.
347
344
  - color: Hex color code. Default: #000.
@@ -379,14 +376,15 @@ def generate_pdf_credential(
379
376
 
380
377
  username = _get_user_name(user)
381
378
 
382
- # Handle multiline context name (semicolon separator for backward compatibility).
383
- context_name = get_learning_context_name(learning_context_key).replace(';', '\n')
379
+ # Handle multiline context name.
380
+ context_name = get_learning_context_name(learning_context_key)
381
+ custom_context_name = ''
384
382
  custom_context_text_element = options.get('text_elements', {}).get('context', {})
385
383
  if isinstance(custom_context_text_element, dict):
386
- context_name = custom_context_text_element.get('text', '').replace(';', '\n') or context_name
384
+ custom_context_name = custom_context_text_element.get('text', '')
387
385
 
388
386
  template_path = options.get('template')
389
- if '\n' in context_name:
387
+ if '\n' in context_name or '\n' in custom_context_name:
390
388
  template_path = options.get('template_multiline', template_path)
391
389
 
392
390
  if not template_path:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: learning-credentials
3
- Version: 0.4.1rc3
3
+ Version: 0.4.1rc5
4
4
  Summary: A pluggable service for preparing Open edX credentials.
5
5
  Author-email: OpenCraft <help@opencraft.com>
6
6
  License-Expression: AGPL-3.0-or-later
@@ -3,7 +3,7 @@ learning_credentials/admin.py,sha256=ynK3tVJwLsIeV7Jk66t1FAVyVsU1G-KRIAdRkycVTmA
3
3
  learning_credentials/apps.py,sha256=trdQxe-JRhUdUaOQoQWiGL1sn6I1sfDiTvdCwy8yGuw,1037
4
4
  learning_credentials/compat.py,sha256=bTAB6bTh99ZyhUqOsDtM_BuIPzFxCjySFtfvc-_fCd4,4731
5
5
  learning_credentials/exceptions.py,sha256=UaqBVXFMWR2Iob7_LMb3j4NNVmWQFAgLi_MNMRUvGsI,290
6
- learning_credentials/generators.py,sha256=pXxIM5GW8bmZVqMFf37wTYLh7L_Oa0pYcUK_N09xFCU,15052
6
+ learning_credentials/generators.py,sha256=gaw3zoEzVhSjo96QM6Q6K70e_iK44LxCuQIQ05p7lP0,14895
7
7
  learning_credentials/models.py,sha256=J_SCNiu42yhdi12eDMLsxNCTkJK7_vqneQjyGYG5KJ4,16048
8
8
  learning_credentials/processors.py,sha256=LkdjmkLBnXc9qeMcksB1T8AQ5ZhYaECyQO__KfHB_aU,15212
9
9
  learning_credentials/tasks.py,sha256=byoFEUvN_ayVaU5K5SlEiA7vu9BRPaSSmKnB9g5toec,1927
@@ -32,9 +32,9 @@ learning_credentials/templates/learning_credentials/edx_ace/certificate_generate
32
32
  learning_credentials/templates/learning_credentials/edx_ace/certificate_generated/email/from_name.txt,sha256=-n8tjPSwfwAfeOSZ1WhcCTrpOah4VswzMZ5mh63Pxow,20
33
33
  learning_credentials/templates/learning_credentials/edx_ace/certificate_generated/email/head.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  learning_credentials/templates/learning_credentials/edx_ace/certificate_generated/email/subject.txt,sha256=S7Hc5T_sZSsSBXm5_H5HBNNv16Ohl0oZn0nVqqeWL0g,132
35
- learning_credentials-0.4.1rc3.dist-info/licenses/LICENSE.txt,sha256=GDpsPnW_1NKhPvZpZL9imz25P2nIpbwJPEhrlq4vPAU,34523
36
- learning_credentials-0.4.1rc3.dist-info/METADATA,sha256=QthOvxG-G77c1pR_MyV82enEqzeOoebI3tuQ1x7d65E,8258
37
- learning_credentials-0.4.1rc3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
38
- learning_credentials-0.4.1rc3.dist-info/entry_points.txt,sha256=hHqqLUEdzAN24v5OGBX9Fr-wh3ATDPjQjByKz03eC2Y,91
39
- learning_credentials-0.4.1rc3.dist-info/top_level.txt,sha256=Ce-4_leZe_nny7CpmkeRiemcDV6jIHpIvLjlcQBuf18,21
40
- learning_credentials-0.4.1rc3.dist-info/RECORD,,
35
+ learning_credentials-0.4.1rc5.dist-info/licenses/LICENSE.txt,sha256=GDpsPnW_1NKhPvZpZL9imz25P2nIpbwJPEhrlq4vPAU,34523
36
+ learning_credentials-0.4.1rc5.dist-info/METADATA,sha256=3s3GUN3RLXq1Zw5fF-VFgpq1xiG_xDhIPFYUt63Z_Rc,8258
37
+ learning_credentials-0.4.1rc5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
38
+ learning_credentials-0.4.1rc5.dist-info/entry_points.txt,sha256=hHqqLUEdzAN24v5OGBX9Fr-wh3ATDPjQjByKz03eC2Y,91
39
+ learning_credentials-0.4.1rc5.dist-info/top_level.txt,sha256=Ce-4_leZe_nny7CpmkeRiemcDV6jIHpIvLjlcQBuf18,21
40
+ learning_credentials-0.4.1rc5.dist-info/RECORD,,