pypipr 1.0.111__py3-none-any.whl → 1.0.112__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.
pypipr/__terminal__.py CHANGED
@@ -10,7 +10,8 @@ def main():
10
10
  while isinstance(m, list):
11
11
  if a is None:
12
12
  pd = True
13
- for i, v in dict(enumerate(m)).items():
13
+ # for i, v in dict(enumerate(m)).items():
14
+ for i, v in enumerate(m):
14
15
  print(f"{i}. {v}")
15
16
  pypipr.print_colorize("Masukan Nomor Urut atau Nama Fungsi : ", text_end="")
16
17
  a = input()
@@ -20,7 +21,8 @@ def main():
20
21
  if a.isdigit():
21
22
  m = pypipr.get_by_index(m, int(a))
22
23
  else:
23
- m = [v for v in m if v.__contains__(a)]
24
+ # m = [v for v in m if v.__contains__(a)]
25
+ m = [v for v in m if a in v]
24
26
  if len(m) == 1:
25
27
  m = pypipr.get_by_index(m, 0)
26
28
  pypipr.exit_if_empty(m)
pypipr/choices.py CHANGED
@@ -1,10 +1,11 @@
1
- from .is_iterable import is_iterable
1
+ from .ienumerate import ienumerate
2
2
  from .WINDOWS import WINDOWS
3
3
  from .print_to_last_line import print_to_last_line
4
4
  from .text_colorize import text_colorize
5
+ from .int_to_int import int_to_int
5
6
 
6
7
 
7
- def choices(iterator, title=None, prompt="", default=None):
8
+ def choices(iterator, title=None, prompt="", default=None, key=int_to_int):
8
9
  """
9
10
  Memudahkan dalam membuat pilihan untuk user dalam tampilan console
10
11
 
@@ -28,17 +29,13 @@ def choices(iterator, title=None, prompt="", default=None):
28
29
  """
29
30
 
30
31
  def build_iterator(iterator):
31
- if not is_iterable(iterator):
32
- iterator = [iterator]
33
- if not isinstance(iterator, dict):
34
- iterator = dict(enumerate(iterator))
35
- return iterator
32
+ return ienumerate(iterator, key=key)
36
33
 
37
34
  def print_choices(dictionary, title=None):
38
35
  if title:
39
36
  print(title)
40
37
  for k, v in dictionary.items():
41
- print(f"[{k}] {v}")
38
+ print(f"{k}. {v}")
42
39
 
43
40
  def input_choices(prompt):
44
41
  i = input(prompt)
pypipr/choices.py.bak ADDED
@@ -0,0 +1,64 @@
1
+ from .is_iterable import is_iterable
2
+ from .WINDOWS import WINDOWS
3
+ from .print_to_last_line import print_to_last_line
4
+ from .text_colorize import text_colorize
5
+
6
+
7
+ def choices(iterator, title=None, prompt="", default=None):
8
+ """
9
+ Memudahkan dalam membuat pilihan untuk user dalam tampilan console
10
+
11
+ ```py
12
+ a = choices("ini hanya satu pilihan")
13
+ b = choices(
14
+ {
15
+ "sedan": "audi",
16
+ "suv": "volvo",
17
+ "truck": "tesla",
18
+ },
19
+ title="Car Model",
20
+ prompt="Pilih Mobil : ",
21
+ )
22
+ c = choices(
23
+ iscandir(recursive=False),
24
+ title="List File dan Folder",
25
+ prompt="Pilih File atau Folder : ",
26
+ )
27
+ ```
28
+ """
29
+
30
+ def build_iterator(iterator):
31
+ if not is_iterable(iterator):
32
+ iterator = [iterator]
33
+ if not isinstance(iterator, dict):
34
+ iterator = dict(enumerate(iterator))
35
+ return iterator
36
+
37
+ def print_choices(dictionary, title=None):
38
+ if title:
39
+ print(title)
40
+ for k, v in dictionary.items():
41
+ print(f"[{k}] {v}")
42
+
43
+ def input_choices(prompt):
44
+ i = input(prompt)
45
+ if WINDOWS:
46
+ i = i.decode()
47
+ if i.isdigit():
48
+ i = int(i)
49
+ return i
50
+
51
+ def return_choices(iterator, key, on_error):
52
+ try:
53
+ result = iterator[key]
54
+ except Exception:
55
+ result = on_error
56
+ return result
57
+
58
+ d = build_iterator(iterator)
59
+ print_choices(d, title)
60
+ key = input_choices(prompt)
61
+ result = return_choices(d, key, default)
62
+ r = text_colorize(result)
63
+ print_to_last_line(f"{prompt}{key} [{r}]")
64
+ return result
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pypipr
3
- Version: 1.0.111
3
+ Version: 1.0.112
4
4
  Summary: The Python Package Index Project
5
5
  Author: ufiapjj
6
6
  Author-email: ufiapjj@gmail.com
@@ -245,8 +245,8 @@ print(list(irange(10, 5)))
245
245
 
246
246
  Output:
247
247
  ```py
248
- <generator object chr_range at 0x7426cec9d0>
249
- <generator object chr_range at 0x7426cec9d0>
248
+ <generator object chr_range at 0x730b2b89d0>
249
+ <generator object chr_range at 0x730b2b89d0>
250
250
  ['a', 'k', 'u']
251
251
  [1, 2, 3, 4, 5, 6]
252
252
  [10, 9, 8, 7, 6]
@@ -273,7 +273,7 @@ print(list(batchmaker(s)))
273
273
 
274
274
  Output:
275
275
  ```py
276
- <generator object batchmaker at 0x7426d18280>
276
+ <generator object batchmaker at 0x730b2e4280>
277
277
  ['Urutan 1 dan 10 dan j dan Z saja.', 'Urutan 1 dan 10 dan j dan K saja.', 'Urutan 4 dan 10 dan j dan Z saja.', 'Urutan 4 dan 10 dan j dan K saja.']
278
278
  ```
279
279
 
@@ -327,38 +327,30 @@ print(list(batch_calculate("{1 10} m ** {1 3}")))
327
327
 
328
328
  Output:
329
329
  ```py
330
- <generator object batch_calculate at 0x7426c97010>
330
+ <generator object batch_calculate at 0x730b25f100>
331
331
  [('1 m ** 1', <Quantity(1, 'meter')>), ('1 m ** 2', <Quantity(1, 'meter ** 2')>), ('2 m ** 1', <Quantity(2, 'meter')>), ('2 m ** 2', <Quantity(2, 'meter ** 2')>), ('3 m ** 1', <Quantity(3, 'meter')>), ('3 m ** 2', <Quantity(3, 'meter ** 2')>), ('4 m ** 1', <Quantity(4, 'meter')>), ('4 m ** 2', <Quantity(4, 'meter ** 2')>), ('5 m ** 1', <Quantity(5, 'meter')>), ('5 m ** 2', <Quantity(5, 'meter ** 2')>), ('6 m ** 1', <Quantity(6, 'meter')>), ('6 m ** 2', <Quantity(6, 'meter ** 2')>), ('7 m ** 1', <Quantity(7, 'meter')>), ('7 m ** 2', <Quantity(7, 'meter ** 2')>), ('8 m ** 1', <Quantity(8, 'meter')>), ('8 m ** 2', <Quantity(8, 'meter ** 2')>), ('9 m ** 1', <Quantity(9, 'meter')>), ('9 m ** 2', <Quantity(9, 'meter ** 2')>)]
332
332
  ```
333
333
 
334
- ## is_iterable
334
+ ## int_to_int
335
335
 
336
- `is_iterable(var, str_is_iterable=False)`
336
+ `int_to_int(n)`
337
337
 
338
- Mengecek apakah suatu variabel bisa dilakukan forloop atau tidak
338
+ Fungsi ini sama seperti fungsi int().
339
+ fungsi ini dibuat hanya untuk keperluan pembuatan module semata.
339
340
 
340
341
  ```python
341
- s = 'ini string'
342
- print(is_iterable(s))
343
-
344
- l = [12,21,2,1]
345
- print(is_iterable(l))
346
-
347
- r = range(100)
348
- print(is_iterable(r))
349
-
350
- d = {'a':1, 'b':2}
351
- print(is_iterable(d.values()))
342
+ print(int_to_int(7777))
352
343
  ```
353
344
 
354
345
  Output:
355
346
  ```py
356
- False
357
- True
358
- True
359
- True
347
+ 7777
360
348
  ```
361
349
 
350
+ ## ienumerate
351
+
352
+ `ienumerate(iterator, start=0, key=<function int_to_int at 0x731029c4a0>)`
353
+
362
354
  ## print_to_last_line
363
355
 
364
356
  `print_to_last_line(text: str, latest=1, clear=True)`
@@ -384,7 +376,7 @@ text_colorize("Print some text", color=colorama.Fore.RED)
384
376
 
385
377
  ## choices
386
378
 
387
- `choices(iterator, title=None, prompt='', default=None)`
379
+ `choices(iterator, title=None, prompt='', default=None, key=<function int_to_int at 0x731029c4a0>)`
388
380
 
389
381
  Memudahkan dalam membuat pilihan untuk user dalam tampilan console
390
382
 
@@ -420,7 +412,7 @@ print(list(chunk_array(arr, 5)))
420
412
 
421
413
  Output:
422
414
  ```py
423
- <generator object chunk_array at 0x7426d24540>
415
+ <generator object chunk_array at 0x730b2f0540>
424
416
  [[2, 3, 12, 3, 3], [42, 42, 1, 43, 2], [42, 41, 4, 24, 32], [42, 3, 12, 32, 42], [42]]
425
417
  ```
426
418
 
@@ -471,9 +463,9 @@ print(datetime_now("Etc/GMT+7"))
471
463
 
472
464
  Output:
473
465
  ```py
474
- 2024-04-30 18:51:07.832996+07:00
475
- 2024-04-30 11:51:07.834956+00:00
476
- 2024-04-30 04:51:07.841376-07:00
466
+ 2024-04-30 19:16:49.963720+07:00
467
+ 2024-04-30 12:16:49.965180+00:00
468
+ 2024-04-30 05:16:49.969415-07:00
477
469
  ```
478
470
 
479
471
  ## dict_first
@@ -555,6 +547,34 @@ var2 = '0'
555
547
  exit_if_empty(var1, var2)
556
548
  ```
557
549
 
550
+ ## is_iterable
551
+
552
+ `is_iterable(var, str_is_iterable=False)`
553
+
554
+ Mengecek apakah suatu variabel bisa dilakukan forloop atau tidak
555
+
556
+ ```python
557
+ s = 'ini string'
558
+ print(is_iterable(s))
559
+
560
+ l = [12,21,2,1]
561
+ print(is_iterable(l))
562
+
563
+ r = range(100)
564
+ print(is_iterable(r))
565
+
566
+ d = {'a':1, 'b':2}
567
+ print(is_iterable(d.values()))
568
+ ```
569
+
570
+ Output:
571
+ ```py
572
+ False
573
+ True
574
+ True
575
+ True
576
+ ```
577
+
558
578
  ## to_str
559
579
 
560
580
  `to_str(value)`
@@ -591,7 +611,7 @@ print(filter_empty(var))
591
611
 
592
612
  Output:
593
613
  ```py
594
- <generator object filter_empty at 0x7426c955d0>
614
+ <generator object filter_empty at 0x730b25d6c0>
595
615
  ```
596
616
 
597
617
  ## get_by_index
@@ -637,8 +657,8 @@ print(list(get_class_method(ExampleGetClassMethod)))
637
657
 
638
658
  Output:
639
659
  ```py
640
- <generator object get_class_method at 0x7426c972e0>
641
- [<function ExampleGetClassMethod.a at 0x7426d38ea0>, <function ExampleGetClassMethod.b at 0x7426d39120>, <function ExampleGetClassMethod.c at 0x7426d391c0>, <function ExampleGetClassMethod.d at 0x7426d39260>]
660
+ <generator object get_class_method at 0x730b25f3d0>
661
+ [<function ExampleGetClassMethod.a at 0x730b301080>, <function ExampleGetClassMethod.b at 0x730b301120>, <function ExampleGetClassMethod.c at 0x730b3011c0>, <function ExampleGetClassMethod.d at 0x730b301260>]
642
662
  ```
643
663
 
644
664
  ## get_filesize
@@ -873,26 +893,6 @@ t:
873
893
 
874
894
  ```
875
895
 
876
- ## int_to_int
877
-
878
- `int_to_int(n)`
879
-
880
- Fungsi ini sama seperti fungsi int().
881
- fungsi ini dibuat hanya untuk keperluan pembuatan module semata.
882
-
883
- ```python
884
- print(int_to_int(7777))
885
- ```
886
-
887
- Output:
888
- ```py
889
- 7777
890
- ```
891
-
892
- ## ienumerate
893
-
894
- `ienumerate(iterator, start=0, key=<function int_to_int at 0x742e811bc0>)`
895
-
896
896
  ## ienv
897
897
 
898
898
  `ienv(on_windows=None, on_linux=None)`
@@ -956,7 +956,7 @@ print(ijoin(10, ' '))
956
956
 
957
957
  Output:
958
958
  ```py
959
- qweqw, dfs, asd, weq
959
+ asd, weq, dfs, qweqw
960
960
  ,ini,path,seperti,url,
961
961
  ini,path,seperti,url
962
962
  <li>satu</li>
@@ -1000,9 +1000,9 @@ Output:
1000
1000
  ```py
1001
1001
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
1002
1002
  [['Harga Emas Hari Ini - Selasa, 30 April 2024'],
1003
- ['Spot Emas USD↓2.311,17 (-33,37) / oz',
1003
+ ['Spot Emas USD↓2.311,01 (-33,53) / oz',
1004
1004
  'Kurs IDR↑16.249,00 (+27,00) / USD',
1005
- 'Emas IDR↓1.207.396 (-15.398) / gr'],
1005
+ 'Emas IDR↓1.207.312 (-15.481) / gr'],
1006
1006
  ['LM Antam (Jual)1.325.000 / gr', 'LM Antam (Beli)1.221.000 / gr']],
1007
1007
  [['Harga Emas Hari Ini'],
1008
1008
  ['Gram', 'Gedung Antam Jakarta', 'Pegadaian'],
@@ -1040,10 +1040,10 @@ Output:
1040
1040
  'Update harga LM Pegadaian :31 Agustus 2023']],
1041
1041
  [['Spot Harga Emas Hari Ini (Market Open)'],
1042
1042
  ['Satuan', 'USD', 'Kurs\xa0Dollar', 'IDR'],
1043
- ['Ounce\xa0(oz)', '2.311,17 (-33,37)', '16.249,00 (+27,00)', '37.554.201'],
1044
- ['Gram\xa0(gr)', '74,31', '16.249,00', '1.207.396 (-15.398)'],
1045
- ['Kilogram\xa0(kg)', '74.305,84', '16.249,00', '1.207.395.611'],
1046
- ['Update harga emas :30 April 2024, pukul 18:51Update kurs :30 April 2024, '
1043
+ ['Ounce\xa0(oz)', '2.311,01 (-33,53)', '16.249,00 (+27,00)', '37.551.601'],
1044
+ ['Gram\xa0(gr)', '74,30', '16.249,00', '1.207.312 (-15.481)'],
1045
+ ['Kilogram\xa0(kg)', '74.300,70', '16.249,00', '1.207.312.024'],
1046
+ ['Update harga emas :30 April 2024, pukul 19:16Update kurs :30 April 2024, '
1047
1047
  'pukul 13:10']],
1048
1048
  [['Gram', 'UBS Gold 99.99%'],
1049
1049
  ['Jual', 'Beli'],
@@ -1065,36 +1065,36 @@ Output:
1065
1065
  ['Unit', 'USD', 'IDR'],
1066
1066
  ['Angka', '+/-', 'Angka', '+/-'],
1067
1067
  ['Hari Ini', 'Kurs', '', '', '16.222', '+27+0,17%'],
1068
- ['oz', '2.344,54', '-33,37-1,42%', '38.033.128', '-478.927-1,26%'],
1069
- ['gr', '75,38', '-1,07-1,42%', '1.222.793', '-15.398-1,26%'],
1068
+ ['oz', '2.344,54', '-33,53-1,43%', '38.033.128', '-481.526-1,27%'],
1069
+ ['gr', '75,38', '-1,08-1,43%', '1.222.793', '-15.481-1,27%'],
1070
1070
  ['30 Hari', 'Kurs', '', '', '15.853', '+396+2,50%'],
1071
- ['oz', '2.232,75', '+78,42+3,51%', '35.395.786', '+2.158.416+6,10%'],
1072
- ['gr', '71,78', '+2,52+3,51%', '1.138.001', '+69.395+6,10%'],
1071
+ ['oz', '2.232,75', '+78,26+3,51%', '35.395.786', '+2.155.816+6,09%'],
1072
+ ['gr', '71,78', '+2,52+3,51%', '1.138.001', '+69.311+6,09%'],
1073
1073
  ['2 Bulan', 'Kurs', '', '', '15.715', '+534+3,40%'],
1074
- ['oz', '2.081,20', '+229,97+11,05%', '32.706.058', '+4.848.143+14,82%'],
1075
- ['gr', '66,91', '+7,39+11,05', '1.051.524', '+155.871+14,82%'],
1074
+ ['oz', '2.081,20', '+229,81+11,04%', '32.706.058', '+4.845.543+14,82%'],
1075
+ ['gr', '66,91', '+7,39+11,04', '1.051.524', '+155.788+14,82%'],
1076
1076
  ['6 Bulan', 'Kurs', '', '', '15.946', '+303+1,90%'],
1077
- ['oz', '1.981,84', '+329,33+16,62%', '31.602.421', '+5.951.781+18,83%'],
1078
- ['gr', '63,72', '+10,59+16,62%', '1.016.041', '+191.354+18,83%'],
1077
+ ['oz', '1.981,84', '+329,17+16,61%', '31.602.421', '+5.949.181+18,83%'],
1078
+ ['gr', '63,72', '+10,58+16,61%', '1.016.041', '+191.271+18,83%'],
1079
1079
  ['1 Tahun', 'Kurs', '', '', '15.731', '+518+3,29%'],
1080
- ['oz', '1.823,86', '+487,31+26,72%', '28.691.142', '+8.863.060+30,89%'],
1081
- ['gr', '58,64', '+15,67+26,72%', '922.442', '+284.954+30,89%'],
1080
+ ['oz', '1.823,86', '+487,15+26,71%', '28.691.142', '+8.860.460+30,88%'],
1081
+ ['gr', '58,64', '+15,66+26,71%', '922.442', '+284.870+30,88%'],
1082
1082
  ['2 Tahun', 'Kurs', '', '', '14.418', '+1.831+12,70%'],
1083
- ['oz', '1.896,95', '+414,22+21,84%', '27.350.225', '+10.203.976+37,31%'],
1084
- ['gr', '60,99', '+13,32+21,84%', '879.330', '+328.065+37,31%'],
1083
+ ['oz', '1.896,95', '+414,06+21,83%', '27.350.225', '+10.201.376+37,30%'],
1084
+ ['gr', '60,99', '+13,31+21,83%', '879.330', '+327.982+37,30%'],
1085
1085
  ['3 Tahun', 'Kurs', '', '', '14.468', '+1.781+12,31%'],
1086
- ['oz', '1.768,91', '+542,26+30,66%', '25.592.590', '+11.961.611+46,74%'],
1087
- ['gr', '56,87', '+17,43+30,66%', '822.821', '+384.575+46,74%'],
1086
+ ['oz', '1.768,91', '+542,10+30,65%', '25.592.590', '+11.959.012+46,73%'],
1087
+ ['gr', '56,87', '+17,43+30,65%', '822.821', '+384.491+46,73%'],
1088
1088
  ['5 Tahun', 'Kurs', '', '', '14.245', '+2.004+14,07%'],
1089
- ['oz', '1.270,94', '+1.040,23+81,85%', '18.104.540', '+19.449.661+107,43%'],
1090
- ['gr', '40,86', '+33,44+81,85%', '582.074', '+625.321+107,43%']])
1089
+ ['oz', '1.270,94', '+1.040,07+81,83%', '18.104.540', '+19.447.061+107,42%'],
1090
+ ['gr', '40,86', '+33,44+81,83%', '582.074', '+625.238+107,42%']])
1091
1091
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
1092
1092
  [[''],
1093
1093
  ['Emas 24 KaratHarga Emas 1 Gram', ''],
1094
- ['USD', '74,31↓', '-1,07-1,42%'],
1095
- ['KURS', '16.243,25↑', '+29,75+0,18%'],
1096
- ['IDR', '1.206.968,35↓', '-15.184,39-1,24%'],
1097
- ['Selasa, 30 April 2024 18:51']],
1094
+ ['USD', '74,30↓', '-1,08-1,43%'],
1095
+ ['KURS', '16.243,45↑', '+29,95+0,18%'],
1096
+ ['IDR', '1.206.899,66↓', '-15.253,08-1,25%'],
1097
+ ['Selasa, 30 April 2024 19:16']],
1098
1098
  [[''],
1099
1099
  ['Emas 1 Gram (IDR)Emas 1 Gram (USD)Kurs USD-IDR',
1100
1100
  'Hari Ini',
@@ -1105,19 +1105,19 @@ Output:
1105
1105
  '']],
1106
1106
  [['Pergerakkan Harga Emas 1 Gram'],
1107
1107
  ['', 'Penutupan Kemarin', 'Pergerakkan Hari Ini', 'Rata-rata'],
1108
- ['USD', '75,38', '74,31 - 75,38', '74,85'],
1109
- ['KURS', '16.213,50', '16.213,50 - 16.243,25', '16.228,38'],
1110
- ['IDR', '1.222.152,74', '1.206.968,35 - 1.222.152,74', '1.214.560,55'],
1108
+ ['USD', '75,38', '74,30 - 75,38', '74,84'],
1109
+ ['KURS', '16.213,50', '16.213,50 - 16.243,45', '16.228,48'],
1110
+ ['IDR', '1.222.152,74', '1.206.899,66 - 1.222.152,74', '1.214.526,20'],
1111
1111
  [''],
1112
1112
  ['', 'Awal Tahun', 'Pergerakkan YTD', '+/- YTD'],
1113
- ['USD', '66,32', '64,07 - 77,14', '+7,99 (12,05%)'],
1114
- ['KURS', '15.390,10', '15.390,00 - 16.307,80', '+853,15 (5,54%)'],
1115
- ['IDR', '1.020.729,53', '997.660,12 - 1.256.829,06', '+186.238,82 (18,25%)'],
1113
+ ['USD', '66,32', '64,07 - 77,14', '+7,98 (12,03%)'],
1114
+ ['KURS', '15.390,10', '15.390,00 - 16.307,80', '+853,35 (5,54%)'],
1115
+ ['IDR', '1.020.729,53', '997.660,12 - 1.256.829,06', '+186.170,13 (18,24%)'],
1116
1116
  [''],
1117
1117
  ['', 'Tahun Lalu / 52 Minggu', 'Pergerakkan 52 Minggu', '+/- 52 Minggu'],
1118
- ['USD', '63,97', '58,43 - 77,14', '+10,34 (16,16%)'],
1119
- ['KURS', '14.673,55', '14.669,40 - 16.307,80', '+1.569,70 (10,70%)'],
1120
- ['IDR', '938.709,73', '912.925,68 - 1.256.829,06', '+268.258,62 (28,58%)']])
1118
+ ['USD', '63,97', '58,43 - 77,14', '+10,33 (16,15%)'],
1119
+ ['KURS', '14.673,55', '14.669,40 - 16.307,80', '+1.569,90 (10,70%)'],
1120
+ ['IDR', '938.709,73', '912.925,68 - 1.256.829,06', '+268.189,93 (28,57%)']])
1121
1121
  ```
1122
1122
 
1123
1123
  ## iloads
@@ -1259,7 +1259,7 @@ Output:
1259
1259
  ```py
1260
1260
  8
1261
1261
  ['mana', 'aja']
1262
- [<Element a at 0x7426d2e990>, <Element a at 0x7426d6d040>, <Element a at 0x7426d6d0e0>, <Element a at 0x7426d6d130>, <Element a at 0x7426d6d180>, <Element a at 0x7426d6d1d0>, <Element a at 0x7426d6d220>, <Element a at 0x7426d6d270>, <Element a at 0x7426d6d2c0>, <Element a at 0x7426d6d310>, <Element a at 0x7426d6d360>, <Element a at 0x7426d6d3b0>, <Element a at 0x7426d6d400>, <Element a at 0x7426d6d450>, <Element a at 0x7426d6d4a0>, <Element a at 0x7426d6d4f0>, <Element a at 0x7426d6d540>, <Element a at 0x7426d6d590>]
1262
+ [<Element a at 0x730b2faad0>, <Element a at 0x730b339180>, <Element a at 0x730b339220>, <Element a at 0x730b339270>, <Element a at 0x730b3392c0>, <Element a at 0x730b339310>, <Element a at 0x730b339360>, <Element a at 0x730b3393b0>, <Element a at 0x730b339400>, <Element a at 0x730b339450>, <Element a at 0x730b3394a0>, <Element a at 0x730b3394f0>, <Element a at 0x730b339540>, <Element a at 0x730b339590>, <Element a at 0x730b3395e0>, <Element a at 0x730b339630>, <Element a at 0x730b339680>, <Element a at 0x730b3396d0>]
1263
1263
  False
1264
1264
  ```
1265
1265
 
@@ -1321,7 +1321,7 @@ print(list(iscandir("./", recursive=False, scan_file=False)))
1321
1321
 
1322
1322
  Output:
1323
1323
  ```py
1324
- <generator object iscandir at 0x7426d24740>
1324
+ <generator object iscandir at 0x730b2f0740>
1325
1325
  [PosixPath('.git'), PosixPath('.vscode'), PosixPath('pypipr'), PosixPath('__pycache__'), PosixPath('dist')]
1326
1326
  ```
1327
1327
 
@@ -1358,73 +1358,73 @@ Output:
1358
1358
  'ComparePerformance': <class 'pypipr.ComparePerformance.ComparePerformance'>,
1359
1359
  'PintUregQuantity': <class 'pint.Quantity'>,
1360
1360
  'RunParallel': <class 'pypipr.RunParallel.RunParallel'>},
1361
- 'function': {'avg': <function avg at 0x74376da700>,
1362
- 'get_filemtime': <function get_filemtime at 0x742e73f2e0>,
1363
- 'print_colorize': <function print_colorize at 0x742e73f4c0>,
1364
- 'print_log': <function print_log at 0x742e9cab60>,
1365
- 'console_run': <function console_run at 0x742e73f380>,
1366
- 'auto_reload': <function auto_reload at 0x742e8fbec0>,
1367
- 'basename': <function basename at 0x742e73f240>,
1368
- 'chr_to_int': <function chr_to_int at 0x742e73fa60>,
1369
- 'int_to_chr': <function int_to_chr at 0x742e73fb00>,
1370
- 'irange': <function irange at 0x742e73fd80>,
1371
- 'batchmaker': <function batchmaker at 0x742e73f740>,
1372
- 'calculate': <function calculate at 0x742e7342c0>,
1373
- 'batch_calculate': <function batch_calculate at 0x742e73f600>,
1374
- 'is_iterable': <function is_iterable at 0x742e734360>,
1375
- 'print_to_last_line': <function print_to_last_line at 0x742e734400>,
1376
- 'text_colorize': <function text_colorize at 0x742e7344a0>,
1377
- 'choices': <function choices at 0x742e73f6a0>,
1378
- 'chunk_array': <function chunk_array at 0x742e73f7e0>,
1379
- 'create_folder': <function create_folder at 0x742e734540>,
1380
- 'datetime_from_string': <function datetime_from_string at 0x742e7345e0>,
1381
- 'datetime_now': <function datetime_now at 0x742e734680>,
1382
- 'dict_first': <function dict_first at 0x742e734720>,
1383
- 'dirname': <function dirname at 0x742e7347c0>,
1384
- 'is_empty': <function is_empty at 0x742e7349a0>,
1385
- 'exit_if_empty': <function exit_if_empty at 0x742e73f560>,
1386
- 'to_str': <function to_str at 0x742e734ae0>,
1387
- 'filter_empty': <function filter_empty at 0x742e734860>,
1388
- 'get_by_index': <function get_by_index at 0x742e734a40>,
1389
- 'get_class_method': <function get_class_method at 0x742e734b80>,
1390
- 'get_filesize': <function get_filesize at 0x742e734cc0>,
1391
- 'github_pull': <function github_pull at 0x742e734d60>,
1392
- 'github_push': <function github_push at 0x742e734f40>,
1393
- 'github_user': <function github_user at 0x742e734fe0>,
1394
- 'iargv': <function iargv at 0x742e734e00>,
1395
- 'idumps_html': <function idumps_html at 0x742e735260>,
1396
- 'idumps': <function idumps at 0x742e735120>,
1397
- 'int_to_int': <function int_to_int at 0x742e811bc0>,
1398
- 'ienumerate': <function ienumerate at 0x742e735760>,
1399
- 'ienv': <function ienv at 0x742e811a80>,
1400
- 'iexec': <function iexec at 0x742e811c60>,
1401
- 'ijoin': <function ijoin at 0x742e811da0>,
1402
- 'iloads_html': <function iloads_html at 0x742e811f80>,
1403
- 'iloads': <function iloads at 0x742e811d00>,
1404
- 'input_char': <function input_char at 0x742e811ee0>,
1405
- 'int_to_bin': <function int_to_bin at 0x742e812020>,
1406
- 'int_to_hex': <function int_to_hex at 0x742e8120c0>,
1407
- 'int_to_oct': <function int_to_oct at 0x742e812160>,
1408
- 'is_valid_url': <function is_valid_url at 0x742e812340>,
1409
- 'iopen': <function iopen at 0x742e5fe7a0>,
1410
- 'iprint': <function iprint at 0x742e8122a0>,
1411
- 'ireplace': <function ireplace at 0x742e812660>,
1412
- 'iscandir': <function iscandir at 0x742e6b9ee0>,
1413
- 'isplit': <function isplit at 0x742e6b9f80>,
1414
- 'ivars': <function ivars at 0x742e6ba020>,
1415
- 'log': <function log at 0x742e6ba0c0>,
1416
- 'password_generator': <function password_generator at 0x742e6ba160>,
1417
- 'pip_freeze_without_version': <function pip_freeze_without_version at 0x742e6ba2a0>,
1418
- 'poetry_publish': <function poetry_publish at 0x742e6ba340>,
1419
- 'poetry_update_version': <function poetry_update_version at 0x742e6ba480>,
1420
- 'print_dir': <function print_dir at 0x742e6ba660>,
1421
- 'random_bool': <function random_bool at 0x742e6ba700>,
1422
- 'restart': <function restart at 0x742e6ba7a0>,
1423
- 'set_timeout': <function set_timeout at 0x742e6ba840>,
1424
- 'sets_ordered': <function sets_ordered at 0x742e6ba8e0>,
1425
- 'str_cmp': <function str_cmp at 0x742e6ba980>},
1361
+ 'function': {'avg': <function avg at 0x7315236700>,
1362
+ 'get_filemtime': <function get_filemtime at 0x73102ab2e0>,
1363
+ 'print_colorize': <function print_colorize at 0x73102ab4c0>,
1364
+ 'print_log': <function print_log at 0x7310532b60>,
1365
+ 'console_run': <function console_run at 0x73102ab380>,
1366
+ 'auto_reload': <function auto_reload at 0x7310463ec0>,
1367
+ 'basename': <function basename at 0x73102ab240>,
1368
+ 'chr_to_int': <function chr_to_int at 0x73102aba60>,
1369
+ 'int_to_chr': <function int_to_chr at 0x73102abb00>,
1370
+ 'irange': <function irange at 0x73102abd80>,
1371
+ 'batchmaker': <function batchmaker at 0x73102ab740>,
1372
+ 'calculate': <function calculate at 0x731029c2c0>,
1373
+ 'batch_calculate': <function batch_calculate at 0x73102ab600>,
1374
+ 'int_to_int': <function int_to_int at 0x731029c4a0>,
1375
+ 'ienumerate': <function ienumerate at 0x731029c360>,
1376
+ 'print_to_last_line': <function print_to_last_line at 0x731029c400>,
1377
+ 'text_colorize': <function text_colorize at 0x731029c540>,
1378
+ 'choices': <function choices at 0x73102ab6a0>,
1379
+ 'chunk_array': <function chunk_array at 0x73102ab7e0>,
1380
+ 'create_folder': <function create_folder at 0x731029c5e0>,
1381
+ 'datetime_from_string': <function datetime_from_string at 0x731029c680>,
1382
+ 'datetime_now': <function datetime_now at 0x731029c720>,
1383
+ 'dict_first': <function dict_first at 0x731029c7c0>,
1384
+ 'dirname': <function dirname at 0x731029c860>,
1385
+ 'is_empty': <function is_empty at 0x731029ca40>,
1386
+ 'exit_if_empty': <function exit_if_empty at 0x731029c900>,
1387
+ 'is_iterable': <function is_iterable at 0x731029cb80>,
1388
+ 'to_str': <function to_str at 0x731029cc20>,
1389
+ 'filter_empty': <function filter_empty at 0x731029c9a0>,
1390
+ 'get_by_index': <function get_by_index at 0x731029cae0>,
1391
+ 'get_class_method': <function get_class_method at 0x731029ccc0>,
1392
+ 'get_filesize': <function get_filesize at 0x731029ce00>,
1393
+ 'github_pull': <function github_pull at 0x731029cea0>,
1394
+ 'github_push': <function github_push at 0x731029d080>,
1395
+ 'github_user': <function github_user at 0x731029d120>,
1396
+ 'iargv': <function iargv at 0x731029cfe0>,
1397
+ 'idumps_html': <function idumps_html at 0x731029d3a0>,
1398
+ 'idumps': <function idumps at 0x731029d260>,
1399
+ 'ienv': <function ienv at 0x731029d8a0>,
1400
+ 'iexec': <function iexec at 0x7310379bc0>,
1401
+ 'ijoin': <function ijoin at 0x7310379da0>,
1402
+ 'iloads_html': <function iloads_html at 0x7310379f80>,
1403
+ 'iloads': <function iloads at 0x7310379d00>,
1404
+ 'input_char': <function input_char at 0x7310379ee0>,
1405
+ 'int_to_bin': <function int_to_bin at 0x731037a020>,
1406
+ 'int_to_hex': <function int_to_hex at 0x731037a0c0>,
1407
+ 'int_to_oct': <function int_to_oct at 0x731037a160>,
1408
+ 'is_valid_url': <function is_valid_url at 0x731037a340>,
1409
+ 'iopen': <function iopen at 0x73101ae7a0>,
1410
+ 'iprint': <function iprint at 0x731037a2a0>,
1411
+ 'ireplace': <function ireplace at 0x731037a660>,
1412
+ 'iscandir': <function iscandir at 0x7310265ee0>,
1413
+ 'isplit': <function isplit at 0x7310265f80>,
1414
+ 'ivars': <function ivars at 0x7310266020>,
1415
+ 'log': <function log at 0x73102660c0>,
1416
+ 'password_generator': <function password_generator at 0x7310266160>,
1417
+ 'pip_freeze_without_version': <function pip_freeze_without_version at 0x73102662a0>,
1418
+ 'poetry_publish': <function poetry_publish at 0x7310266340>,
1419
+ 'poetry_update_version': <function poetry_update_version at 0x7310266480>,
1420
+ 'print_dir': <function print_dir at 0x7310266660>,
1421
+ 'random_bool': <function random_bool at 0x7310266700>,
1422
+ 'restart': <function restart at 0x73102667a0>,
1423
+ 'set_timeout': <function set_timeout at 0x7310266840>,
1424
+ 'sets_ordered': <function sets_ordered at 0x73102668e0>,
1425
+ 'str_cmp': <function str_cmp at 0x7310266980>},
1426
1426
  'variable': {'LINUX': True,
1427
- 'PintUreg': <pint.registry.UnitRegistry object at 0x74374d1810>,
1427
+ 'PintUreg': <pint.registry.UnitRegistry object at 0x7310fac810>,
1428
1428
  'WINDOWS': False},
1429
1429
  'module': {'asyncio': <module 'asyncio' from '/data/data/com.termux/files/usr/lib/python3.11/asyncio/__init__.py'>,
1430
1430
  'colorama': <module 'colorama' from '/data/data/com.termux/files/usr/lib/python3.11/site-packages/colorama/__init__.py'>,
@@ -1498,7 +1498,7 @@ print(password_generator())
1498
1498
 
1499
1499
  Output:
1500
1500
  ```py
1501
- JC%l}I"Y
1501
+ ~N5#gon~
1502
1502
  ```
1503
1503
 
1504
1504
  ## pip_freeze_without_version
@@ -1556,7 +1556,7 @@ Output:
1556
1556
  __enter__ : https:/www.google.com
1557
1557
  __fspath__ : https:/www.google.com
1558
1558
  __getstate__ : (None, {'_drv': '', '_root': '', '_parts': ['https:', 'www.google.com'], '_str': 'https:/www.google.com'})
1559
- __hash__ : 7552599354939882057
1559
+ __hash__ : -3740726322500476650
1560
1560
  __init__ : None
1561
1561
  __init_subclass__ : None
1562
1562
  __module__ : pathlib
@@ -1569,8 +1569,8 @@ Output:
1569
1569
  _cached_cparts : ['https:', 'www.google.com']
1570
1570
  _cparts : ['https:', 'www.google.com']
1571
1571
  _drv :
1572
- _flavour : <pathlib._PosixFlavour object at 0x7440454790>
1573
- _hash : 7552599354939882057
1572
+ _flavour : <pathlib._PosixFlavour object at 0x7318530b90>
1573
+ _hash : -3740726322500476650
1574
1574
  _parts : ['https:', 'www.google.com']
1575
1575
  _root :
1576
1576
  _str : https:/www.google.com
@@ -1592,7 +1592,7 @@ Output:
1592
1592
  is_reserved : False
1593
1593
  is_socket : False
1594
1594
  is_symlink : False
1595
- iterdir : <generator object Path.iterdir at 0x7426d227a0>
1595
+ iterdir : <generator object Path.iterdir at 0x730b2ee7a0>
1596
1596
  joinpath : https:/www.google.com
1597
1597
  name : www.google.com
1598
1598
  parent : https:
@@ -1620,7 +1620,7 @@ print(random_bool())
1620
1620
 
1621
1621
  Output:
1622
1622
  ```py
1623
- True
1623
+ False
1624
1624
  ```
1625
1625
 
1626
1626
  ## restart
@@ -1646,7 +1646,7 @@ x.cancel()
1646
1646
 
1647
1647
  Output:
1648
1648
  ```py
1649
- <Timer(Thread-2, started 498839043312)>
1649
+ <Timer(Thread-2, started 494080605424)>
1650
1650
  menghentikan timeout 7
1651
1651
  ```
1652
1652
 
@@ -1664,7 +1664,7 @@ print(list(sets_ordered(array)))
1664
1664
 
1665
1665
  Output:
1666
1666
  ```py
1667
- <generator object sets_ordered at 0x7426d48e10>
1667
+ <generator object sets_ordered at 0x730b314e10>
1668
1668
  [2, 3, 12, 42, 1, 43, 41, 4, 24, 32]
1669
1669
  ```
1670
1670
 
@@ -1739,7 +1739,7 @@ print(ExampleComparePerformance().compare_performance())
1739
1739
 
1740
1740
  Output:
1741
1741
  ```py
1742
- {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x7426d48860>,
1742
+ {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x730b314860>,
1743
1743
  'b': (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
1744
1744
  'c': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
1745
1745
  'd': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}
@@ -6,14 +6,15 @@ pypipr/PintUregQuantity.py,sha256=ErSZKB-GHShi1zKac30XgFdBwAUrxMo80IQzIjQ2HVc,11
6
6
  pypipr/RunParallel.py,sha256=BnMasZTnr2gUVVy9dOXePlL_-ud2rWkVPFL2i-sN7rg,7358
7
7
  pypipr/WINDOWS.py,sha256=D-qiViq9LWTCaTefJhbxt-7Z2ty8ll7-DZ5NPFitT94,105
8
8
  pypipr/__init__.py,sha256=YQuHPOQIeHGXzT_KNQlowCifuL4744t5hqtRfI7Ke8c,3002
9
- pypipr/__terminal__.py,sha256=4w-2p_Rudm_dNdfG-rkO24heVgKLrve4xVXiRpWxVcc,1800
9
+ pypipr/__terminal__.py,sha256=stikBvdJQCTn_sKAQ8DGEHlsTgMl2JnutLq3Cf1DEis,1883
10
10
  pypipr/auto_reload.py,sha256=h31UvIzunCaPGvP1F5E-jvspk3K06P-EJuGfiN7WEtY,954
11
11
  pypipr/avg.py,sha256=wUtX3x8dgLoODhQLyMB-HRMVo8Ha2yz3cp7lgcUNbr0,218
12
12
  pypipr/basename.py,sha256=nypVfls6YL_7sY-MYHDcatm5flpBpGj2aMlIOKG9YqE,194
13
13
  pypipr/batch_calculate.py,sha256=rHDXHvzxqKdQlusb6L8mTn27nfadCJMkud9LtGgRNIU,836
14
14
  pypipr/batchmaker.py,sha256=y0D-fU0oCJsdffwZZyJMC0iLPjjiv-_43a7hLrChJDM,1110
15
15
  pypipr/calculate.py,sha256=wzEbP8V1haM-JeIz85fBAuT2mgPc7uxQZ7wEuSUEXLc,805
16
- pypipr/choices.py,sha256=hjVToqAIeMoMfL3kJxOERAicEVsQyUGwzbnorhLdMA4,1664
16
+ pypipr/choices.py,sha256=Q6SFk4bIimMS2z8qTpPfIoKDVgRdUtmG99og80GeHzY,1569
17
+ pypipr/choices.py.bak,sha256=hjVToqAIeMoMfL3kJxOERAicEVsQyUGwzbnorhLdMA4,1664
17
18
  pypipr/chr_to_int.py,sha256=e2rP9IouL-irUZ2TLiC5JatskYfxt9pUJ_Ey5-qZ7jY,715
18
19
  pypipr/chunk_array.py,sha256=aodjp-daihl-Xd8kPqcpHZICZub7Jx0QBqyoF0bd0dY,385
19
20
  pypipr/console_run.py,sha256=vCJqDa1rExisqaFLNeWM-hnuXHfUfiYcyNAOJjldOHs,525
@@ -72,7 +73,7 @@ pypipr/sets_ordered.py,sha256=ve2Nc1eNYD_7QaTf_4otEAvzL1XpZP2MjX0KHSXF5nA,325
72
73
  pypipr/str_cmp.py,sha256=2kavWiT4VTddXcBotF1CxDOWSygk5rFrbllKxBjw9dc,377
73
74
  pypipr/text_colorize.py,sha256=IVjaCnXBSBu4Rh8pTO3CxDvxpA265HVwyKX_-PRXCcI,396
74
75
  pypipr/to_str.py,sha256=vSuspf-ZQldf4enkssa9XH0WMjkmWug51G9ia0K5occ,597
75
- pypipr-1.0.111.dist-info/METADATA,sha256=sUCT5VPtV-kjjedkbGc9SjhCED1MwtjhmSj6SDpid7s,50782
76
- pypipr-1.0.111.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
77
- pypipr-1.0.111.dist-info/entry_points.txt,sha256=XEBtOa61BCVW4cVvoqYQnyTcenJ1tzFFB09YnuqlKBY,51
78
- pypipr-1.0.111.dist-info/RECORD,,
76
+ pypipr-1.0.112.dist-info/METADATA,sha256=eOoI20kbUqOhpp940Oqk7K98lTDabFgLzGz6mYDQlcE,50828
77
+ pypipr-1.0.112.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
78
+ pypipr-1.0.112.dist-info/entry_points.txt,sha256=XEBtOa61BCVW4cVvoqYQnyTcenJ1tzFFB09YnuqlKBY,51
79
+ pypipr-1.0.112.dist-info/RECORD,,