pypipr 1.0.165__py3-none-any.whl → 1.0.166__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/dirname.py CHANGED
@@ -1,7 +1,7 @@
1
1
  import os
2
2
 
3
3
 
4
- def dirname(path):
4
+ def dirname(path, indeks=-1):
5
5
  """
6
6
  Mengembalikan nama folder dari path.
7
7
  Tanpa trailing slash di akhir.
@@ -10,4 +10,8 @@ def dirname(path):
10
10
  print(dirname("/ini/nama/folder/ke/file.py"))
11
11
  ```
12
12
  """
13
+ paths = path.split(os.sep)
14
+ if indeks < 0:
15
+ paths = paths[: len(paths) + indeks]
16
+ return os.sep.join(paths)
13
17
  return os.path.dirname(path)
pypipr/iopen.py CHANGED
@@ -5,6 +5,8 @@ import lxml.html
5
5
 
6
6
  from .is_valid_url import is_valid_url
7
7
  from .to_str import to_str
8
+ from .create_folder import create_folder
9
+ from .dirname import dirname
8
10
 
9
11
 
10
12
  def iopen(path, data=None, regex=None, css_select=None, xpath=None, file_append=False):
@@ -70,6 +72,7 @@ def iopen(path, data=None, regex=None, css_select=None, xpath=None, file_append=
70
72
  # Write File
71
73
  if data is not None:
72
74
  mode = "a" if file_append else "w"
75
+ create_folder(dirname(path))
73
76
  with open(path, mode, encoding="utf-8") as f:
74
77
  content = f.write(data)
75
78
  # Read File
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pypipr
3
- Version: 1.0.165
3
+ Version: 1.0.166
4
4
  Summary: The Python Package Index Project
5
5
  Author: ufiapjj
6
6
  Author-email: ufiapjj@gmail.com
@@ -248,8 +248,8 @@ iprint(irange("z", "a", 4))
248
248
 
249
249
  Output:
250
250
  ```py
251
- <generator object int_range at 0x75ef9ce940>
252
- <generator object int_range at 0x75ef9cea40>
251
+ <generator object int_range at 0x76205f6840>
252
+ <generator object int_range at 0x76205f6940>
253
253
  [13, 12, 11, 10, 9, 8, 7, 6]
254
254
  [2, 5, 8]
255
255
  []
@@ -281,7 +281,7 @@ print(list(batchmaker(s)))
281
281
 
282
282
  Output:
283
283
  ```py
284
- <generator object batchmaker at 0x75ef9e71c0>
284
+ <generator object batchmaker at 0x762060b1c0>
285
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.']
286
286
  ```
287
287
 
@@ -335,7 +335,7 @@ print(list(batch_calculate("{1 10} m ** {1 3}")))
335
335
 
336
336
  Output:
337
337
  ```py
338
- <generator object batch_calculate at 0x75ef9f7300>
338
+ <generator object batch_calculate at 0x762061f220>
339
339
  [('1 m ** 1', <Quantity(1, 'meter')>), ('1 m ** 2', <Quantity(1, 'meter ** 2')>), ('1 m ** 3', <Quantity(1, 'meter ** 3')>)]
340
340
  ```
341
341
 
@@ -441,7 +441,7 @@ print(list(chunk_array(arr, 5)))
441
441
 
442
442
  Output:
443
443
  ```py
444
- <generator object chunk_array at 0x75ef9db010>
444
+ <generator object chunk_array at 0x7620603100>
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
- 2025-04-10 19:56:49.714183+07:00
496
- 2025-04-10 12:56:49.715899+00:00
497
- 2025-04-10 05:56:49.722934-07:00
495
+ 2025-04-10 21:33:07.217306+07:00
496
+ 2025-04-10 14:33:07.218966+00:00
497
+ 2025-04-10 07:33:07.225080-07:00
498
498
  ```
499
499
 
500
500
  ## dict_first
@@ -521,7 +521,7 @@ Output:
521
521
 
522
522
  ## dirname
523
523
 
524
- `dirname(path)`
524
+ `dirname(path, indeks=-1)`
525
525
 
526
526
  Mengembalikan nama folder dari path.
527
527
  Tanpa trailing slash di akhir.
@@ -608,7 +608,7 @@ iprint(filter_empty(var))
608
608
 
609
609
  Output:
610
610
  ```py
611
- <generator object filter_empty at 0x75ef9db1f0>
611
+ <generator object filter_empty at 0x76206032e0>
612
612
  [1, '0', True, {}, ['eee']]
613
613
  ```
614
614
 
@@ -655,8 +655,8 @@ print(list(get_class_method(ExampleGetClassMethod)))
655
655
 
656
656
  Output:
657
657
  ```py
658
- <generator object get_class_method at 0x75ef9f7e60>
659
- [<function ExampleGetClassMethod.a at 0x75ef72ede0>, <function ExampleGetClassMethod.b at 0x75ef72ec00>, <function ExampleGetClassMethod.c at 0x75ef72eca0>, <function ExampleGetClassMethod.d at 0x75ef72ee80>]
658
+ <generator object get_class_method at 0x762061fe60>
659
+ [<function ExampleGetClassMethod.a at 0x762032ede0>, <function ExampleGetClassMethod.b at 0x762032ec00>, <function ExampleGetClassMethod.c at 0x762032eca0>, <function ExampleGetClassMethod.d at 0x762032ee80>]
660
660
  ```
661
661
 
662
662
  ## get_filesize
@@ -1083,7 +1083,7 @@ Output:
1083
1083
 
1084
1084
  ## ienumerate
1085
1085
 
1086
- `ienumerate(iterator, start=0, key=<function int_to_int at 0x75f7af25c0>)`
1086
+ `ienumerate(iterator, start=0, key=<function int_to_int at 0x76249765c0>)`
1087
1087
 
1088
1088
  meningkatkan fungsi enumerate() pada python
1089
1089
  untuk key menggunakan huruf dan basis angka lainnya.
@@ -1096,7 +1096,7 @@ iprint(ienumerate(it, key=int_to_chr))
1096
1096
 
1097
1097
  Output:
1098
1098
  ```py
1099
- <generator object ienumerate at 0x75ef9db1f0>
1099
+ <generator object ienumerate at 0x76206032e0>
1100
1100
  [('a', 'ini'), ('b', 'contoh'), ('c', 'enumerator')]
1101
1101
  ```
1102
1102
 
@@ -1173,7 +1173,7 @@ print(ijoin(10, ' '))
1173
1173
 
1174
1174
  Output:
1175
1175
  ```py
1176
- asd, weq, dfs, qweqw
1176
+ asd, weq, qweqw, dfs
1177
1177
  ,ini,path,seperti,url,
1178
1178
  ini,path,seperti,url
1179
1179
  <li>satu</li>
@@ -1219,9 +1219,9 @@ Output:
1219
1219
  ```py
1220
1220
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
1221
1221
  [['Harga Emas Hari Ini - Kamis, 10 April 2025'],
1222
- ['Spot Emas USD↑3.127,37 (+36,33) / oz',
1222
+ ['Spot Emas USD↑3.145,75 (+54,71) / oz',
1223
1223
  'Kurs IDR1,00 / USD',
1224
- 'Emas IDR↑101 (+1) / gr'],
1224
+ 'Emas IDR↑101 (+2) / gr'],
1225
1225
  ['LM Antam (Jual)↓1.513.000 (-30.000) / gr',
1226
1226
  'LM Antam (Beli)↓1.366.000 (-30.000) / gr']],
1227
1227
  [['Harga Emas Hari Ini'],
@@ -1244,10 +1244,10 @@ Output:
1244
1244
  'Update harga LM Pegadaian :31 Desember 1969']],
1245
1245
  [['Spot Harga Emas Hari Ini (Market Open)'],
1246
1246
  ['Satuan', 'USD', 'Kurs\xa0Dollar', 'IDR'],
1247
- ['Ounce\xa0(oz)', '3.127,37 (+36,33)', '1,00', '3.127'],
1248
- ['Gram\xa0(gr)', '100,55', '1,00', '101 (+1)'],
1249
- ['Kilogram\xa0(kg)', '100.547,28', '1,00', '100.547'],
1250
- ['Update harga emas :10 April 2025, pukul 19:56Update kurs :14 Maret 2025, '
1247
+ ['Ounce\xa0(oz)', '3.145,75 (+54,71)', '1,00', '3.146'],
1248
+ ['Gram\xa0(gr)', '101,14', '1,00', '101 (+2)'],
1249
+ ['Kilogram\xa0(kg)', '101.138,21', '1,00', '101.138'],
1250
+ ['Update harga emas :10 April 2025, pukul 21:33Update kurs :14 Maret 2025, '
1251
1251
  'pukul 10:13']],
1252
1252
  [['Gram', 'UBS Gold 99.99%'],
1253
1253
  ['Jual', 'Beli'],
@@ -1285,36 +1285,36 @@ Output:
1285
1285
  ['Unit', 'USD', 'IDR'],
1286
1286
  ['Angka', '+/-', 'Angka', '+/-'],
1287
1287
  ['Hari Ini', 'Kurs', '', '', '1', '%'],
1288
- ['oz', '3.091,04', '+36,33+1,18%', '3.091', '+36+1,18%'],
1289
- ['gr', '99,38', '+1,17+1,18%', '99', '+1+1,18%'],
1288
+ ['oz', '3.091,04', '+54,71+1,77%', '3.091', '+55+1,77%'],
1289
+ ['gr', '99,38', '+1,76+1,77%', '99', '+2+1,77%'],
1290
1290
  ['30 Hari', 'Kurs', '', '', '16.326', '-16.325-99,99%'],
1291
- ['oz', '2.916,73', '+210,64+7,22%', '47.618.534', '-47.615.407-99,99%'],
1292
- ['gr', '93,78', '+6,77+7,22%', '1.530.971', '-1.530.871-99,99%'],
1291
+ ['oz', '2.916,73', '+229,02+7,85%', '47.618.534', '-47.615.388-99,99%'],
1292
+ ['gr', '93,78', '+7,36+7,85%', '1.530.971', '-1.530.870-99,99%'],
1293
1293
  ['2 Bulan', 'Kurs', '', '', '16.330', '-16.329-99,99%'],
1294
- ['oz', '2.861,26', '+266,11+9,30%', '46.724.376', '-46.721.248-99,99%'],
1295
- ['gr', '91,99', '+8,56+9,30', '1.502.224', '-1.502.123-99,99%'],
1294
+ ['oz', '2.861,26', '+284,49+9,94%', '46.724.376', '-46.721.230-99,99%'],
1295
+ ['gr', '91,99', '+9,15+9,94', '1.502.224', '-1.502.122-99,99%'],
1296
1296
  ['6 Bulan', 'Kurs', '', '', '15.658', '-15.657-99,99%'],
1297
- ['oz', '2.656,78', '+470,59+17,71%', '41.599.861', '-41.596.734-99,99%'],
1298
- ['gr', '85,42', '+15,13+17,71%', '1.337.467', '-1.337.366-99,99%'],
1297
+ ['oz', '2.656,78', '+488,97+18,40%', '41.599.861', '-41.596.715-99,99%'],
1298
+ ['gr', '85,42', '+15,72+18,40%', '1.337.467', '-1.337.365-99,99%'],
1299
1299
  ['1 Tahun', 'Kurs', '', '', '15.907', '-15.906-99,99%'],
1300
- ['oz', '2.338,57', '+788,80+33,73%', '37.199.633', '-37.196.506-99,99%'],
1301
- ['gr', '75,19', '+25,36+33,73%', '1.195.996', '-1.195.895-99,99%'],
1300
+ ['oz', '2.338,57', '+807,18+34,52%', '37.199.633', '-37.196.487-99,99%'],
1301
+ ['gr', '75,19', '+25,95+34,52%', '1.195.996', '-1.195.895-99,99%'],
1302
1302
  ['2 Tahun', 'Kurs', '', '', '15.731', '-15.730-99,99%'],
1303
- ['oz', '1.823,86', '+1.303,51+71,47%', '28.691.142', '-28.688.014-99,99%'],
1304
- ['gr', '58,64', '+41,91+71,47%', '922.442', '-922.341-99,99%'],
1303
+ ['oz', '1.823,86', '+1.321,89+72,48%', '28.691.142', '-28.687.996-99,99%'],
1304
+ ['gr', '58,64', '+42,50+72,48%', '922.442', '-922.340-99,99%'],
1305
1305
  ['3 Tahun', 'Kurs', '', '', '14.365', '-14.364-99,99%'],
1306
- ['oz', '1.942,64', '+1.184,73+60,99%', '27.906.043', '-27.902.916-99,99%'],
1307
- ['gr', '62,46', '+38,09+60,99%', '897.200', '-897.100-99,99%'],
1306
+ ['oz', '1.942,64', '+1.203,11+61,93%', '27.906.043', '-27.902.897-99,99%'],
1307
+ ['gr', '62,46', '+38,68+61,93%', '897.200', '-897.099-99,99%'],
1308
1308
  ['5 Tahun', 'Kurs', '', '', '16.241', '-16.240-99,99%'],
1309
- ['oz', '1.688,78', '+1.438,59+85,19%', '27.427.493', '-27.424.365-99,99%'],
1310
- ['gr', '54,30', '+46,25+85,19%', '881.814', '-881.714-99,99%']])
1309
+ ['oz', '1.688,78', '+1.456,97+86,27%', '27.427.493', '-27.424.347-99,99%'],
1310
+ ['gr', '54,30', '+46,84+86,27%', '881.814', '-881.713-99,99%']])
1311
1311
  (['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
1312
1312
  [[''],
1313
1313
  ['Emas 24 KaratHarga Emas 1 Gram', ''],
1314
- ['USD', '100,55↑', '+1,17+1,18%'],
1314
+ ['USD', '101,14↑', '+1,76+1,77%'],
1315
1315
  ['KURS', '16.355,25↓', '%'],
1316
- ['IDR', '1.644.475,91↑', '+19.103,53+1,18%'],
1317
- ['Kamis, 10 April 2025 19:56']],
1316
+ ['IDR', '1.654.140,73↑', '+28.768,35+1,77%'],
1317
+ ['Kamis, 10 April 2025 21:33']],
1318
1318
  [[''],
1319
1319
  ['Emas 1 Gram (IDR)Emas 1 Gram (USD)Kurs USD-IDR',
1320
1320
  'Hari Ini',
@@ -1325,25 +1325,25 @@ Output:
1325
1325
  '']],
1326
1326
  [['Pergerakkan Harga Emas 1 Gram'],
1327
1327
  ['', 'Penutupan Kemarin', 'Pergerakkan Hari Ini', 'Rata-rata'],
1328
- ['USD', '99,38', '99,38 - 100,55', '99,97'],
1328
+ ['USD', '99,38', '99,38 - 101,14', '100,26'],
1329
1329
  ['KURS', '16.355,25', '16.355,25 - 16.355,25', '16.355,25'],
1330
- ['IDR', '1.625.372,38', '1.625.372,38 - 1.644.475,91', '1.634.924,15'],
1330
+ ['IDR', '1.625.372,38', '1.625.372,38 - 1.654.140,73', '1.639.756,56'],
1331
1331
  [''],
1332
1332
  ['', 'Awal Tahun', 'Pergerakkan YTD', '+/- YTD'],
1333
- ['USD', '84,42', '84,38 - 100,65', '+16,13 (19,11%)'],
1333
+ ['USD', '84,42', '84,38 - 101,14', '+16,72 (19,81%)'],
1334
1334
  ['KURS', '16.220,76', '16.156,70 - 16.387,00', '+134,49 (0,83%)'],
1335
1335
  ['IDR',
1336
1336
  '1.369.306,75',
1337
- '1.368.695,74 - 1.646.100,73',
1338
- '+275.169,16 (20,10%)'],
1337
+ '1.368.695,74 - 1.654.140,73',
1338
+ '+284.833,98 (20,80%)'],
1339
1339
  [''],
1340
1340
  ['', 'Tahun Lalu / 52 Minggu', 'Pergerakkan 52 Minggu', '+/- 52 Minggu'],
1341
- ['USD', '75,37', '73,75 - 100,65', '+25,18 (33,41%)'],
1341
+ ['USD', '75,37', '73,75 - 101,14', '+25,77 (34,19%)'],
1342
1342
  ['KURS', '15.877,00', '15.100,00 - 16.509,65', '+478,25 (3,01%)'],
1343
1343
  ['IDR',
1344
1344
  '1.196.609,14',
1345
- '1.181.943,88 - 1.646.100,73',
1346
- '+447.866,77 (37,43%)']])
1345
+ '1.181.943,88 - 1.654.140,73',
1346
+ '+457.531,59 (38,24%)']])
1347
1347
  ```
1348
1348
 
1349
1349
  ## iloads
@@ -1473,7 +1473,7 @@ Output:
1473
1473
  ```py
1474
1474
  8
1475
1475
  ['mana', 'aja']
1476
- [<Element a at 0x75ef739270>, <Element a at 0x75ef773ed0>, <Element a at 0x75ef773f20>, <Element a at 0x75ef773f70>, <Element a at 0x75ef773fc0>, <Element a at 0x75ef790050>, <Element a at 0x75ef7900a0>, <Element a at 0x75ef7900f0>, <Element a at 0x75ef790140>, <Element a at 0x75ef790190>, <Element a at 0x75ef7901e0>, <Element a at 0x75ef790230>, <Element a at 0x75ef790280>, <Element a at 0x75ef7902d0>, <Element a at 0x75ef790320>, <Element a at 0x75ef790370>, <Element a at 0x75ef7903c0>, <Element a at 0x75ef790410>]
1476
+ [<Element a at 0x7620339810>, <Element a at 0x762036fde0>, <Element a at 0x762036fe30>, <Element a at 0x762036fe80>, <Element a at 0x762036fed0>, <Element a at 0x762036ff20>, <Element a at 0x762036ff70>, <Element a at 0x762036ffc0>, <Element a at 0x7620390050>, <Element a at 0x76203900a0>, <Element a at 0x76203900f0>, <Element a at 0x7620390140>, <Element a at 0x7620390190>, <Element a at 0x76203901e0>, <Element a at 0x7620390230>, <Element a at 0x7620390280>, <Element a at 0x76203902d0>, <Element a at 0x7620390320>]
1477
1477
  False
1478
1478
  ```
1479
1479
 
@@ -1543,7 +1543,7 @@ print(list(iscandir("./", recursive=False, scan_file=False)))
1543
1543
 
1544
1544
  Output:
1545
1545
  ```py
1546
- <generator object iscandir at 0x75ef9db100>
1546
+ <generator object iscandir at 0x76206031f0>
1547
1547
  [PosixPath('.git'), PosixPath('.vscode'), PosixPath('pypipr'), PosixPath('__pycache__'), PosixPath('dist')]
1548
1548
  ```
1549
1549
 
@@ -1576,97 +1576,97 @@ iprint(ivars(__import__('pypipr')))
1576
1576
 
1577
1577
  Output:
1578
1578
  ```py
1579
- {'function': {'avg': <function avg at 0x75fb3e8680>,
1580
- 'get_filemtime': <function get_filemtime at 0x75f7a453a0>,
1581
- 'print_colorize': <function print_colorize at 0x75f7a45580>,
1582
- 'print_log': <function print_log at 0x75f81374c0>,
1583
- 'console_run': <function console_run at 0x75f7a45440>,
1584
- 'auto_reload': <function auto_reload at 0x75f7a44d60>,
1585
- 'basename': <function basename at 0x75f7a45620>,
1586
- 'chr_to_int': <function chr_to_int at 0x75f7a45bc0>,
1587
- 'int_to_chr': <function int_to_chr at 0x75f7a45c60>,
1588
- 'irange': <function irange at 0x75f7a46160>,
1589
- 'batchmaker': <function batchmaker at 0x75f7a45940>,
1590
- 'calculate': <function calculate at 0x75f7a454e0>,
1591
- 'batch_calculate': <function batch_calculate at 0x75f7a456c0>,
1592
- 'bin_to_int': <function bin_to_int at 0x75f7a458a0>,
1593
- 'is_empty': <function is_empty at 0x75f7a46a20>,
1594
- 'exit_if_empty': <function exit_if_empty at 0x75f7a468e0>,
1595
- 'input_char': <function input_char at 0x75f7a46980>,
1596
- 'choices': <function choices at 0x75f7a46ca0>,
1597
- 'chunk_array': <function chunk_array at 0x75f7a46d40>,
1598
- 'create_folder': <function create_folder at 0x75f7a46de0>,
1599
- 'datetime_from_string': <function datetime_from_string at 0x75f7a46e80>,
1600
- 'datetime_now': <function datetime_now at 0x75f7a46f20>,
1601
- 'dict_first': <function dict_first at 0x75f7a651c0>,
1602
- 'dirname': <function dirname at 0x75f7a65260>,
1603
- 'django_clear_migrations': <function django_clear_migrations at 0x75f7a65300>,
1604
- 'django_runserver': <function django_runserver at 0x75f7a65620>,
1605
- 'is_iterable': <function is_iterable at 0x75f7a659e0>,
1606
- 'to_str': <function to_str at 0x75f7a65b20>,
1607
- 'filter_empty': <function filter_empty at 0x75f7a658a0>,
1608
- 'get_by_index': <function get_by_index at 0x75f7a65a80>,
1609
- 'get_class_method': <function get_class_method at 0x75f7a65bc0>,
1610
- 'get_filesize': <function get_filesize at 0x75f7a65d00>,
1611
- 'github_init': <function github_init at 0x75f7a65da0>,
1612
- 'github_pull': <function github_pull at 0x75f7a65e40>,
1613
- 'github_push': <function github_push at 0x75f7a65f80>,
1614
- 'github_user': <function github_user at 0x75f7a66020>,
1615
- 'hex_to_int': <function hex_to_int at 0x75f7a660c0>,
1616
- 'iargv': <function iargv at 0x75f7a66160>,
1617
- 'idir': <function idir at 0x75f7a66200>,
1618
- 'idumps_html': <function idumps_html at 0x75f7af20c0>,
1619
- 'idumps': <function idumps at 0x75f7a662a0>,
1620
- 'int_to_int': <function int_to_int at 0x75f7af25c0>,
1621
- 'ienumerate': <function ienumerate at 0x75f7ad8900>,
1622
- 'ienv': <function ienv at 0x75f7af2480>,
1623
- 'iexec': <function iexec at 0x75f7af2660>,
1624
- 'iinput': <function iinput at 0x75f7af2700>,
1625
- 'ijoin': <function ijoin at 0x75f7af27a0>,
1626
- 'iloads_html': <function iloads_html at 0x75f7af2ac0>,
1627
- 'iloads': <function iloads at 0x75fbea1260>,
1628
- 'int_to_bin': <function int_to_bin at 0x75f7af2840>,
1629
- 'int_to_hex': <function int_to_hex at 0x75f7af28e0>,
1630
- 'int_to_oct': <function int_to_oct at 0x75f7af2b60>,
1631
- 'is_valid_url': <function is_valid_url at 0x75f7af2de0>,
1632
- 'iopen': <function iopen at 0x75f788a980>,
1633
- 'iprint': <function iprint at 0x75f78dd940>,
1634
- 'is_raw_string': <function is_raw_string at 0x75efb70220>,
1635
- 'ireplace': <function ireplace at 0x75efb56700>,
1636
- 'is_html': <function is_html at 0x75efb70180>,
1637
- 'iscandir': <function iscandir at 0x75efb702c0>,
1638
- 'isplit': <function isplit at 0x75efb70360>,
1639
- 'ivars': <function ivars at 0x75efb70400>,
1640
- 'log': <function log at 0x75efb704a0>,
1641
- 'oct_to_int': <function oct_to_int at 0x75efb70540>,
1642
- 'password_generator': <function password_generator at 0x75efb705e0>,
1643
- 'path_to_module': <function path_to_module at 0x75efb70720>,
1644
- 'pip_freeze_without_version': <function pip_freeze_without_version at 0x75efb707c0>,
1645
- 'pip_update_pypipr': <function pip_update_pypipr at 0x75efb70680>,
1646
- 'poetry_publish': <function poetry_publish at 0x75efb70900>,
1647
- 'poetry_update_version': <function poetry_update_version at 0x75efb70a40>,
1648
- 'print_dir': <function print_dir at 0x75efb70b80>,
1649
- 'print_to_last_line': <function print_to_last_line at 0x75efb70c20>,
1650
- 'random_bool': <function random_bool at 0x75efb70cc0>,
1651
- 'repath': <function repath at 0x75efb70e00>,
1652
- 'restart': <function restart at 0x75efb70ea0>,
1653
- 'set_timeout': <function set_timeout at 0x75efb70f40>,
1654
- 'sets_ordered': <function sets_ordered at 0x75efb70fe0>,
1655
- 'sqlite_backup': <function sqlite_backup at 0x75efb71080>,
1656
- 'sqlite_delete_table': <function sqlite_delete_table at 0x75efb71120>,
1657
- 'sqlite_get_all_tables': <function sqlite_get_all_tables at 0x75efb711c0>,
1658
- 'sqlite_get_data_table': <function sqlite_get_data_table at 0x75efb71260>,
1659
- 'str_cmp': <function str_cmp at 0x75efb71b20>,
1660
- 'text_colorize': <function text_colorize at 0x75efb71bc0>,
1661
- 'tiles': <function tiles at 0x75efb71c60>,
1662
- 'traceback_filename': <function traceback_filename at 0x75efb71d00>,
1663
- 'traceback_framename': <function traceback_framename at 0x75efb71da0>},
1579
+ {'function': {'avg': <function avg at 0x76287f0680>,
1580
+ 'get_filemtime': <function get_filemtime at 0x76248c53a0>,
1581
+ 'print_colorize': <function print_colorize at 0x76248c5580>,
1582
+ 'print_log': <function print_log at 0x7624ff74c0>,
1583
+ 'console_run': <function console_run at 0x76248c5440>,
1584
+ 'auto_reload': <function auto_reload at 0x76248c4d60>,
1585
+ 'basename': <function basename at 0x76248c5620>,
1586
+ 'chr_to_int': <function chr_to_int at 0x76248c5bc0>,
1587
+ 'int_to_chr': <function int_to_chr at 0x76248c5c60>,
1588
+ 'irange': <function irange at 0x76248c6160>,
1589
+ 'batchmaker': <function batchmaker at 0x76248c5940>,
1590
+ 'calculate': <function calculate at 0x76248c54e0>,
1591
+ 'batch_calculate': <function batch_calculate at 0x76248c56c0>,
1592
+ 'bin_to_int': <function bin_to_int at 0x76248c58a0>,
1593
+ 'is_empty': <function is_empty at 0x76248c6a20>,
1594
+ 'exit_if_empty': <function exit_if_empty at 0x76248c68e0>,
1595
+ 'input_char': <function input_char at 0x76248c6980>,
1596
+ 'choices': <function choices at 0x76248c6ca0>,
1597
+ 'chunk_array': <function chunk_array at 0x76248c6d40>,
1598
+ 'create_folder': <function create_folder at 0x76248c6de0>,
1599
+ 'datetime_from_string': <function datetime_from_string at 0x76248c6e80>,
1600
+ 'datetime_now': <function datetime_now at 0x76248c6f20>,
1601
+ 'dict_first': <function dict_first at 0x76248e51c0>,
1602
+ 'dirname': <function dirname at 0x76248e5260>,
1603
+ 'django_clear_migrations': <function django_clear_migrations at 0x76248e5300>,
1604
+ 'django_runserver': <function django_runserver at 0x76248e5620>,
1605
+ 'is_iterable': <function is_iterable at 0x76248e59e0>,
1606
+ 'to_str': <function to_str at 0x76248e5b20>,
1607
+ 'filter_empty': <function filter_empty at 0x76248e58a0>,
1608
+ 'get_by_index': <function get_by_index at 0x76248e5a80>,
1609
+ 'get_class_method': <function get_class_method at 0x76248e5bc0>,
1610
+ 'get_filesize': <function get_filesize at 0x76248e5d00>,
1611
+ 'github_init': <function github_init at 0x76248e5da0>,
1612
+ 'github_pull': <function github_pull at 0x76248e5e40>,
1613
+ 'github_push': <function github_push at 0x76248e5f80>,
1614
+ 'github_user': <function github_user at 0x76248e6020>,
1615
+ 'hex_to_int': <function hex_to_int at 0x76248e60c0>,
1616
+ 'iargv': <function iargv at 0x76248e6160>,
1617
+ 'idir': <function idir at 0x76248e6200>,
1618
+ 'idumps_html': <function idumps_html at 0x76249760c0>,
1619
+ 'idumps': <function idumps at 0x76248e62a0>,
1620
+ 'int_to_int': <function int_to_int at 0x76249765c0>,
1621
+ 'ienumerate': <function ienumerate at 0x762495c900>,
1622
+ 'ienv': <function ienv at 0x7624976480>,
1623
+ 'iexec': <function iexec at 0x7624976660>,
1624
+ 'iinput': <function iinput at 0x7624976700>,
1625
+ 'ijoin': <function ijoin at 0x76249767a0>,
1626
+ 'iloads_html': <function iloads_html at 0x7624976ac0>,
1627
+ 'iloads': <function iloads at 0x76292a5260>,
1628
+ 'int_to_bin': <function int_to_bin at 0x7624976840>,
1629
+ 'int_to_hex': <function int_to_hex at 0x76249768e0>,
1630
+ 'int_to_oct': <function int_to_oct at 0x7624976b60>,
1631
+ 'is_valid_url': <function is_valid_url at 0x7624976de0>,
1632
+ 'iopen': <function iopen at 0x762470e980>,
1633
+ 'iprint': <function iprint at 0x7624765940>,
1634
+ 'is_raw_string': <function is_raw_string at 0x7620ce4220>,
1635
+ 'ireplace': <function ireplace at 0x7620cce700>,
1636
+ 'is_html': <function is_html at 0x7620ce4180>,
1637
+ 'iscandir': <function iscandir at 0x7620ce42c0>,
1638
+ 'isplit': <function isplit at 0x7620ce4360>,
1639
+ 'ivars': <function ivars at 0x7620ce4400>,
1640
+ 'log': <function log at 0x7620ce44a0>,
1641
+ 'oct_to_int': <function oct_to_int at 0x7620ce4540>,
1642
+ 'password_generator': <function password_generator at 0x7620ce45e0>,
1643
+ 'path_to_module': <function path_to_module at 0x7620ce4720>,
1644
+ 'pip_freeze_without_version': <function pip_freeze_without_version at 0x7620ce47c0>,
1645
+ 'pip_update_pypipr': <function pip_update_pypipr at 0x7620ce4860>,
1646
+ 'poetry_publish': <function poetry_publish at 0x7620ce4900>,
1647
+ 'poetry_update_version': <function poetry_update_version at 0x7620ce4a40>,
1648
+ 'print_dir': <function print_dir at 0x7620ce4b80>,
1649
+ 'print_to_last_line': <function print_to_last_line at 0x7620ce4c20>,
1650
+ 'random_bool': <function random_bool at 0x7620ce4cc0>,
1651
+ 'repath': <function repath at 0x7620ce4e00>,
1652
+ 'restart': <function restart at 0x7620ce4ea0>,
1653
+ 'set_timeout': <function set_timeout at 0x7620ce4f40>,
1654
+ 'sets_ordered': <function sets_ordered at 0x7620ce4fe0>,
1655
+ 'sqlite_backup': <function sqlite_backup at 0x7620ce5080>,
1656
+ 'sqlite_delete_table': <function sqlite_delete_table at 0x7620ce5120>,
1657
+ 'sqlite_get_all_tables': <function sqlite_get_all_tables at 0x7620ce51c0>,
1658
+ 'sqlite_get_data_table': <function sqlite_get_data_table at 0x7620ce5260>,
1659
+ 'str_cmp': <function str_cmp at 0x7620ce5b20>,
1660
+ 'text_colorize': <function text_colorize at 0x7620ce5bc0>,
1661
+ 'tiles': <function tiles at 0x7620ce5c60>,
1662
+ 'traceback_filename': <function traceback_filename at 0x7620ce5d00>,
1663
+ 'traceback_framename': <function traceback_framename at 0x7620ce5da0>},
1664
1664
  'class': {'ComparePerformance': <class 'pypipr.ComparePerformance.ComparePerformance'>,
1665
1665
  'PintUregQuantity': <class 'pint.Quantity'>,
1666
1666
  'RunParallel': <class 'pypipr.RunParallel.RunParallel'>,
1667
1667
  'TextCase': <class 'pypipr.TextCase.TextCase'>},
1668
1668
  'variable': {'LINUX': True,
1669
- 'PintUreg': <pint.registry.UnitRegistry object at 0x75f811fef0>,
1669
+ 'PintUreg': <pint.registry.UnitRegistry object at 0x76287e8e60>,
1670
1670
  'WINDOWS': False},
1671
1671
  'module': {'asyncio': <module 'asyncio' from '/data/data/com.termux/files/usr/lib/python3.12/asyncio/__init__.py'>,
1672
1672
  'colorama': <module 'colorama' from '/data/data/com.termux/files/home/.cache/pypoetry/virtualenvs/pypipr-ZoJyDxLL-py3.12/lib/python3.12/site-packages/colorama/__init__.py'>,
@@ -1757,7 +1757,7 @@ print(password_generator())
1757
1757
 
1758
1758
  Output:
1759
1759
  ```py
1760
- ){\eT\5r
1760
+ 4CZ-@g\$
1761
1761
  ```
1762
1762
 
1763
1763
  ## path_to_module
@@ -1836,7 +1836,7 @@ Output:
1836
1836
  __enter__ : https:/www.google.com
1837
1837
  __fspath__ : https:/www.google.com
1838
1838
  __getstate__ : (None, {'_raw_paths': ['https://www.google.com/'], '_drv': '', '_root': '', '_tail_cached': ['https:', 'www.google.com'], '_str': 'https:/www.google.com'})
1839
- __hash__ : 1392798696252938022
1839
+ __hash__ : 397743534404519733
1840
1840
  __init__ : None
1841
1841
  __init_subclass__ : None
1842
1842
  __module__ : pathlib
@@ -1848,7 +1848,7 @@ Output:
1848
1848
  __subclasshook__ : NotImplemented
1849
1849
  _drv :
1850
1850
  _flavour : <module 'posixpath' (frozen)>
1851
- _hash : 1392798696252938022
1851
+ _hash : 397743534404519733
1852
1852
  _lines : https:
1853
1853
  www.google.com
1854
1854
  _lines_cached : https:
@@ -1882,7 +1882,7 @@ _parts_normcase_cached : ['https:', 'www.google.com']
1882
1882
  is_reserved : False
1883
1883
  is_socket : False
1884
1884
  is_symlink : False
1885
- iterdir : <generator object Path.iterdir at 0x75ef74d2f0>
1885
+ iterdir : <generator object Path.iterdir at 0x76203512f0>
1886
1886
  joinpath : .
1887
1887
  name :
1888
1888
  parent : https:/www.google.com
@@ -1893,7 +1893,7 @@ _parts_normcase_cached : ['https:', 'www.google.com']
1893
1893
  stem :
1894
1894
  suffix :
1895
1895
  suffixes : []
1896
- walk : <generator object Path.walk at 0x75efc3bd80>
1896
+ walk : <generator object Path.walk at 0x7620db3d80>
1897
1897
  with_segments : .
1898
1898
  ```
1899
1899
 
@@ -1973,7 +1973,7 @@ x.cancel()
1973
1973
 
1974
1974
  Output:
1975
1975
  ```py
1976
- <Timer(Thread-2, started 506506099952)>
1976
+ <Timer(Thread-2, started 507319926000)>
1977
1977
  menghentikan timeout 7
1978
1978
  ```
1979
1979
 
@@ -1991,7 +1991,7 @@ print(list(sets_ordered(array)))
1991
1991
 
1992
1992
  Output:
1993
1993
  ```py
1994
- <generator object sets_ordered at 0x75ef74ecf0>
1994
+ <generator object sets_ordered at 0x7620352cf0>
1995
1995
  [2, 3, 12, 42, 1, 43, 41, 4, 24, 32]
1996
1996
  ```
1997
1997
 
@@ -2113,15 +2113,15 @@ print(ExampleComparePerformance().compare_performance())
2113
2113
 
2114
2114
  Output:
2115
2115
  ```py
2116
- {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x75efa30ac0>,
2116
+ {'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x7620658ac0>,
2117
2117
  'b': (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
2118
2118
  'c': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
2119
2119
  'd': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}
2120
- {'a': 100, 'b': 187, 'c': 164, 'd': 162}
2121
- {'a': 100, 'b': 166, 'c': 127, 'd': 167}
2122
- {'a': 100, 'b': 167, 'c': 115, 'd': 168}
2123
- {'a': 100, 'b': 167, 'c': 120, 'd': 169}
2124
- {'a': 100, 'b': 176, 'c': 120, 'd': 176}
2120
+ {'a': 127, 'b': 165, 'c': 100, 'd': 264}
2121
+ {'a': 108, 'b': 163, 'c': 99, 'd': 237}
2122
+ {'a': 100, 'b': 150, 'c': 103, 'd': 205}
2123
+ {'a': 107, 'b': 161, 'c': 100, 'd': 206}
2124
+ {'a': 107, 'b': 162, 'c': 100, 'd': 213}
2125
2125
  ```
2126
2126
 
2127
2127
  ## PintUregQuantity
@@ -22,7 +22,7 @@ pypipr/create_folder.py,sha256=YgK3Rhg-v8314VNSgUvq7LgyLHlpHGBYXaa1RgRsbxo,523
22
22
  pypipr/datetime_from_string.py,sha256=-GJ_QHD1feUMX0o8nwCPHGflDPXr84ovN4Awnk1T9r8,466
23
23
  pypipr/datetime_now.py,sha256=YEaatUOp0KBWYRhOFnxnVW0X7C1XEx3dpdBEn5Vwy9w,379
24
24
  pypipr/dict_first.py,sha256=X_pSaY0DLGZJSR2zJBa17yqbwAFLJrVpzb2gxR5wzZg,377
25
- pypipr/dirname.py,sha256=rG3Y7EdOiY4gQo-BoYE_0C4XFKz3U9A1Ly4D28YaMDY,229
25
+ pypipr/dirname.py,sha256=LFYG6IiXwqtNtQ5-Z1cCJl8y2SytfSllqEBxwcVe3FE,365
26
26
  pypipr/django_clear_migrations.py,sha256=Sjb7qq7OZc1_iTNcR2mtRY6k2um9Jr6X4A4PMqOqnCU,302
27
27
  pypipr/django_runserver.py,sha256=puzQajQ_RdLqEZFplKKEKsfhaG-IxHGW4CXZc80EnA8,734
28
28
  pypipr/exit_if_empty.py,sha256=2qUqmYPSkr1NtKPqIN7BAc-WGtcmPPAw8AdO8HirOv8,321
@@ -53,7 +53,7 @@ pypipr/int_to_chr.py,sha256=Ae_cGhbwBCxmzqFrfjk0rLfAT049eYYjgMgJOtMpyhc,458
53
53
  pypipr/int_to_hex.py,sha256=w6kOPSNhOzjip7SWX7Q9df6f0vwwuKdbuHQhFjwOqN4,215
54
54
  pypipr/int_to_int.py,sha256=8qocfQtQowaVac4o4g1tpywMxm7OHDIbBqNl1RP6lGk,215
55
55
  pypipr/int_to_oct.py,sha256=GWu7VbHJXJxC6IvLEjQofUrbbXjQSEYPZvT2f6wh_Is,215
56
- pypipr/iopen.py,sha256=qEJfKgfrCj-qd17UUlSAw7O4LyV4n0ZKDBbfv288z20,2657
56
+ pypipr/iopen.py,sha256=ISgQioLth7WDFedOrmCL78us2IDRXCTB5kiQr1kKBn8,2768
57
57
  pypipr/iprint.py,sha256=5ekT7RzcTd8Lsb8IQ9JeFJmFl2V6OYFbiHECt9W4iWg,838
58
58
  pypipr/irange.py,sha256=-RfSWKq0HezABk6jW-Tnwt3fHuhJDHtippwDe5eki0o,3504
59
59
  pypipr/ireplace.py,sha256=ce1vqq4kXs9yUPnNAi6p0o2O2zAoUetp4GhVvfv4B8s,873
@@ -92,7 +92,7 @@ pypipr/tiles.py,sha256=uSEYqvjBQHIz7pZKtdta1XwFhGrMFieMHOH2DKrlcXc,328
92
92
  pypipr/to_str.py,sha256=vSuspf-ZQldf4enkssa9XH0WMjkmWug51G9ia0K5occ,597
93
93
  pypipr/traceback_filename.py,sha256=4o85J0N8clI0cM6NTGcKZ4zxR9yS7W2NS_bz3J2_PnY,288
94
94
  pypipr/traceback_framename.py,sha256=_mullrAZzMhBFEFVCgdsmkYQmYUkd58o-J-HuMntKyc,291
95
- pypipr-1.0.165.dist-info/METADATA,sha256=Y0cPkmWJjBqGhPnr-bR1IaNk-E3ltkgbzAVq67CjZlI,57817
96
- pypipr-1.0.165.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
97
- pypipr-1.0.165.dist-info/entry_points.txt,sha256=XEBtOa61BCVW4cVvoqYQnyTcenJ1tzFFB09YnuqlKBY,51
98
- pypipr-1.0.165.dist-info/RECORD,,
95
+ pypipr-1.0.166.dist-info/METADATA,sha256=tIXQ9tsmHfDFJx4yrGPUa2HnEIZFgHnxu8ntoy7KGVU,57826
96
+ pypipr-1.0.166.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
97
+ pypipr-1.0.166.dist-info/entry_points.txt,sha256=XEBtOa61BCVW4cVvoqYQnyTcenJ1tzFFB09YnuqlKBY,51
98
+ pypipr-1.0.166.dist-info/RECORD,,