pypipr 1.0.153__py3-none-any.whl → 1.0.155__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.
@@ -40,6 +40,11 @@ class ComparePerformance:
40
40
  def get_all_instance_methods(self):
41
41
  c = set(dir(__class__))
42
42
  t = (x for x in dir(self) if x not in c)
43
+ a = []
44
+ for x in t:
45
+ if callable(getattr(self, x)) and not x.startswith("_"):
46
+ a.append(x)
47
+ return a
43
48
  return tuple(
44
49
  x for x in t if callable(getattr(self, x)) and not x.startswith("_")
45
50
  )
pypipr/RunParallel.py CHANGED
@@ -108,13 +108,20 @@ class RunParallel:
108
108
  def get_all_instance_methods(self, coroutine):
109
109
  c = set(dir(__class__))
110
110
  t = (x for x in dir(self) if x not in c)
111
- return tuple(
112
- a
113
- for x in t
114
- if callable(a := getattr(self, x))
115
- and not x.startswith("_")
116
- and asyncio.iscoroutinefunction(a) == coroutine
117
- )
111
+ r = []
112
+ for x in t:
113
+ if not x.startswith("_"):
114
+ a = getattr(self, x)
115
+ if callable(a) and asyncio.iscoroutinefunction(a) == coroutine:
116
+ r.append(a)
117
+ return r
118
+ # return tuple(
119
+ # a
120
+ # for x in t
121
+ # if callable(a := getattr(self, x))
122
+ # and not x.startswith("_")
123
+ # and asyncio.iscoroutinefunction(a) == coroutine
124
+ # )
118
125
 
119
126
  def run_asyncio(self):
120
127
  m = self.get_all_instance_methods(coroutine=True)
@@ -143,9 +150,13 @@ class RunParallel:
143
150
  def module_threading(self, *args):
144
151
  a = tuple(dict() for _ in args)
145
152
  q = queue.Queue()
146
- r = tuple(
147
- threading.Thread(target=v, args=(a[i], q)) for i, v in enumerate(args)
148
- )
153
+ r = []
154
+ for i, v in enumerate(args):
155
+ t = threading.Thread(target=v, args=(a[i], q))
156
+ r.append(t)
157
+ # r = tuple(
158
+ # threading.Thread(target=v, args=(a[i], q)) for i, v in enumerate(args)
159
+ # )
149
160
  for i in r:
150
161
  i.start()
151
162
  for i in r:
@@ -156,10 +167,14 @@ class RunParallel:
156
167
  m = multiprocessing.Manager()
157
168
  q = m.Queue()
158
169
  a = tuple(m.dict() for _ in args)
159
- r = tuple(
160
- multiprocessing.Process(target=v, args=(a[i], q))
161
- for i, v in enumerate(args)
162
- )
170
+ r = []
171
+ for i, v in enumerate(args):
172
+ t = multiprocessing.Process(target=v, args=(a[i], q))
173
+ r.append(t)
174
+ # r = tuple(
175
+ # multiprocessing.Process(target=v, args=(a[i], q))
176
+ # for i, v in enumerate(args)
177
+ # )
163
178
  for i in r:
164
179
  i.start()
165
180
  for i in r:
pypipr/__init__.py CHANGED
@@ -54,7 +54,9 @@ from .iprint import iprint
54
54
  from .irange import irange
55
55
  from .ireplace import ireplace
56
56
  from .is_empty import is_empty
57
+ from .is_html import is_html
57
58
  from .is_iterable import is_iterable
59
+ from .is_raw_string import is_raw_string
58
60
  from .is_valid_url import is_valid_url
59
61
  from .iscandir import iscandir
60
62
  from .isplit import isplit
pypipr/batchmaker.py CHANGED
@@ -32,7 +32,7 @@ def batchmaker(pattern: str):
32
32
  find = s.group()
33
33
  start, finish, step = s.groups()
34
34
 
35
- for i in irange(start, finish, step):
35
+ for i in irange(start, finish, step, outer=True):
36
36
  r = pattern.replace(find, str(i), 1)
37
37
  yield from batchmaker(r)
38
38
 
pypipr/choices.py CHANGED
@@ -3,8 +3,8 @@ from .input_char import input_char
3
3
  from .print_colorize import print_colorize
4
4
 
5
5
 
6
- def print_choices(l):
7
- for i, v in enumerate(l):
6
+ def print_choices(lists):
7
+ for i, v in enumerate(lists):
8
8
  print(f"{i}. {v}")
9
9
 
10
10
 
@@ -22,10 +22,17 @@ def convert_to_str(daftar):
22
22
 
23
23
 
24
24
  def filter_choices(contains, daftar):
25
+ r = []
25
26
  if contains.isdigit():
26
- daftar = [v for i, v in enumerate(daftar) if contains in str(i)]
27
+ for i, v in enumerate(daftar):
28
+ if contains in str(i):
29
+ r.append(v)
30
+ # daftar = [v for i, v in enumerate(daftar) if contains in str(i)]
27
31
  else:
28
- daftar = [v for v in daftar if contains in v]
32
+ for v in daftar:
33
+ if contains in v:
34
+ r.append(v)
35
+ # daftar = [v for v in daftar if contains in v]
29
36
  return daftar
30
37
 
31
38
 
pypipr/irange.py CHANGED
@@ -2,42 +2,47 @@ from .chr_to_int import chr_to_int
2
2
  from .int_to_chr import int_to_chr
3
3
 
4
4
 
5
- def int_range(start, stop, step, index, number):
5
+ def int_range(start, stop, step, index, number, outer):
6
6
  start = int_int(start)
7
7
  stop = int_int(stop)
8
8
  step = fix_step(start, stop, step)
9
+ stop = fix_stop(stop, step, outer)
9
10
  for i in range(start, stop, step):
10
11
  yield i
11
12
 
12
13
 
13
- def oct_range(start, stop, step, index, number):
14
+ def oct_range(start, stop, step, index, number, outer):
14
15
  start = oct_oct(start)
15
16
  stop = oct_oct(stop)
16
17
  step = fix_step(start, stop, step)
18
+ stop = fix_stop(stop, step, outer)
17
19
  for i in range(start, stop, step):
18
20
  yield oct(i)
19
21
 
20
22
 
21
- def hex_range(start, stop, step, index, number):
23
+ def hex_range(start, stop, step, index, number, outer):
22
24
  start = hex_hex(start)
23
25
  stop = hex_hex(stop)
24
26
  step = fix_step(start, stop, step)
27
+ stop = fix_stop(stop, step, outer)
25
28
  for i in range(start, stop, step):
26
29
  yield hex(i)
27
30
 
28
31
 
29
- def bin_range(start, stop, step, index, number):
32
+ def bin_range(start, stop, step, index, number, outer):
30
33
  start = bin_bin(start)
31
34
  stop = bin_bin(stop)
32
35
  step = fix_step(start, stop, step)
36
+ stop = fix_stop(stop, step, outer)
33
37
  for i in range(start, stop, step):
34
38
  yield bin(i)
35
39
 
36
40
 
37
- def chr_range(start, stop, step, index, numbers):
41
+ def chr_range(start, stop, step, index, numbers, outer):
38
42
  start = chr_chr(start, index, numbers)
39
43
  stop = chr_chr(stop, index, numbers)
40
44
  step = fix_step(start, stop, step)
45
+ stop = fix_stop(stop, step, outer)
41
46
  for i in range(start, stop, step):
42
47
  yield int_to_chr(i, start=index, numbers=numbers)
43
48
 
@@ -53,7 +58,7 @@ irange_numbers = [
53
58
  ]
54
59
 
55
60
 
56
- def irange(start, stop=None, step=None, index=0, numbers=None):
61
+ def irange(start, stop=None, step=None, index=0, numbers=None, outer=False):
57
62
  """
58
63
  Meningkatkan fungsi range() dari python untuk pengulangan menggunakan huruf
59
64
 
@@ -73,7 +78,7 @@ def irange(start, stop=None, step=None, index=0, numbers=None):
73
78
  start, stop, step = fix_args_position(start, stop, step)
74
79
 
75
80
  if numbers is not None:
76
- return chr_range(start, stop, step, index, numbers)
81
+ return chr_range(start, stop, step, index, numbers, outer)
77
82
 
78
83
  start = str(start) if start is not None else ""
79
84
  stop = str(stop) if stop is not None else ""
@@ -83,7 +88,7 @@ def irange(start, stop=None, step=None, index=0, numbers=None):
83
88
  if s not in n:
84
89
  break
85
90
  else:
86
- return f(start, stop, step, index, n)
91
+ return f(start, stop, step, index, n, outer)
87
92
 
88
93
  raise Exception("start dan stop tidak diketahui")
89
94
 
@@ -123,3 +128,9 @@ def fix_step(start, stop, step):
123
128
  if stop < start:
124
129
  step = step * -1
125
130
  return step
131
+
132
+
133
+ def fix_stop(stop, step, outer):
134
+ if outer:
135
+ stop += step
136
+ return stop
pypipr/ireplace.py CHANGED
@@ -1,5 +1,7 @@
1
1
  import re
2
2
 
3
+ from .is_raw_string import is_raw_string
4
+
3
5
 
4
6
  def ireplace(
5
7
  string: str,
@@ -23,5 +25,8 @@ def ireplace(
23
25
  ```
24
26
  """
25
27
  for i, v in replacements.items():
26
- string = re.sub(i, v, string, flags=flags)
28
+ if is_raw_string(i) or is_raw_string(v):
29
+ string = re.sub(i, v, string, flags=flags)
30
+ else:
31
+ string = string.replace(i, v)
27
32
  return string
pypipr/is_html.py ADDED
@@ -0,0 +1,7 @@
1
+ import re
2
+
3
+ html_pattern = re.compile(r"<([a-zA-Z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)")
4
+
5
+
6
+ def is_html(text):
7
+ return bool(html_pattern.search(text))
@@ -0,0 +1,4 @@
1
+ def is_raw_string(s):
2
+ if "\\" in s:
3
+ return True
4
+ return False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pypipr
3
- Version: 1.0.153
3
+ Version: 1.0.155
4
4
  Summary: The Python Package Index Project
5
5
  Author: ufiapjj
6
6
  Author-email: ufiapjj@gmail.com
@@ -229,7 +229,7 @@ kmd
229
229
 
230
230
  ## irange
231
231
 
232
- `irange(start, stop=None, step=None, index=0, numbers=None)`
232
+ `irange(start, stop=None, step=None, index=0, numbers=None, outer=False)`
233
233
 
234
234
  Meningkatkan fungsi range() dari python untuk pengulangan menggunakan huruf
235
235
 
@@ -248,8 +248,8 @@ iprint(irange("z", "a", 4))
248
248
 
249
249
  Output:
250
250
  ```py
251
- <generator object int_range at 0x7183fdec40>
252
- <generator object int_range at 0x7183fdec40>
251
+ <generator object int_range at 0x7060e2e9b0>
252
+ <generator object int_range at 0x7060e2e9b0>
253
253
  [13, 12, 11, 10, 9, 8, 7, 6]
254
254
  [2, 5, 8]
255
255
  [2, 5, 8]
@@ -281,8 +281,8 @@ print(list(batchmaker(s)))
281
281
 
282
282
  Output:
283
283
  ```py
284
- <generator object batchmaker at 0x7183f42d40>
285
- ['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.']
284
+ <generator object batchmaker at 0x7060d9ae60>
285
+ ['Urutan 1 dan 10 dan j dan Z saja.', 'Urutan 1 dan 10 dan j dan K saja.', 'Urutan 1 dan 10 dan j dan saja.', 'Urutan 1 dan 10 dan k dan Z saja.', 'Urutan 1 dan 10 dan k dan K saja.', 'Urutan 1 dan 10 dan k dan saja.', 'Urutan 1 dan 9 dan j dan Z saja.', 'Urutan 1 dan 9 dan j dan K saja.', 'Urutan 1 dan 9 dan j dan saja.', 'Urutan 1 dan 9 dan k dan Z saja.', 'Urutan 1 dan 9 dan k dan K saja.', 'Urutan 1 dan 9 dan k dan saja.', 'Urutan 4 dan 10 dan j dan Z saja.', 'Urutan 4 dan 10 dan j dan K saja.', 'Urutan 4 dan 10 dan j dan saja.', 'Urutan 4 dan 10 dan k dan Z saja.', 'Urutan 4 dan 10 dan k dan K saja.', 'Urutan 4 dan 10 dan k dan saja.', 'Urutan 4 dan 9 dan j dan Z saja.', 'Urutan 4 dan 9 dan j dan K saja.', 'Urutan 4 dan 9 dan j dan saja.', 'Urutan 4 dan 9 dan k dan Z saja.', 'Urutan 4 dan 9 dan k dan K saja.', 'Urutan 4 dan 9 dan k dan saja.', 'Urutan 7 dan 10 dan j dan Z saja.', 'Urutan 7 dan 10 dan j dan K saja.', 'Urutan 7 dan 10 dan j dan saja.', 'Urutan 7 dan 10 dan k dan Z saja.', 'Urutan 7 dan 10 dan k dan K saja.', 'Urutan 7 dan 10 dan k dan saja.', 'Urutan 7 dan 9 dan j dan Z saja.', 'Urutan 7 dan 9 dan j dan K saja.', 'Urutan 7 dan 9 dan j dan saja.', 'Urutan 7 dan 9 dan k dan Z saja.', 'Urutan 7 dan 9 dan k dan K saja.', 'Urutan 7 dan 9 dan k dan saja.']
286
286
  ```
287
287
 
288
288
  ## calculate
@@ -335,8 +335,8 @@ print(list(batch_calculate("{1 10} m ** {1 3}")))
335
335
 
336
336
  Output:
337
337
  ```py
338
- <generator object batch_calculate at 0x71808087c0>
339
- [('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')>)]
338
+ <generator object batch_calculate at 0x7060b40a90>
339
+ [('1 m ** 1', <Quantity(1, 'meter')>), ('1 m ** 2', <Quantity(1, 'meter ** 2')>), ('1 m ** 3', <Quantity(1, 'meter ** 3')>), ('2 m ** 1', <Quantity(2, 'meter')>), ('2 m ** 2', <Quantity(2, 'meter ** 2')>), ('2 m ** 3', <Quantity(2, 'meter ** 3')>), ('3 m ** 1', <Quantity(3, 'meter')>), ('3 m ** 2', <Quantity(3, 'meter ** 2')>), ('3 m ** 3', <Quantity(3, 'meter ** 3')>), ('4 m ** 1', <Quantity(4, 'meter')>), ('4 m ** 2', <Quantity(4, 'meter ** 2')>), ('4 m ** 3', <Quantity(4, 'meter ** 3')>), ('5 m ** 1', <Quantity(5, 'meter')>), ('5 m ** 2', <Quantity(5, 'meter ** 2')>), ('5 m ** 3', <Quantity(5, 'meter ** 3')>), ('6 m ** 1', <Quantity(6, 'meter')>), ('6 m ** 2', <Quantity(6, 'meter ** 2')>), ('6 m ** 3', <Quantity(6, 'meter ** 3')>), ('7 m ** 1', <Quantity(7, 'meter')>), ('7 m ** 2', <Quantity(7, 'meter ** 2')>), ('7 m ** 3', <Quantity(7, 'meter ** 3')>), ('8 m ** 1', <Quantity(8, 'meter')>), ('8 m ** 2', <Quantity(8, 'meter ** 2')>), ('8 m ** 3', <Quantity(8, 'meter ** 3')>), ('9 m ** 1', <Quantity(9, 'meter')>), ('9 m ** 2', <Quantity(9, 'meter ** 2')>), ('9 m ** 3', <Quantity(9, 'meter ** 3')>), ('10 m ** 1', <Quantity(10, 'meter')>), ('10 m ** 2', <Quantity(10, 'meter ** 2')>), ('10 m ** 3', <Quantity(10, 'meter ** 3')>)]
340
340
  ```
341
341
 
342
342
  ## bin_to_int
@@ -441,7 +441,7 @@ print(list(chunk_array(arr, 5)))
441
441
 
442
442
  Output:
443
443
  ```py
444
- <generator object chunk_array at 0x7183fded40>
444
+ <generator object chunk_array at 0x7060e42840>
445
445
  [[2, 3, 12, 3, 3], [42, 42, 1, 43, 2], [42, 41, 4, 24, 32], [42, 3, 12, 32, 42], [42]]
446
446
  ```
447
447
 
@@ -492,9 +492,9 @@ print(datetime_now("Etc/GMT+7"))
492
492
 
493
493
  Output:
494
494
  ```py
495
- 2024-08-10 23:36:04.585048+07:00
496
- 2024-08-10 16:36:04.586549+00:00
497
- 2024-08-10 09:36:04.587986-07:00
495
+ 2024-09-29 19:12:39.925455+07:00
496
+ 2024-09-29 12:12:39.926459+00:00
497
+ 2024-09-29 05:12:39.930103-07:00
498
498
  ```
499
499
 
500
500
  ## dict_first
@@ -604,7 +604,7 @@ iprint(filter_empty(var))
604
604
 
605
605
  Output:
606
606
  ```py
607
- <generator object filter_empty at 0x71808084f0>
607
+ <generator object filter_empty at 0x7060b407c0>
608
608
  [1, '0', True, {}, ['eee']]
609
609
  ```
610
610
 
@@ -651,8 +651,8 @@ print(list(get_class_method(ExampleGetClassMethod)))
651
651
 
652
652
  Output:
653
653
  ```py
654
- <generator object get_class_method at 0x7180808a90>
655
- [<function ExampleGetClassMethod.a at 0x718081e700>, <function ExampleGetClassMethod.b at 0x718081e7a0>, <function ExampleGetClassMethod.c at 0x718081c680>, <function ExampleGetClassMethod.d at 0x718081e980>]
654
+ <generator object get_class_method at 0x7060b40d60>
655
+ [<function ExampleGetClassMethod.a at 0x7060b5ee80>, <function ExampleGetClassMethod.b at 0x7060b5ede0>, <function ExampleGetClassMethod.c at 0x7060b5efc0>, <function ExampleGetClassMethod.d at 0x7060b5f060>]
656
656
  ```
657
657
 
658
658
  ## get_filesize
@@ -828,7 +828,9 @@ Output:
828
828
  'irange',
829
829
  'ireplace',
830
830
  'is_empty',
831
+ 'is_html',
831
832
  'is_iterable',
833
+ 'is_raw_string',
832
834
  'is_valid_url',
833
835
  'iscandir',
834
836
  'isplit',
@@ -1072,7 +1074,7 @@ Output:
1072
1074
 
1073
1075
  ## ienumerate
1074
1076
 
1075
- `ienumerate(iterator, start=0, key=<function int_to_int at 0x718b58ab60>)`
1077
+ `ienumerate(iterator, start=0, key=<function int_to_int at 0x7066dd2e80>)`
1076
1078
 
1077
1079
  meningkatkan fungsi enumerate() pada python
1078
1080
  untuk key menggunakan huruf dan basis angka lainnya.
@@ -1085,7 +1087,7 @@ iprint(ienumerate(it, key=int_to_chr))
1085
1087
 
1086
1088
  Output:
1087
1089
  ```py
1088
- <generator object ienumerate at 0x7180808b80>
1090
+ <generator object ienumerate at 0x7060b40e50>
1089
1091
  [('a', 'ini'), ('b', 'contoh'), ('c', 'enumerator')]
1090
1092
  ```
1091
1093
 
@@ -1152,7 +1154,7 @@ print(ijoin(10, ' '))
1152
1154
 
1153
1155
  Output:
1154
1156
  ```py
1155
- weq, qweqw, asd, dfs
1157
+ asd, weq, qweqw, dfs
1156
1158
  ,ini,path,seperti,url,
1157
1159
  ini,path,seperti,url
1158
1160
  <li>satu</li>
@@ -1197,111 +1199,62 @@ pprint.pprint(iloads_html(iopen("https://harga-emas.org/1-gram/")), depth=10)
1197
1199
  Output:
1198
1200
  ```py
1199
1201
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
1200
- [['Harga Emas Hari Ini - Sabtu, 10 Agustus 2024'],
1201
- ['Spot Emas USD2.431,10 (-2,66) / oz',
1202
- 'Kurs IDR15.952,00 / USD',
1203
- 'Emas IDR1.246.835 (-1.364) / gr'],
1204
- ['LM Antam (Jual)1.401.000 (-8.000) / gr',
1205
- 'LM Antam (Beli)↓1.253.000 (-6.000) / gr']],
1202
+ [['Harga Emas Hari Ini - Minggu, 29 September 2024'],
1203
+ ['Spot Emas USD2.658,34 (+5,84) / oz',
1204
+ 'Kurs IDR15.171,00 / USD',
1205
+ 'Emas IDR1.296.629 (+2.849) / gr'],
1206
+ ['LM Antam (Jual)1.461.000 / gr', 'LM Antam (Beli)1.301.000 / gr']],
1206
1207
  [['Harga Emas Hari Ini'],
1207
1208
  ['Gram', 'Gedung Antam Jakarta', 'Pegadaian'],
1208
1209
  ['per Gram (Rp)', 'per Batangan (Rp)', 'per Gram (Rp)', 'per Batangan (Rp)'],
1209
1210
  ['1000',
1210
- '1.342 (-8)',
1211
- '1.341.600 (-8.000)',
1211
+ '1.402',
1212
+ '1.401.600',
1212
1213
  '1.043.040 (+8.200)',
1213
1214
  '1.043.040.000 (+8.200.000)'],
1214
1215
  ['500',
1215
- '2.683 (-16)',
1216
- '1.341.640 (-8.000)',
1216
+ '2.803',
1217
+ '1.401.640',
1217
1218
  '1.043.082 (+8.200)',
1218
1219
  '521.541.000 (+4.100.000)'],
1219
1220
  ['250',
1220
- '5.368 (-32)',
1221
- '1.342.060 (-8.000)',
1221
+ '5.608',
1222
+ '1.402.060',
1222
1223
  '1.043.512 (+8.200)',
1223
1224
  '260.878.000 (+2.050.000)'],
1224
1225
  ['100',
1225
- '13.431 (-80)',
1226
- '1.343.120 (-8.000)',
1226
+ '14.031',
1227
+ '1.403.120',
1227
1228
  '1.044.600 (+8.200)',
1228
1229
  '104.460.000 (+820.000)'],
1229
- ['50',
1230
- '26.878 (-160)',
1231
- '1.343.900 (-8.000)',
1232
- '1.045.400 (+8.200)',
1233
- '52.270.000 (+410.000)'],
1234
- ['25',
1235
- '53.819 (-320)',
1236
- '1.345.480 (-8.000)',
1237
- '1.047.040 (+8.200)',
1238
- '26.176.000 (+205.000)'],
1239
- ['10',
1240
- '135.050 (-800)',
1241
- '1.350.500 (-8.000)',
1242
- '1.052.200 (+8.200)',
1243
- '10.522.000 (+82.000)'],
1244
- ['5',
1245
- '271.200 (-1.600)',
1246
- '1.356.000 (-8.000)',
1247
- '1.057.800 (+8.200)',
1248
- '5.289.000 (+41.000)'],
1249
- ['3',
1250
- '454.222 (-2.667)',
1251
- '1.362.667 (-8.000)',
1252
- '1.064.667 (+8.000)',
1253
- '3.194.000 (+24.000)'],
1254
- ['2',
1255
- '685.500 (-4.000)',
1256
- '1.371.000 (-8.000)',
1257
- '1.073.500 (+8.500)',
1258
- '2.147.000 (+17.000)'],
1259
- ['1',
1260
- '1.401.000 (-8.000)',
1261
- '1.401.000 (-8.000)',
1262
- '1.104.000 (+8.000)',
1263
- '1.104.000 (+8.000)'],
1264
- ['0.5',
1265
- '3.002.000 (-16.000)',
1266
- '1.501.000 (-8.000)',
1267
- '1.208.000 (+8.000)',
1268
- '604.000 (+4.000)'],
1269
- ['Update harga LM Antam :10 Agustus 2024, pukul 08:31Harga pembelian kembali '
1270
- ':Rp. 1.253.000/gram (-6.000)',
1230
+ ['50', '28.078', '1.403.900', '1.045.400 (+8.200)', '52.270.000 (+410.000)'],
1231
+ ['25', '56.219', '1.405.480', '1.047.040 (+8.200)', '26.176.000 (+205.000)'],
1232
+ ['10', '141.050', '1.410.500', '1.052.200 (+8.200)', '10.522.000 (+82.000)'],
1233
+ ['5', '283.200', '1.416.000', '1.057.800 (+8.200)', '5.289.000 (+41.000)'],
1234
+ ['3', '474.222', '1.422.667', '1.064.667 (+8.000)', '3.194.000 (+24.000)'],
1235
+ ['2', '715.500', '1.431.000', '1.073.500 (+8.500)', '2.147.000 (+17.000)'],
1236
+ ['1', '1.461.000', '1.461.000', '1.104.000 (+8.000)', '1.104.000 (+8.000)'],
1237
+ ['0.5', '3.122.000', '1.561.000', '1.208.000 (+8.000)', '604.000 (+4.000)'],
1238
+ ['Update harga LM Antam :29 September 2024, pukul 07:14Harga pembelian '
1239
+ 'kembali :Rp. 1.301.000/gram',
1271
1240
  'Update harga LM Pegadaian :31 Agustus 2023']],
1272
1241
  [['Spot Harga Emas Hari Ini (Market Close)'],
1273
1242
  ['Satuan', 'USD', 'Kurs\xa0Dollar', 'IDR'],
1274
- ['Ounce\xa0(oz)', '2.431,10 (-2,66)', '15.952,00', '38.780.907'],
1275
- ['Gram\xa0(gr)', '78,16', '15.952,00', '1.246.835 (-1.364)'],
1276
- ['Kilogram\xa0(kg)', '78.161,68', '15.952,00', '1.246.835.120'],
1277
- ['Update harga emas :10 Agustus 2024, pukul 23:34Update kurs :10 Agustus '
1243
+ ['Ounce\xa0(oz)', '2.658,34 (+5,84)', '15.171,00', '40.329.676'],
1244
+ ['Gram\xa0(gr)', '85,47', '15.171,00', '1.296.629 (+2.849)'],
1245
+ ['Kilogram\xa0(kg)', '85.467,62', '15.171,00', '1.296.629.198'],
1246
+ ['Update harga emas :29 September 2024, pukul 19:12Update kurs :29 September '
1278
1247
  '2024, pukul 13:10']],
1279
1248
  [['Gram', 'UBS Gold 99.99%'],
1280
1249
  ['Jual', 'Beli'],
1281
1250
  ['/ Batang', '/ Gram', '/ Batang', '/ Gram'],
1282
- ['100',
1283
- '135.800.000 (-800.000)',
1284
- '1.358.000 (-8.000)',
1285
- '128.598.000',
1286
- '1.285.980'],
1287
- ['50',
1288
- '68.150.000 (-400.000)',
1289
- '1.363.000 (-8.000)',
1290
- '64.349.000',
1291
- '1.286.980'],
1292
- ['25',
1293
- '34.100.000 (-200.000)',
1294
- '1.364.000 (-8.000)',
1295
- '32.273.500',
1296
- '1.290.940'],
1297
- ['10',
1298
- '13.720.000 (-80.000)',
1299
- '1.372.000 (-8.000)',
1300
- '12.968.000',
1301
- '1.296.800'],
1302
- ['5', '6.885.000 (-40.000)', '1.377.000 (-8.000)', '6.539.000', '1.307.800'],
1303
- ['1', '1.411.000 (-8.000)', '1.411.000 (-8.000)', '1.339.000', '1.339.000'],
1304
- ['', 'Update :10 Agustus 2024, pukul 08:46']],
1251
+ ['100', '139.900.000', '1.399.000', '132.707.000', '1.327.070'],
1252
+ ['50', '70.100.000', '1.402.000', '66.401.500', '1.328.030'],
1253
+ ['25', '35.100.000', '1.404.000', '33.300.800', '1.332.032'],
1254
+ ['10', '14.100.000', '1.410.000', '13.399.000', '1.339.900'],
1255
+ ['5', '7.070.000', '1.414.000', '6.754.500', '1.350.900'],
1256
+ ['1', '1.460.000', '1.460.000', '1.382.100', '1.382.100'],
1257
+ ['', 'Update :27 September 2024, pukul 11:45']],
1305
1258
  [['Konversi Satuan'],
1306
1259
  ['Satuan', 'Ounce (oz)', 'Gram (gr)', 'Kilogram (kg)'],
1307
1260
  ['Ounce\xa0(oz)', '1', '31,1034767696', '0,0311034768'],
@@ -1311,37 +1264,37 @@ Output:
1311
1264
  ['Waktu', 'Emas'],
1312
1265
  ['Unit', 'USD', 'IDR'],
1313
1266
  ['Angka', '+/-', 'Angka', '+/-'],
1314
- ['Hari Ini', 'Kurs', '', '', '15.952', '%'],
1315
- ['oz', '2.433,76', '-2,66-0,11%', '38.823.340', '-42.432-0,11%'],
1316
- ['gr', '78,25', '-0,09-0,11%', '1.248.199', '-1.364-0,11%'],
1317
- ['30 Hari', 'Kurs', '', '', '16.256', '-304-1,87%'],
1318
- ['oz', '2.413,73', '+17,37+0,72%', '39.237.595', '-456.688-1,16%'],
1319
- ['gr', '77,60', '+0,56+0,72%', '1.261.518', '-14.683-1,16%'],
1320
- ['2 Bulan', 'Kurs', '', '', '16.290', '-338-2,07%'],
1321
- ['oz', '2.308,23', '+122,87+5,32%', '37.601.067', '+1.179.840+3,14%'],
1322
- ['gr', '74,21', '+3,95+5,32', '1.208.902', '+37.933+3,14%'],
1323
- ['6 Bulan', 'Kurs', '', '', '15.685', '+267+1,70%'],
1324
- ['oz', '2.015,64', '+415,46+20,61%', '31.615.313', '+7.165.594+22,66%'],
1325
- ['gr', '64,80', '+13,36+20,61%', '1.016.456', '+230.379+22,66%'],
1326
- ['1 Tahun', 'Kurs', '', '', '15.731', '+221+1,40%'],
1327
- ['oz', '1.823,86', '+607,24+33,29%', '28.691.142', '+10.089.766+35,17%'],
1328
- ['gr', '58,64', '+19,52+33,29%', '922.442', '+324.393+35,17%'],
1329
- ['2 Tahun', 'Kurs', '', '', '14.875', '+1.077+7,24%'],
1330
- ['oz', '1.789,33', '+641,77+35,87%', '26.616.302', '+12.164.606+45,70%'],
1331
- ['gr', '57,53', '+20,63+35,87%', '855.734', '+391.101+45,70%'],
1332
- ['3 Tahun', 'Kurs', '', '', '14.378', '+1.574+10,95%'],
1333
- ['oz', '1.750,15', '+680,95+38,91%', '25.163.657', '+13.617.251+54,11%'],
1334
- ['gr', '56,27', '+21,89+38,91%', '809.030', '+437.805+54,11%'],
1335
- ['5 Tahun', 'Kurs', '', '', '14.220', '+1.732+12,18%'],
1336
- ['oz', '1.506,03', '+925,07+61,42%', '21.415.747', '+17.365.161+81,09%'],
1337
- ['gr', '48,42', '+29,74+61,42%', '688.532', '+558.303+81,09%']])
1267
+ ['Hari Ini', 'Kurs', '', '', '15.171', '%'],
1268
+ ['oz', '2.652,50', '+5,84+0,22%', '40.241.078', '+88.599+0,22%'],
1269
+ ['gr', '85,28', '+0,19+0,22%', '1.293.781', '+2.849+0,22%'],
1270
+ ['30 Hari', 'Kurs', '', '', '15.409', '-238-1,54%'],
1271
+ ['oz', '2.497,99', '+160,35+6,42%', '38.491.528', '+1.838.148+4,78%'],
1272
+ ['gr', '80,31', '+5,16+6,42%', '1.237.531', '+59.098+4,78%'],
1273
+ ['2 Bulan', 'Kurs', '', '', '16.320', '-1.149-7,04%'],
1274
+ ['oz', '2.426,29', '+232,05+9,56%', '39.597.053', '+732.623+1,85%'],
1275
+ ['gr', '78,01', '+7,46+9,56', '1.273.075', '+23.554+1,85%'],
1276
+ ['6 Bulan', 'Kurs', '', '', '15.909', '-738-4,64%'],
1277
+ ['oz', '2.260,33', '+398,01+17,61%', '35.959.590', '+4.370.086+12,15%'],
1278
+ ['gr', '72,67', '+12,80+17,61%', '1.156.128', '+140.502+12,15%'],
1279
+ ['1 Tahun', 'Kurs', '', '', '15.140', '+31+0,20%'],
1280
+ ['oz', '1.848,82', '+809,52+43,79%', '27.991.135', '+12.338.541+44,08%'],
1281
+ ['gr', '59,44', '+26,03+43,79%', '899.936', '+396.693+44,08%'],
1282
+ ['2 Tahun', 'Kurs', '', '', '15.247', '-76-0,50%'],
1283
+ ['oz', '1.664,93', '+993,41+59,67%', '25.385.188', '+14.944.488+58,87%'],
1284
+ ['gr', '53,53', '+31,94+59,67%', '816.153', '+480.476+58,87%'],
1285
+ ['3 Tahun', 'Kurs', '', '', '14.307', '+864+6,04%'],
1286
+ ['oz', '1.757,58', '+900,76+51,25%', '25.145.715', '+15.183.962+60,38%'],
1287
+ ['gr', '56,51', '+28,96+51,25%', '808.453', '+488.176+60,38%'],
1288
+ ['5 Tahun', 'Kurs', '', '', '14.196', '+975+6,87%'],
1289
+ ['oz', '1.483,09', '+1.175,25+79,24%', '21.053.946', '+19.275.731+91,55%'],
1290
+ ['gr', '47,68', '+37,79+79,24%', '676.900', '+619.729+91,55%']])
1338
1291
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
1339
1292
  [[''],
1340
1293
  ['Emas 24 KaratHarga Emas 1 Gram', ''],
1341
- ['USD', '78,16↓', '-0,09-0,12%'],
1342
- ['KURS', '15.949,90↑', '+7,15+0,04%'],
1343
- ['IDR', '1.246.670,98↓', '-804,58-0,06%'],
1344
- ['Sabtu, 10 Agustus 2024 23:35']],
1294
+ ['USD', '85,47↓', '%'],
1295
+ ['KURS', '15.124,85↓', '%'],
1296
+ ['IDR', '1.292.684,87↓', '%'],
1297
+ ['Minggu, 29 September 2024 19:12']],
1345
1298
  [[''],
1346
1299
  ['Emas 1 Gram (IDR)Emas 1 Gram (USD)Kurs USD-IDR',
1347
1300
  'Hari Ini',
@@ -1352,19 +1305,19 @@ Output:
1352
1305
  '']],
1353
1306
  [['Pergerakkan Harga Emas 1 Gram'],
1354
1307
  ['', 'Penutupan Kemarin', 'Pergerakkan Hari Ini', 'Rata-rata'],
1355
- ['USD', '78,25', '78,16 - 78,25', '78,21'],
1356
- ['KURS', '15.942,75', '15.942,75 - 15.949,90', '15.946,33'],
1357
- ['IDR', '1.247.475,56', '1.246.670,98 - 1.247.475,56', '1.247.073,27'],
1308
+ ['USD', '85,47', '85,47 - 85,47', '85,47'],
1309
+ ['KURS', '15.124,85', '15.124,85 - 15.124,85', '15.124,85'],
1310
+ ['IDR', '1.292.684,87', '1.292.684,87 - 1.292.684,87', '1.292.684,87'],
1358
1311
  [''],
1359
1312
  ['', 'Awal Tahun', 'Pergerakkan YTD', '+/- YTD'],
1360
- ['USD', '66,32', '64,07 - 79,08', '+11,84 (17,85%)'],
1361
- ['KURS', '15.390,10', '15.390,00 - 16.509,65', '+559,80 (3,64%)'],
1362
- ['IDR', '1.020.729,53', '997.660,12 - 1.279.266,69', '+225.941,45 (22,14%)'],
1313
+ ['USD', '66,32', '64,07 - 85,83', '+19,15 (28,88%)'],
1314
+ ['KURS', '15.390,10', '15.100,00 - 16.509,65', '-265,25(-1,72%)'],
1315
+ ['IDR', '1.020.729,53', '997.660,12 - 1.296.071,15', '+271.955,34 (26,64%)'],
1363
1316
  [''],
1364
1317
  ['', 'Tahun Lalu / 52 Minggu', 'Pergerakkan 52 Minggu', '+/- 52 Minggu'],
1365
- ['USD', '61,62', '58,43 - 79,08', '+16,54 (26,84%)'],
1366
- ['KURS', '15.199,25', '15.203,25 - 16.509,65', '+750,65 (4,94%)'],
1367
- ['IDR', '936.613,83', '912.925,68 - 1.279.266,69', '+310.057,15 (33,10%)']])
1318
+ ['USD', '59,91', '58,43 - 85,83', '+25,56 (42,66%)'],
1319
+ ['KURS', '15.508,40', '15.100,00 - 16.509,65', '-383,55(-2,47%)'],
1320
+ ['IDR', '929.163,44', '912.925,68 - 1.296.071,15', '+363.521,43 (39,12%)']])
1368
1321
  ```
1369
1322
 
1370
1323
  ## iloads
@@ -1494,7 +1447,7 @@ Output:
1494
1447
  ```py
1495
1448
  8
1496
1449
  ['mana', 'aja']
1497
- [<Element a at 0x718082b250>, <Element a at 0x7180879900>, <Element a at 0x71808799a0>, <Element a at 0x71808799f0>, <Element a at 0x7180879a40>, <Element a at 0x7180879a90>, <Element a at 0x7180879ae0>, <Element a at 0x7180879b30>, <Element a at 0x7180879b80>, <Element a at 0x7180879bd0>, <Element a at 0x7180879c20>, <Element a at 0x7180879c70>, <Element a at 0x7180879cc0>, <Element a at 0x7180879d10>, <Element a at 0x7180879d60>, <Element a at 0x7180879db0>, <Element a at 0x7180879e00>, <Element a at 0x7180879e50>, <Element a at 0x7180879ea0>, <Element a at 0x7180879ef0>]
1450
+ [<Element a at 0x7060b675c0>, <Element a at 0x7060bb28a0>, <Element a at 0x7060bb2940>, <Element a at 0x7060bb2990>, <Element a at 0x7060bb29e0>, <Element a at 0x7060bb2a30>, <Element a at 0x7060bb2a80>, <Element a at 0x7060bb2ad0>, <Element a at 0x7060bb2b20>, <Element a at 0x7060bb2b70>, <Element a at 0x7060bb2bc0>, <Element a at 0x7060bb2c10>, <Element a at 0x7060bb2c60>, <Element a at 0x7060bb2cb0>, <Element a at 0x7060bb2d00>, <Element a at 0x7060bb2d50>, <Element a at 0x7060bb2da0>, <Element a at 0x7060bb2df0>]
1498
1451
  False
1499
1452
  ```
1500
1453
 
@@ -1519,6 +1472,10 @@ Output:
1519
1472
  yang ini {'12': 12, 'sdsd': {'12': 21, 'as': [88]}}
1520
1473
  ```
1521
1474
 
1475
+ ## is_raw_string
1476
+
1477
+ `is_raw_string(s)`
1478
+
1522
1479
  ## ireplace
1523
1480
 
1524
1481
  `ireplace(string: str, replacements: dict, flags=re.IGNORECASE|re.MULTILINE|re.DOTALL)`
@@ -1543,6 +1500,10 @@ Output:
1543
1500
  aku itu dan ini mau ke situ
1544
1501
  ```
1545
1502
 
1503
+ ## is_html
1504
+
1505
+ `is_html(text)`
1506
+
1546
1507
  ## iscandir
1547
1508
 
1548
1509
  `iscandir(folder_name='.', glob_pattern='*', recursive=True, scan_file=True, scan_folder=True)`
@@ -1556,7 +1517,7 @@ print(list(iscandir("./", recursive=False, scan_file=False)))
1556
1517
 
1557
1518
  Output:
1558
1519
  ```py
1559
- <generator object iscandir at 0x7183fdf140>
1520
+ <generator object iscandir at 0x7060e42c40>
1560
1521
  [PosixPath('.git'), PosixPath('.vscode'), PosixPath('pypipr'), PosixPath('__pycache__'), PosixPath('dist')]
1561
1522
  ```
1562
1523
 
@@ -1589,90 +1550,92 @@ iprint(ivars(__import__('pypipr')))
1589
1550
 
1590
1551
  Output:
1591
1552
  ```py
1592
- {'function': {'avg': <function avg at 0x71919d8040>,
1593
- 'get_filemtime': <function get_filemtime at 0x718b4d1d00>,
1594
- 'print_colorize': <function print_colorize at 0x718b4d1ee0>,
1595
- 'print_log': <function print_log at 0x718b4d1da0>,
1596
- 'console_run': <function console_run at 0x718b4d1e40>,
1597
- 'auto_reload': <function auto_reload at 0x718b4d1620>,
1598
- 'basename': <function basename at 0x718b4d1c60>,
1599
- 'chr_to_int': <function chr_to_int at 0x718b4d2480>,
1600
- 'int_to_chr': <function int_to_chr at 0x718b4d2520>,
1601
- 'irange': <function irange at 0x718b4d27a0>,
1602
- 'batchmaker': <function batchmaker at 0x718b4d2160>,
1603
- 'calculate': <function calculate at 0x718b4d22a0>,
1604
- 'batch_calculate': <function batch_calculate at 0x718b4d2020>,
1605
- 'bin_to_int': <function bin_to_int at 0x718b4d20c0>,
1606
- 'is_empty': <function is_empty at 0x718b4d2f20>,
1607
- 'exit_if_empty': <function exit_if_empty at 0x718b4d2de0>,
1608
- 'input_char': <function input_char at 0x718b4d23e0>,
1609
- 'choices': <function choices at 0x718b4d31a0>,
1610
- 'chunk_array': <function chunk_array at 0x718b4d3240>,
1611
- 'create_folder': <function create_folder at 0x718b4d3380>,
1612
- 'datetime_from_string': <function datetime_from_string at 0x718b4d3420>,
1613
- 'datetime_now': <function datetime_now at 0x718b4d34c0>,
1614
- 'dict_first': <function dict_first at 0x718b4f56c0>,
1615
- 'dirname': <function dirname at 0x718b4f5760>,
1616
- 'django_runserver': <function django_runserver at 0x718b4f5a80>,
1617
- 'is_iterable': <function is_iterable at 0x718b4f5e40>,
1618
- 'to_str': <function to_str at 0x718b4f5ee0>,
1619
- 'filter_empty': <function filter_empty at 0x718b4f5d00>,
1620
- 'get_by_index': <function get_by_index at 0x718b4f5da0>,
1621
- 'get_class_method': <function get_class_method at 0x718b4f5f80>,
1622
- 'get_filesize': <function get_filesize at 0x718b4f60c0>,
1623
- 'github_init': <function github_init at 0x718b4f6160>,
1624
- 'github_pull': <function github_pull at 0x718b4f6200>,
1625
- 'github_push': <function github_push at 0x718b4f6340>,
1626
- 'github_user': <function github_user at 0x718b4f63e0>,
1627
- 'hex_to_int': <function hex_to_int at 0x718b4f6480>,
1628
- 'iargv': <function iargv at 0x718b4f6520>,
1629
- 'idir': <function idir at 0x718b4f65c0>,
1630
- 'idumps_html': <function idumps_html at 0x718b4f6ca0>,
1631
- 'idumps': <function idumps at 0x718b4f6700>,
1632
- 'int_to_int': <function int_to_int at 0x718b58ab60>,
1633
- 'ienumerate': <function ienumerate at 0x718b4f6c00>,
1634
- 'ienv': <function ienv at 0x718b579080>,
1635
- 'iexec': <function iexec at 0x718b58ac00>,
1636
- 'ijoin': <function ijoin at 0x718b58ad40>,
1637
- 'iloads_html': <function iloads_html at 0x718b58af20>,
1638
- 'iloads': <function iloads at 0x71923da020>,
1639
- 'int_to_bin': <function int_to_bin at 0x718b58aca0>,
1640
- 'int_to_hex': <function int_to_hex at 0x718b58ae80>,
1641
- 'int_to_oct': <function int_to_oct at 0x718b58afc0>,
1642
- 'is_valid_url': <function is_valid_url at 0x718b346d40>,
1643
- 'iopen': <function iopen at 0x718b58b1a0>,
1644
- 'iprint': <function iprint at 0x718b346840>,
1645
- 'ireplace': <function ireplace at 0x718b346980>,
1646
- 'iscandir': <function iscandir at 0x7184547b00>,
1647
- 'isplit': <function isplit at 0x7184547ba0>,
1648
- 'ivars': <function ivars at 0x7184547c40>,
1649
- 'log': <function log at 0x7184547ce0>,
1650
- 'oct_to_int': <function oct_to_int at 0x7184547d80>,
1651
- 'password_generator': <function password_generator at 0x7184547e20>,
1652
- 'pip_freeze_without_version': <function pip_freeze_without_version at 0x7184547f60>,
1653
- 'pip_update_pypipr': <function pip_update_pypipr at 0x718454c040>,
1654
- 'poetry_publish': <function poetry_publish at 0x718454c0e0>,
1655
- 'poetry_update_version': <function poetry_update_version at 0x718454c220>,
1656
- 'print_dir': <function print_dir at 0x718454c400>,
1657
- 'print_to_last_line': <function print_to_last_line at 0x718454c4a0>,
1658
- 'random_bool': <function random_bool at 0x718454c540>,
1659
- 'repath': <function repath at 0x718454c680>,
1660
- 'restart': <function restart at 0x718454c720>,
1661
- 'set_timeout': <function set_timeout at 0x718454c7c0>,
1662
- 'sets_ordered': <function sets_ordered at 0x718454c860>,
1663
- 'sqlite_delete_table': <function sqlite_delete_table at 0x718454c900>,
1664
- 'sqlite_get_all_tables': <function sqlite_get_all_tables at 0x718454cae0>,
1665
- 'sqlite_get_data_table': <function sqlite_get_data_table at 0x718454d260>,
1666
- 'str_cmp': <function str_cmp at 0x718454d300>,
1667
- 'text_colorize': <function text_colorize at 0x718454d3a0>,
1668
- 'traceback_filename': <function traceback_filename at 0x718454d440>,
1669
- 'traceback_framename': <function traceback_framename at 0x718454d4e0>},
1553
+ {'function': {'avg': <function avg at 0x706af13e20>,
1554
+ 'get_filemtime': <function get_filemtime at 0x7066d25f80>,
1555
+ 'print_colorize': <function print_colorize at 0x7066d26160>,
1556
+ 'print_log': <function print_log at 0x7066d26020>,
1557
+ 'console_run': <function console_run at 0x7066d260c0>,
1558
+ 'auto_reload': <function auto_reload at 0x7066d258a0>,
1559
+ 'basename': <function basename at 0x7066d25ee0>,
1560
+ 'chr_to_int': <function chr_to_int at 0x7066d26700>,
1561
+ 'int_to_chr': <function int_to_chr at 0x7066d267a0>,
1562
+ 'irange': <function irange at 0x7066d26a20>,
1563
+ 'batchmaker': <function batchmaker at 0x7066d263e0>,
1564
+ 'calculate': <function calculate at 0x7066d26520>,
1565
+ 'batch_calculate': <function batch_calculate at 0x7066d262a0>,
1566
+ 'bin_to_int': <function bin_to_int at 0x7066d26340>,
1567
+ 'is_empty': <function is_empty at 0x7066d27240>,
1568
+ 'exit_if_empty': <function exit_if_empty at 0x7066d27100>,
1569
+ 'input_char': <function input_char at 0x7066d26660>,
1570
+ 'choices': <function choices at 0x7066d274c0>,
1571
+ 'chunk_array': <function chunk_array at 0x7066d27560>,
1572
+ 'create_folder': <function create_folder at 0x7066d276a0>,
1573
+ 'datetime_from_string': <function datetime_from_string at 0x7066d27740>,
1574
+ 'datetime_now': <function datetime_now at 0x7066d277e0>,
1575
+ 'dict_first': <function dict_first at 0x7066d419e0>,
1576
+ 'dirname': <function dirname at 0x7066d41a80>,
1577
+ 'django_runserver': <function django_runserver at 0x7066d41da0>,
1578
+ 'is_iterable': <function is_iterable at 0x7066d42160>,
1579
+ 'to_str': <function to_str at 0x7066d42200>,
1580
+ 'filter_empty': <function filter_empty at 0x7066d42020>,
1581
+ 'get_by_index': <function get_by_index at 0x7066d420c0>,
1582
+ 'get_class_method': <function get_class_method at 0x7066d422a0>,
1583
+ 'get_filesize': <function get_filesize at 0x7066d423e0>,
1584
+ 'github_init': <function github_init at 0x7066d42480>,
1585
+ 'github_pull': <function github_pull at 0x7066d42520>,
1586
+ 'github_push': <function github_push at 0x7066d42660>,
1587
+ 'github_user': <function github_user at 0x7066d42700>,
1588
+ 'hex_to_int': <function hex_to_int at 0x7066d427a0>,
1589
+ 'iargv': <function iargv at 0x7066d42840>,
1590
+ 'idir': <function idir at 0x7066d428e0>,
1591
+ 'idumps_html': <function idumps_html at 0x7066d42fc0>,
1592
+ 'idumps': <function idumps at 0x7066d42a20>,
1593
+ 'int_to_int': <function int_to_int at 0x7066dd2e80>,
1594
+ 'ienumerate': <function ienumerate at 0x7066d42f20>,
1595
+ 'ienv': <function ienv at 0x7066dc13a0>,
1596
+ 'iexec': <function iexec at 0x7066dd2f20>,
1597
+ 'ijoin': <function ijoin at 0x7066dd3060>,
1598
+ 'iloads_html': <function iloads_html at 0x7066dd3240>,
1599
+ 'iloads': <function iloads at 0x706b299ee0>,
1600
+ 'int_to_bin': <function int_to_bin at 0x7066dd2fc0>,
1601
+ 'int_to_hex': <function int_to_hex at 0x7066dd31a0>,
1602
+ 'int_to_oct': <function int_to_oct at 0x7066dd32e0>,
1603
+ 'is_valid_url': <function is_valid_url at 0x7066b73100>,
1604
+ 'iopen': <function iopen at 0x7066dd34c0>,
1605
+ 'iprint': <function iprint at 0x7066b72c00>,
1606
+ 'is_raw_string': <function is_raw_string at 0x70613400e0>,
1607
+ 'ireplace': <function ireplace at 0x7061337f60>,
1608
+ 'is_html': <function is_html at 0x7066bdf880>,
1609
+ 'iscandir': <function iscandir at 0x7061340180>,
1610
+ 'isplit': <function isplit at 0x7061340220>,
1611
+ 'ivars': <function ivars at 0x70613402c0>,
1612
+ 'log': <function log at 0x7061340360>,
1613
+ 'oct_to_int': <function oct_to_int at 0x7061340400>,
1614
+ 'password_generator': <function password_generator at 0x70613404a0>,
1615
+ 'pip_freeze_without_version': <function pip_freeze_without_version at 0x70613405e0>,
1616
+ 'pip_update_pypipr': <function pip_update_pypipr at 0x7061340680>,
1617
+ 'poetry_publish': <function poetry_publish at 0x7061340720>,
1618
+ 'poetry_update_version': <function poetry_update_version at 0x7061340860>,
1619
+ 'print_dir': <function print_dir at 0x7061340a40>,
1620
+ 'print_to_last_line': <function print_to_last_line at 0x7061340ae0>,
1621
+ 'random_bool': <function random_bool at 0x7061340b80>,
1622
+ 'repath': <function repath at 0x7061340cc0>,
1623
+ 'restart': <function restart at 0x7061340d60>,
1624
+ 'set_timeout': <function set_timeout at 0x7061340e00>,
1625
+ 'sets_ordered': <function sets_ordered at 0x7061340ea0>,
1626
+ 'sqlite_delete_table': <function sqlite_delete_table at 0x7061340f40>,
1627
+ 'sqlite_get_all_tables': <function sqlite_get_all_tables at 0x7061341120>,
1628
+ 'sqlite_get_data_table': <function sqlite_get_data_table at 0x70613418a0>,
1629
+ 'str_cmp': <function str_cmp at 0x7061341940>,
1630
+ 'text_colorize': <function text_colorize at 0x70613419e0>,
1631
+ 'traceback_filename': <function traceback_filename at 0x7061341a80>,
1632
+ 'traceback_framename': <function traceback_framename at 0x7061341b20>},
1670
1633
  'class': {'ComparePerformance': <class 'pypipr.ComparePerformance.ComparePerformance'>,
1671
1634
  'PintUregQuantity': <class 'pint.Quantity'>,
1672
1635
  'RunParallel': <class 'pypipr.RunParallel.RunParallel'>,
1673
1636
  'TextCase': <class 'pypipr.TextCase.TextCase'>},
1674
1637
  'variable': {'LINUX': True,
1675
- 'PintUreg': <pint.registry.UnitRegistry object at 0x71919e73d0>,
1638
+ 'PintUreg': <pint.registry.UnitRegistry object at 0x706af6b490>,
1676
1639
  'WINDOWS': False},
1677
1640
  'module': {'asyncio': <module 'asyncio' from '/data/data/com.termux/files/usr/lib/python3.11/asyncio/__init__.py'>,
1678
1641
  'colorama': <module 'colorama' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.11/lib/python3.11/site-packages/colorama/__init__.py'>,
@@ -1763,7 +1726,7 @@ print(password_generator())
1763
1726
 
1764
1727
  Output:
1765
1728
  ```py
1766
- vaq=BQ67
1729
+ b}]GJvM?
1767
1730
  ```
1768
1731
 
1769
1732
  ## pip_freeze_without_version
@@ -1825,7 +1788,7 @@ Output:
1825
1788
  __enter__ : https:/www.google.com
1826
1789
  __fspath__ : https:/www.google.com
1827
1790
  __getstate__ : (None, {'_drv': '', '_root': '', '_parts': ['https:', 'www.google.com'], '_str': 'https:/www.google.com'})
1828
- __hash__ : 872741787607326607
1791
+ __hash__ : -8291759452219622297
1829
1792
  __init__ : None
1830
1793
  __init_subclass__ : None
1831
1794
  __module__ : pathlib
@@ -1838,8 +1801,8 @@ Output:
1838
1801
  _cached_cparts : ['https:', 'www.google.com']
1839
1802
  _cparts : ['https:', 'www.google.com']
1840
1803
  _drv :
1841
- _flavour : <pathlib._PosixFlavour object at 0x7191831550>
1842
- _hash : 872741787607326607
1804
+ _flavour : <pathlib._PosixFlavour object at 0x706a6d5b50>
1805
+ _hash : -8291759452219622297
1843
1806
  _parts : ['https:', 'www.google.com']
1844
1807
  _root :
1845
1808
  _str : https:/www.google.com
@@ -1861,7 +1824,7 @@ Output:
1861
1824
  is_reserved : False
1862
1825
  is_socket : False
1863
1826
  is_symlink : False
1864
- iterdir : <generator object Path.iterdir at 0x71808225e0>
1827
+ iterdir : <generator object Path.iterdir at 0x7060b6a500>
1865
1828
  joinpath : https:/www.google.com
1866
1829
  name : www.google.com
1867
1830
  parent : https:
@@ -1950,7 +1913,7 @@ x.cancel()
1950
1913
 
1951
1914
  Output:
1952
1915
  ```py
1953
- <Timer(Thread-2, started 487459896560)>
1916
+ <Timer(Thread-2, started 482632252656)>
1954
1917
  menghentikan timeout 7
1955
1918
  ```
1956
1919
 
@@ -1968,7 +1931,7 @@ print(list(sets_ordered(array)))
1968
1931
 
1969
1932
  Output:
1970
1933
  ```py
1971
- <generator object sets_ordered at 0x7180848d40>
1934
+ <generator object sets_ordered at 0x7060b80930>
1972
1935
  [2, 3, 12, 42, 1, 43, 41, 4, 24, 32]
1973
1936
  ```
1974
1937
 
@@ -2082,15 +2045,15 @@ print(ExampleComparePerformance().compare_performance())
2082
2045
 
2083
2046
  Output:
2084
2047
  ```py
2085
- {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x7180848930>,
2048
+ {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x7060e57ac0>,
2086
2049
  'b': (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
2087
2050
  'c': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
2088
2051
  'd': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}
2089
- {'a': 189, 'b': 145, 'c': 100, 'd': 157}
2090
- {'a': 159, 'b': 142, 'c': 100, 'd': 124}
2091
- {'a': 133, 'b': 133, 'c': 100, 'd': 126}
2092
- {'a': 121, 'b': 130, 'c': 100, 'd': 127}
2093
- {'a': 128, 'b': 136, 'c': 100, 'd': 126}
2052
+ {'a': 164, 'b': 133, 'c': 100, 'd': 150}
2053
+ {'a': 156, 'b': 143, 'c': 100, 'd': 132}
2054
+ {'a': 134, 'b': 132, 'c': 100, 'd': 125}
2055
+ {'a': 133, 'b': 133, 'c': 100, 'd': 137}
2056
+ {'a': 132, 'b': 133, 'c': 100, 'd': 128}
2094
2057
  ```
2095
2058
 
2096
2059
  ## PintUregQuantity
@@ -1,20 +1,20 @@
1
- pypipr/ComparePerformance.py,sha256=PeeBF1agcUN1P-4j8djrmtQWga8wr5QosJ6yaeoJOzI,2229
1
+ pypipr/ComparePerformance.py,sha256=S-91-xyiVIsUhLuq0SZFxH85Y0Augb73aRr0YySZI0I,2378
2
2
  pypipr/LINUX.py,sha256=XF5CR2imyRv8hGQpsDLDs_RU8xsD1aZLpFldEzP-mkU,77
3
3
  pypipr/PintUreg.py,sha256=_jmHZhUn8AcgFkXvZ6OTsWnjtp-CYcXUJ-dG_QdcARY,222
4
4
  pypipr/PintUregQuantity.py,sha256=ErSZKB-GHShi1zKac30XgFdBwAUrxMo80IQzIjQ2HVc,118
5
- pypipr/RunParallel.py,sha256=3H6sVSeUSATQQsWBcDGTtaXuc-12Yc0XmDyVtsg3PMA,5992
5
+ pypipr/RunParallel.py,sha256=a7Fa0YrnCeXakdgLTd2BYjB6Ck6vvZ1gIaTS7ZISmSg,6536
6
6
  pypipr/TextCase.py,sha256=v62BsRiJUSOqYZM9BHTKvQtF6rWgaug5F0XirXNlens,2896
7
7
  pypipr/WINDOWS.py,sha256=NMW-94lzdqwfEWv2lF_i2GcSHJFDwWjccFufpymg4-E,83
8
- pypipr/__init__.py,sha256=L2gv5YBEomTFaZtal9RFdCW758Kiy7jMC642WAQfEqM,3570
8
+ pypipr/__init__.py,sha256=NMTH0U2tBHPR9yiUTxeA9kx-XZzcupi6Rb7zqN6LtTE,3640
9
9
  pypipr/__terminal__.py,sha256=N_NEXa0V5QLb-dkP1Vp_fYKNjE4jGTqkiYNwPPOXZtw,1412
10
10
  pypipr/auto_reload.py,sha256=FGchFBjQs_eT7CmOMLNYoch-17q7ySFOnPx5z1kbH3E,918
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=JoaciQk7j-nXSdqlwonRdZ3Qu6uqUYhuA7oxpTC548s,503
14
- pypipr/batchmaker.py,sha256=y0D-fU0oCJsdffwZZyJMC0iLPjjiv-_43a7hLrChJDM,1110
14
+ pypipr/batchmaker.py,sha256=oBzLOUOp-_4npJnlyM4SyvtGM22dpo6DHkqwGivqdAw,1122
15
15
  pypipr/bin_to_int.py,sha256=9s935sdD-CC1d7WCsNO3dd8nqTfC8lpkxHB1zQ--mZc,191
16
16
  pypipr/calculate.py,sha256=uSmDH43_x4ifdHN23PLdWKqjx023--1ZE6mf5A2hqg4,696
17
- pypipr/choices.py,sha256=qhRdquHqPWUKVdYwi7KDDf1_CYJi9i5E52hs2mMxCWs,1473
17
+ pypipr/choices.py,sha256=-4UF5vGJqadgJqW6qWoc2AyOqaMBDg5KlFRpy7for1k,1681
18
18
  pypipr/chr_to_int.py,sha256=5ETJZag1eM8wa2ceIGsmNP-jNufC5bCScghTLcwGEAI,459
19
19
  pypipr/chunk_array.py,sha256=aodjp-daihl-Xd8kPqcpHZICZub7Jx0QBqyoF0bd0dY,385
20
20
  pypipr/console_run.py,sha256=vCJqDa1rExisqaFLNeWM-hnuXHfUfiYcyNAOJjldOHs,525
@@ -53,10 +53,12 @@ pypipr/int_to_int.py,sha256=8qocfQtQowaVac4o4g1tpywMxm7OHDIbBqNl1RP6lGk,215
53
53
  pypipr/int_to_oct.py,sha256=GWu7VbHJXJxC6IvLEjQofUrbbXjQSEYPZvT2f6wh_Is,215
54
54
  pypipr/iopen.py,sha256=qEJfKgfrCj-qd17UUlSAw7O4LyV4n0ZKDBbfv288z20,2657
55
55
  pypipr/iprint.py,sha256=5ekT7RzcTd8Lsb8IQ9JeFJmFl2V6OYFbiHECt9W4iWg,838
56
- pypipr/irange.py,sha256=wOKFsN1BipHG4LcVVwOZQMn-820TDD4NckYyan2dj2g,3098
57
- pypipr/ireplace.py,sha256=RcVMXmbXH_cl4hXpTI5wnuzdPtkatpuZgYsZkfBLAJU,722
56
+ pypipr/irange.py,sha256=OAS6y8VZfP7aN6Tm1yGCs_3qKlcl_1fQen8X6UtJZNY,3441
57
+ pypipr/ireplace.py,sha256=ce1vqq4kXs9yUPnNAi6p0o2O2zAoUetp4GhVvfv4B8s,873
58
58
  pypipr/is_empty.py,sha256=eqsH6ATuuOLVVSpIsV_8zTBBibPrWjESu9LCMAv8YyY,683
59
+ pypipr/is_html.py,sha256=-062n4zWkOPlOqYH6lwD8rcPHiP6a2HS-JO5kvSm0-s,148
59
60
  pypipr/is_iterable.py,sha256=WLLqD1Shuc_jvFci28xTdLVdoU-r3T93nZ9jB3nH3Jw,923
61
+ pypipr/is_raw_string.py,sha256=I9RVf511rReVx1pay7iPl9rcaqe-VgD-ptmel6eV62E,77
60
62
  pypipr/is_valid_url.py,sha256=fH2SzoBvXWl3kRtCmixOVu5m1HfPJ-WazUJ0pVQuNoc,885
61
63
  pypipr/iscandir.py,sha256=kw_9mHL2E3ZeT8w4xxUVEVNLj2ML8G9xvv9hqg9yaNg,631
62
64
  pypipr/isplit.py,sha256=N2BiA_wVnrENYwokSzvo0CAiQWk3g7AnwuWFIUgevNM,383
@@ -85,7 +87,7 @@ pypipr/text_colorize.py,sha256=IVjaCnXBSBu4Rh8pTO3CxDvxpA265HVwyKX_-PRXCcI,396
85
87
  pypipr/to_str.py,sha256=vSuspf-ZQldf4enkssa9XH0WMjkmWug51G9ia0K5occ,597
86
88
  pypipr/traceback_filename.py,sha256=4o85J0N8clI0cM6NTGcKZ4zxR9yS7W2NS_bz3J2_PnY,288
87
89
  pypipr/traceback_framename.py,sha256=_mullrAZzMhBFEFVCgdsmkYQmYUkd58o-J-HuMntKyc,291
88
- pypipr-1.0.153.dist-info/METADATA,sha256=X-ybignjM7GBuzXCX2L0TpYVCZR2LeDFIV8hWWlMzpE,57008
89
- pypipr-1.0.153.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
90
- pypipr-1.0.153.dist-info/entry_points.txt,sha256=XEBtOa61BCVW4cVvoqYQnyTcenJ1tzFFB09YnuqlKBY,51
91
- pypipr-1.0.153.dist-info/RECORD,,
90
+ pypipr-1.0.155.dist-info/METADATA,sha256=6i0U9AORBswuCJo2Fz_X4ZTx5XEAGeGZ7A-qT3AMl8Q,58352
91
+ pypipr-1.0.155.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
92
+ pypipr-1.0.155.dist-info/entry_points.txt,sha256=XEBtOa61BCVW4cVvoqYQnyTcenJ1tzFFB09YnuqlKBY,51
93
+ pypipr-1.0.155.dist-info/RECORD,,