bluer-objects 6.268.1__py3-none-any.whl → 6.274.1__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.

Potentially problematic release.


This version of bluer-objects might be problematic. Click here for more details.

@@ -2,7 +2,7 @@
2
2
 
3
3
  function bluer_objects_ls() {
4
4
  local options=$1
5
- local where=$(bluer_ai_option_choice "$options" cloud,local local)
5
+ local where=$(bluer_ai_option_choice "$options" cloud,local)
6
6
  local objects=$(bluer_ai_option_int "$options" objects 0)
7
7
 
8
8
  if [[ "$objects" == 1 ]]; then
@@ -14,6 +14,11 @@ function bluer_objects_ls() {
14
14
  return
15
15
  fi
16
16
 
17
+ if [[ -z "$where" ]]; then
18
+ ls -1 "$@"
19
+ return
20
+ fi
21
+
17
22
  local object_name=$(bluer_ai_clarify_object $2 .)
18
23
 
19
24
  python3 -m bluer_objects.storage \
@@ -12,6 +12,7 @@ function test_bluer_objects_gif() {
12
12
  bluer_objects_gif \
13
13
  ~upload,$options \
14
14
  $source_object_name \
15
+ --frame_count 20 \
15
16
  --frame_duration 200 \
16
17
  --output_filename test.gif \
17
18
  --scale 2 \
@@ -25,4 +25,8 @@ function test_bluer_objects_ls() {
25
25
  bluer_ai_hr
26
26
 
27
27
  bluer_objects_ls local,objects --prefix 2025-09
28
+ [[ $? -ne 0 ]] && return 1
29
+ bluer_ai_hr
30
+
31
+ bluer_objects_ls $abcli_path_git
28
32
  }
bluer_objects/__init__.py CHANGED
@@ -4,7 +4,7 @@ ICON = "🌀"
4
4
 
5
5
  DESCRIPTION = f"{ICON} Object management in Bash."
6
6
 
7
- VERSION = "6.268.1"
7
+ VERSION = "6.274.1"
8
8
 
9
9
  REPO_NAME = "bluer-objects"
10
10
 
@@ -34,6 +34,12 @@ parser.add_argument(
34
34
  type=str,
35
35
  help="blank: <object-name>.gif",
36
36
  )
37
+ parser.add_argument(
38
+ "--frame_count",
39
+ default=-1,
40
+ type=int,
41
+ help="-1: all",
42
+ )
37
43
  parser.add_argument(
38
44
  "--frame_duration",
39
45
  default=150,
@@ -72,6 +78,7 @@ if args.task == "generate_animated_gif":
72
78
  ),
73
79
  object_name=args.object_name,
74
80
  ),
81
+ frame_count=args.frame_count,
75
82
  frame_duration=args.frame_duration,
76
83
  scale=args.scale,
77
84
  )
@@ -15,6 +15,7 @@ NAME = module.name(__file__, NAME)
15
15
  def generate_animated_gif(
16
16
  list_of_images: List[str],
17
17
  output_filename: str,
18
+ frame_count: int = -1,
18
19
  frame_duration: int = 150,
19
20
  scale: int = 1,
20
21
  log: bool = True,
@@ -22,6 +23,9 @@ def generate_animated_gif(
22
23
  if not list_of_images:
23
24
  return True
24
25
 
26
+ if frame_count != -1:
27
+ list_of_images = list_of_images[:frame_count]
28
+
25
29
  max_width = 0
26
30
  max_height = 0
27
31
  frames = []
@@ -67,7 +71,7 @@ def generate_animated_gif(
67
71
  except Exception:
68
72
  success = False
69
73
 
70
- message = "{}.generate_animated_gif({}x{}x{}) -scale={}-> {} @ {:.2f}ms".format(
74
+ message = "{}.generate_animated_gif({}x{}x{}) -scale={}-> {} @ {:.2f}ms{}".format(
71
75
  NAME,
72
76
  len(list_of_images),
73
77
  height,
@@ -75,6 +79,7 @@ def generate_animated_gif(
75
79
  scale,
76
80
  output_filename,
77
81
  frame_duration,
82
+ "" if frame_count == -1 else " [{} frame(s)]".format(frame_count),
78
83
  )
79
84
 
80
85
  if success:
bluer_objects/help/gif.py CHANGED
@@ -10,6 +10,7 @@ def help_gif(
10
10
  options = xtra("~download,dryrun,~upload", mono=mono)
11
11
 
12
12
  args = [
13
+ "[--frame_count <100>]",
13
14
  "[--frame_duration <150>]",
14
15
  "[--output_filename <object-name>.gif]",
15
16
  "[--scale <1>]",
bluer_objects/help/ls.py CHANGED
@@ -42,9 +42,23 @@ def help_ls(
42
42
  mono=mono,
43
43
  )
44
44
 
45
+ # ---
46
+
47
+ usage_3 = show_usage(
48
+ [
49
+ "@ls",
50
+ "[<path>]",
51
+ ],
52
+ "ls <path>.",
53
+ mono=mono,
54
+ )
55
+
56
+ # ---
57
+
45
58
  return "\n".join(
46
59
  [
47
60
  usage_1,
48
61
  usage_2,
62
+ usage_3,
49
63
  ]
50
64
  )
@@ -24,4 +24,6 @@ def test_graphics_gif_generate_animated_gif(
24
24
  list_of_images,
25
25
  objects.path_of("test.gif", test_object),
26
26
  scale=scale,
27
+ frame_count=10,
28
+ frame_duration=100,
27
29
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_objects
3
- Version: 6.268.1
3
+ Version: 6.274.1
4
4
  Summary: 🌀 Object management in Bash.
5
5
  Home-page: https://github.com/kamangir/bluer-objects
6
6
  Author: Arash Abadpour (Kamangir)
@@ -64,6 +64,6 @@ pip install bluer-objects
64
64
 
65
65
  [![pylint](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-objects.svg)](https://pypi.org/project/bluer-objects/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-objects)](https://pypistats.org/packages/bluer-objects)
66
66
 
67
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.268.1`](https://github.com/kamangir/bluer-objects).
67
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.274.1`](https://github.com/kamangir/bluer-objects).
68
68
 
69
69
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -1,4 +1,4 @@
1
- bluer_objects/__init__.py,sha256=1DFWre2PnLmHMPD012t6Lb3WUFwsqYsE4JdhREj6Vlc,315
1
+ bluer_objects/__init__.py,sha256=qguszjUwVKp81xY-4IuJseuE-ATSnXD3BRojFctJBbU,315
2
2
  bluer_objects/__main__.py,sha256=Yqfov833_hJuRne19WrGhT5DWAPtdffpoMxeSXS7EGw,359
3
3
  bluer_objects/config.env,sha256=ReX0OSH_dK2tdD4-zAlp-427BB57yw8uDTS6tLYN4K0,270
4
4
  bluer_objects/env.py,sha256=ecwldUVsamxAjOI0a6PmbZPcyhdUZgzJ-nhAPh0CJRo,2085
@@ -18,7 +18,7 @@ bluer_objects/.abcli/download.sh,sha256=SKv4JyjcWjOutK95-gurCqbRjpmcrmzxASEEdT23
18
18
  bluer_objects/.abcli/file.sh,sha256=djcHSFS8fqlCsoDyZKmimNTzd-jOUnxbOFpL7xq_hGk,150
19
19
  bluer_objects/.abcli/gif.sh,sha256=cskDoi_BJq5phOAqgJouxH2biC2z3LlDgd9JHAQqvM0,1363
20
20
  bluer_objects/.abcli/host.sh,sha256=N-Gdsk-mR2V2MvFlwlIVwaiGkQyV1DoM5UdhQrpUsls,573
21
- bluer_objects/.abcli/ls.sh,sha256=S1-TGNgxKb8WdKA6rVLZRNqIdAw8VxblQdg4bZ_A1zY,572
21
+ bluer_objects/.abcli/ls.sh,sha256=9IGfGopZNdpkSwA31hXsRG7Ap0KzY3SGAM9takLQe24,639
22
22
  bluer_objects/.abcli/metadata.sh,sha256=EXBB39nn5PRRryIlfetIpR4fPQ-4eDg7Hnee9g1JXrI,377
23
23
  bluer_objects/.abcli/mlflow.sh,sha256=7ylwHrQas-QbAJ8SfDJiN3zbuU6ifLUBEAhPRw38Hpc,625
24
24
  bluer_objects/.abcli/object.sh,sha256=Zh2ZMFqBSIOHwwwLegCMxJRfaYCbPp1EJMT3LvcFzhE,739
@@ -50,10 +50,10 @@ bluer_objects/.abcli/storage/status.sh,sha256=HRbQq9EhoZ1S-GHXOTeclSOTbV-hrEieGA
50
50
  bluer_objects/.abcli/tests/README.sh,sha256=gk2KuNLFTuV3qdVgH8BNfJmur3gZoSV8EwLboVjrCgM,150
51
51
  bluer_objects/.abcli/tests/clone.sh,sha256=Rl9pHvmRJ4H-y-iMA80q11UdSZFrguNaMTez0LTtJjA,473
52
52
  bluer_objects/.abcli/tests/create_test_asset.sh,sha256=onRGc3VjDWA7On3isxKD3J7mxA6n349AVXRj90Z3Jzc,386
53
- bluer_objects/.abcli/tests/gif.sh,sha256=2FvcomiyYTzJa527a7Wk2EJt5N9_vZt8tmQD1QVetDg,461
53
+ bluer_objects/.abcli/tests/gif.sh,sha256=qLbVHcvndl8s3YDHd35T06VR5reAdV-TN7eTXHgTn-s,488
54
54
  bluer_objects/.abcli/tests/help.sh,sha256=y1_iNyS5YQzS7vRV_HpqjBiXihJFAZXHTZEAX7ZRLKU,1885
55
55
  bluer_objects/.abcli/tests/host.sh,sha256=GBuTLNw1sU3fAb5jS-ew_qAfovVCQ5CLaz5ad04IkoA,144
56
- bluer_objects/.abcli/tests/ls.sh,sha256=cwprXK2pBKDMWg71XgooYUgYwP2Ef7cJjbaZi1ggqdk,662
56
+ bluer_objects/.abcli/tests/ls.sh,sha256=l8t2YW5-XbAFC35sAfX0XjAJQjsoz8i-_RnDaLXN-G8,747
57
57
  bluer_objects/.abcli/tests/metadata.sh,sha256=OP1c0h0TSlDycrv0UglKLyBtTQwqh9M0nqVAdQUzkno,1723
58
58
  bluer_objects/.abcli/tests/mlflow_cache.sh,sha256=EEAPGasQgN4j6YLp30_IMYAPCTUBxmTgoMzMSpseVbw,388
59
59
  bluer_objects/.abcli/tests/mlflow_lock.sh,sha256=TJwp6HbVUOT1HqRfXPS8_zpKAL7-mBee_yyOhmKNzt4,717
@@ -80,9 +80,9 @@ bluer_objects/file/functions.py,sha256=YBJFaI5l-bY1LSz8S_hMhbCmym6cULZTF5fzP2W4O
80
80
  bluer_objects/file/load.py,sha256=1zt5xC95HFr89G9lsi3gCJMSvC4Bt0vVeeUEf3NjpOQ,4281
81
81
  bluer_objects/file/save.py,sha256=eXl5pM8Q29Jq8skVkZkU6THoqyMd2FkfFIPgO0-NarM,5056
82
82
  bluer_objects/graphics/__init__.py,sha256=Dd0kQqN7Ldvp1N9oyIirPZ6W3IdUtfPj2u21Bf4W_MI,213
83
- bluer_objects/graphics/__main__.py,sha256=A221gpkUDYd_S2eYz8i6KwaPumg8myaR7L5j464wC54,1909
83
+ bluer_objects/graphics/__main__.py,sha256=5_acfal1MnfzhDrp_pfDbC7oy5uzf6vDiiG3lvgx4VU,2041
84
84
  bluer_objects/graphics/frame.py,sha256=WcSn-0oqDw48Akmn_bwcjDC9U_kKqRYRoGWYPoKyFvY,321
85
- bluer_objects/graphics/gif.py,sha256=V939DovUl2lNf-Yjwn-xa1VYYy8ALfQJHCJSvuEIQh0,2003
85
+ bluer_objects/graphics/gif.py,sha256=yyMUCYZNt5UmvF2suEeHaKZihuMG36KAm-_IddyZF0s,2188
86
86
  bluer_objects/graphics/screen.py,sha256=HF1EqjIsPTLEK4KR-8Rlb2lAVgbHuQNhnu-VL8macOg,1825
87
87
  bluer_objects/graphics/signature.py,sha256=JLml1OR3b4uotZyaAjyrOJworUXuPhp8nDHxHXET_Xo,2295
88
88
  bluer_objects/graphics/text.py,sha256=nnJrLUD4LIurBntSeUFwBOsbhzALXrzHzfDnBVEcFKA,4382
@@ -92,9 +92,9 @@ bluer_objects/help/clone.py,sha256=PDnQs7zc4sqmoBHPjVRfX7jIaePiohPGCNA5bxeerik,5
92
92
  bluer_objects/help/create_test_asset.py,sha256=oxJORm2qk4b_q7EC6-dEuNu1_pK9Ri60PcHhrE8ruxM,375
93
93
  bluer_objects/help/download.py,sha256=9zC_IvH4p2vMXb_qcAS176CBFp5fJe4Z9DFMPdSGBac,751
94
94
  bluer_objects/help/functions.py,sha256=PuiRYDIBDbw3TB0d03dqAvDEc-xqC6fRIAZLYzDpg50,1114
95
- bluer_objects/help/gif.py,sha256=BWxfQoSWeK9ijguUeglZx2wXWZAsnUIxF9LkuimipNA,974
95
+ bluer_objects/help/gif.py,sha256=0yrTJ0U-vyqc94GH5xstAc_C9Ld0pxptdBusOpnbfzQ,1007
96
96
  bluer_objects/help/host.py,sha256=4t4yrPGjTbnFtODcuBjfIzpA5pmmvc5s4QrjIqPPVsM,988
97
- bluer_objects/help/ls.py,sha256=X2QNKMiLj3oXj6lE51HwBoZWaaw9I3JkXNhBTp7sQgA,791
97
+ bluer_objects/help/ls.py,sha256=mD6QyMzR5YLnjmtumudVc7AoCPXkevZRexXyTazekGo,972
98
98
  bluer_objects/help/metadata.py,sha256=fk22NasBcZU1ffY4fu6AxrCzMQtTI28p_ghaSVRrrPM,2811
99
99
  bluer_objects/help/upload.py,sha256=kied2p7II-zCdme_GyDs_74n-15iwyS_RMh2SWLkw1I,460
100
100
  bluer_objects/help/web.py,sha256=YGxzU0GyoQAA8tqnEoGcC4rABFW_RnI44PhvHvIG5dA,626
@@ -146,7 +146,7 @@ bluer_objects/tests/test_file_load_save_text.py,sha256=3XnBGlv3KZvheHY-RlX1Su6LO
146
146
  bluer_objects/tests/test_fullname.py,sha256=xWFf9qqzDQ-4RxRyvyR9GWZyU5qNrKxru94UUKMJfPk,80
147
147
  bluer_objects/tests/test_graphics.py,sha256=mEuk0rWLwr7b2nv4FH6f-RphwfqP23xe2pkjhWe0HgU,238
148
148
  bluer_objects/tests/test_graphics_frame.py,sha256=wRW3MjnfS8edNHiWi_BFJBULoLs1JlJhpFeuCoW5I6A,267
149
- bluer_objects/tests/test_graphics_gif.py,sha256=5vIRJiu1XZ7sjQ2R1VpdiqZszPx4DoZnTCd9UvFjJPY,590
149
+ bluer_objects/tests/test_graphics_gif.py,sha256=5NxBCQWQAzqAcEETdexEaSdZq-pHs1ggK8RZztGYOac,642
150
150
  bluer_objects/tests/test_graphics_screen.py,sha256=26GMDxImz57oWb8mFrNBtiGnctfjO0oNpzi1GLaHEro,138
151
151
  bluer_objects/tests/test_graphics_signature.py,sha256=CVV257E3A5KBwqEDpRXShN-ful1zFwV9S-z-06oFkxM,1588
152
152
  bluer_objects/tests/test_graphics_text.py,sha256=_jLZVuAcQQYlKpATeQCBpPMa8UhKQ__bFYR1bedO5EE,314
@@ -171,8 +171,8 @@ bluer_objects/tests/test_web_is_accessible.py,sha256=2Y20NAEDMblg0MKnhnqcfw3XVKE
171
171
  bluer_objects/web/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
172
172
  bluer_objects/web/__main__.py,sha256=xf2Ob54FI8JEokfGhFmiyOBdD9nBactwqmZvsKsdioU,624
173
173
  bluer_objects/web/functions.py,sha256=KNufAFOc6N3BYf83lN2rUpKUdsnzb2anWyp9koFRVUo,172
174
- bluer_objects-6.268.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
175
- bluer_objects-6.268.1.dist-info/METADATA,sha256=o8fZ4ra5JpZdaWbAlT1qrImkGZzP-hk3oEOXQx5vXRE,3678
176
- bluer_objects-6.268.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
177
- bluer_objects-6.268.1.dist-info/top_level.txt,sha256=RX2TpddbnRkurda3G_pAdyeTztP2IhhRPx949GlEvQo,14
178
- bluer_objects-6.268.1.dist-info/RECORD,,
174
+ bluer_objects-6.274.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
175
+ bluer_objects-6.274.1.dist-info/METADATA,sha256=AQiHVCtw66KzSwwKivunNMghqIWNi7S-Sp-2X3x37FY,3678
176
+ bluer_objects-6.274.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
177
+ bluer_objects-6.274.1.dist-info/top_level.txt,sha256=RX2TpddbnRkurda3G_pAdyeTztP2IhhRPx949GlEvQo,14
178
+ bluer_objects-6.274.1.dist-info/RECORD,,