pypipr 1.0.165__tar.gz → 1.0.167__tar.gz
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-1.0.165 → pypipr-1.0.167}/PKG-INFO +156 -150
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/__init__.py +1 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/dirname.py +5 -1
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/iopen.py +3 -0
- pypipr-1.0.167/pypipr/no_indent.py +5 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pyproject.toml +1 -1
- {pypipr-1.0.165 → pypipr-1.0.167}/readme.md +155 -149
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/ComparePerformance.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/LINUX.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/PintUreg.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/PintUregQuantity.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/RunParallel.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/TextCase.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/WINDOWS.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/__terminal__.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/auto_reload.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/avg.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/basename.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/batch_calculate.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/batchmaker.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/bin_to_int.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/calculate.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/choices.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/chr_to_int.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/chunk_array.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/console_run.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/create_folder.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/datetime_from_string.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/datetime_now.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/dict_first.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/django_clear_migrations.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/django_runserver.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/exit_if_empty.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/filter_empty.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/get_by_index.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/get_class_method.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/get_filemtime.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/get_filesize.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/github_init.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/github_pull.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/github_push.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/github_user.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/hex_to_int.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/iargv.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/idir.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/idumps.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/idumps_html.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/ienumerate.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/ienv.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/iexec.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/iinput.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/ijoin.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/iloads.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/iloads_html.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/input_char.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/int_to_bin.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/int_to_chr.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/int_to_hex.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/int_to_int.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/int_to_oct.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/iprint.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/irange.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/ireplace.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/is_empty.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/is_html.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/is_iterable.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/is_raw_string.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/is_valid_url.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/iscandir.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/isplit.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/ivars.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/log.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/oct_to_int.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/password_generator.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/path_to_module.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/pip_freeze_without_version.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/pip_update_pypipr.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/poetry_publish.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/poetry_update_version.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/print_colorize.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/print_dir.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/print_log.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/print_to_last_line.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/random_bool.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/repath.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/restart.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/set_timeout.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/sets_ordered.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/sqlite_backup.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/sqlite_delete_table.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/sqlite_get_all_tables.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/sqlite_get_data_table.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/str_cmp.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/text_colorize.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/tiles.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/to_str.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/traceback_filename.py +0 -0
- {pypipr-1.0.165 → pypipr-1.0.167}/pypipr/traceback_framename.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: pypipr
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.167
|
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
|
252
|
-
<generator object int_range at
|
251
|
+
<generator object int_range at 0x7e48a52840>
|
252
|
+
<generator object int_range at 0x7e48a52940>
|
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
|
284
|
+
<generator object batchmaker at 0x7e48a6b1c0>
|
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
|
338
|
+
<generator object batch_calculate at 0x7e48a7b300>
|
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
|
444
|
+
<generator object chunk_array at 0x7e48a5f100>
|
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
|
496
|
-
2025-04-10
|
497
|
-
2025-04-10
|
495
|
+
2025-04-10 21:42:06.953911+07:00
|
496
|
+
2025-04-10 14:42:06.956120+00:00
|
497
|
+
2025-04-10 07:42:06.958795-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
|
611
|
+
<generator object filter_empty at 0x7e48a5f2e0>
|
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
|
659
|
-
[<function ExampleGetClassMethod.a at
|
658
|
+
<generator object get_class_method at 0x7e48a7be60>
|
659
|
+
[<function ExampleGetClassMethod.a at 0x7e48acede0>, <function ExampleGetClassMethod.b at 0x7e48acee80>, <function ExampleGetClassMethod.c at 0x7e48aced40>, <function ExampleGetClassMethod.d at 0x7e48acef20>]
|
660
660
|
```
|
661
661
|
|
662
662
|
## get_filesize
|
@@ -846,6 +846,7 @@ Output:
|
|
846
846
|
'lxml',
|
847
847
|
'math',
|
848
848
|
'multiprocessing',
|
849
|
+
'no_indent',
|
849
850
|
'oct_to_int',
|
850
851
|
'operator',
|
851
852
|
'os',
|
@@ -1083,7 +1084,7 @@ Output:
|
|
1083
1084
|
|
1084
1085
|
## ienumerate
|
1085
1086
|
|
1086
|
-
`ienumerate(iterator, start=0, key=<function int_to_int at
|
1087
|
+
`ienumerate(iterator, start=0, key=<function int_to_int at 0x7e4c90a5c0>)`
|
1087
1088
|
|
1088
1089
|
meningkatkan fungsi enumerate() pada python
|
1089
1090
|
untuk key menggunakan huruf dan basis angka lainnya.
|
@@ -1096,7 +1097,7 @@ iprint(ienumerate(it, key=int_to_chr))
|
|
1096
1097
|
|
1097
1098
|
Output:
|
1098
1099
|
```py
|
1099
|
-
<generator object ienumerate at
|
1100
|
+
<generator object ienumerate at 0x7e48a5f2e0>
|
1100
1101
|
[('a', 'ini'), ('b', 'contoh'), ('c', 'enumerator')]
|
1101
1102
|
```
|
1102
1103
|
|
@@ -1173,7 +1174,7 @@ print(ijoin(10, ' '))
|
|
1173
1174
|
|
1174
1175
|
Output:
|
1175
1176
|
```py
|
1176
|
-
|
1177
|
+
weq, qweqw, asd, dfs
|
1177
1178
|
,ini,path,seperti,url,
|
1178
1179
|
ini,path,seperti,url
|
1179
1180
|
<li>satu</li>
|
@@ -1219,9 +1220,9 @@ Output:
|
|
1219
1220
|
```py
|
1220
1221
|
(['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
|
1221
1222
|
[['Harga Emas Hari Ini - Kamis, 10 April 2025'],
|
1222
|
-
['Spot Emas USD↑3.
|
1223
|
+
['Spot Emas USD↑3.151,83 (+60,79) / oz',
|
1223
1224
|
'Kurs IDR1,00 / USD',
|
1224
|
-
'Emas IDR↑101 (+
|
1225
|
+
'Emas IDR↑101 (+2) / gr'],
|
1225
1226
|
['LM Antam (Jual)↓1.513.000 (-30.000) / gr',
|
1226
1227
|
'LM Antam (Beli)↓1.366.000 (-30.000) / gr']],
|
1227
1228
|
[['Harga Emas Hari Ini'],
|
@@ -1244,10 +1245,10 @@ Output:
|
|
1244
1245
|
'Update harga LM Pegadaian :31 Desember 1969']],
|
1245
1246
|
[['Spot Harga Emas Hari Ini (Market Open)'],
|
1246
1247
|
['Satuan', 'USD', 'Kurs\xa0Dollar', 'IDR'],
|
1247
|
-
['Ounce\xa0(oz)', '3.
|
1248
|
-
['Gram\xa0(gr)', '
|
1249
|
-
['Kilogram\xa0(kg)', '
|
1250
|
-
['Update harga emas :10 April 2025, pukul
|
1248
|
+
['Ounce\xa0(oz)', '3.151,83 (+60,79)', '1,00', '3.152'],
|
1249
|
+
['Gram\xa0(gr)', '101,33', '1,00', '101 (+2)'],
|
1250
|
+
['Kilogram\xa0(kg)', '101.333,69', '1,00', '101.334'],
|
1251
|
+
['Update harga emas :10 April 2025, pukul 21:42Update kurs :14 Maret 2025, '
|
1251
1252
|
'pukul 10:13']],
|
1252
1253
|
[['Gram', 'UBS Gold 99.99%'],
|
1253
1254
|
['Jual', 'Beli'],
|
@@ -1285,36 +1286,36 @@ Output:
|
|
1285
1286
|
['Unit', 'USD', 'IDR'],
|
1286
1287
|
['Angka', '+/-', 'Angka', '+/-'],
|
1287
1288
|
['Hari Ini', 'Kurs', '', '', '1', '%'],
|
1288
|
-
['oz', '3.091,04', '+
|
1289
|
-
['gr', '99,38', '+1,
|
1289
|
+
['oz', '3.091,04', '+60,79+1,97%', '3.091', '+61+1,97%'],
|
1290
|
+
['gr', '99,38', '+1,95+1,97%', '99', '+2+1,97%'],
|
1290
1291
|
['30 Hari', 'Kurs', '', '', '16.326', '-16.325-99,99%'],
|
1291
|
-
['oz', '2.916,73', '+
|
1292
|
-
['gr', '93,78', '+
|
1292
|
+
['oz', '2.916,73', '+235,10+8,06%', '47.618.534', '-47.615.382-99,99%'],
|
1293
|
+
['gr', '93,78', '+7,56+8,06%', '1.530.971', '-1.530.870-99,99%'],
|
1293
1294
|
['2 Bulan', 'Kurs', '', '', '16.330', '-16.329-99,99%'],
|
1294
|
-
['oz', '2.861,26', '+
|
1295
|
-
['gr', '91,99', '+
|
1295
|
+
['oz', '2.861,26', '+290,57+10,16%', '46.724.376', '-46.721.224-99,99%'],
|
1296
|
+
['gr', '91,99', '+9,34+10,16', '1.502.224', '-1.502.122-99,99%'],
|
1296
1297
|
['6 Bulan', 'Kurs', '', '', '15.658', '-15.657-99,99%'],
|
1297
|
-
['oz', '2.656,78', '+
|
1298
|
-
['gr', '85,42', '+15,
|
1298
|
+
['oz', '2.656,78', '+495,05+18,63%', '41.599.861', '-41.596.709-99,99%'],
|
1299
|
+
['gr', '85,42', '+15,92+18,63%', '1.337.467', '-1.337.365-99,99%'],
|
1299
1300
|
['1 Tahun', 'Kurs', '', '', '15.907', '-15.906-99,99%'],
|
1300
|
-
['oz', '2.338,57', '+
|
1301
|
-
['gr', '75,19', '+
|
1301
|
+
['oz', '2.338,57', '+813,26+34,78%', '37.199.633', '-37.196.481-99,99%'],
|
1302
|
+
['gr', '75,19', '+26,15+34,78%', '1.195.996', '-1.195.895-99,99%'],
|
1302
1303
|
['2 Tahun', 'Kurs', '', '', '15.731', '-15.730-99,99%'],
|
1303
|
-
['oz', '1.823,86', '+1.
|
1304
|
-
['gr', '58,64', '+
|
1304
|
+
['oz', '1.823,86', '+1.327,97+72,81%', '28.691.142', '-28.687.990-99,99%'],
|
1305
|
+
['gr', '58,64', '+42,70+72,81%', '922.442', '-922.340-99,99%'],
|
1305
1306
|
['3 Tahun', 'Kurs', '', '', '14.365', '-14.364-99,99%'],
|
1306
|
-
['oz', '1.942,64', '+1.
|
1307
|
-
['gr', '62,46', '+38,
|
1307
|
+
['oz', '1.942,64', '+1.209,19+62,24%', '27.906.043', '-27.902.891-99,99%'],
|
1308
|
+
['gr', '62,46', '+38,88+62,24%', '897.200', '-897.099-99,99%'],
|
1308
1309
|
['5 Tahun', 'Kurs', '', '', '16.241', '-16.240-99,99%'],
|
1309
|
-
['oz', '1.688,78', '+1.
|
1310
|
-
['gr', '54,30', '+
|
1310
|
+
['oz', '1.688,78', '+1.463,05+86,63%', '27.427.493', '-27.424.341-99,99%'],
|
1311
|
+
['gr', '54,30', '+47,04+86,63%', '881.814', '-881.713-99,99%']])
|
1311
1312
|
(['Home', 'Emas 1 Gram', 'History', 'Trend', 'Perak 1 Gram', 'Pluang'],
|
1312
1313
|
[[''],
|
1313
1314
|
['Emas 24 KaratHarga Emas 1 Gram', ''],
|
1314
|
-
['USD', '
|
1315
|
+
['USD', '101,33↑', '+1,95+1,96%'],
|
1315
1316
|
['KURS', '16.355,25↓', '%'],
|
1316
|
-
['IDR', '1.
|
1317
|
-
['Kamis, 10 April 2025
|
1317
|
+
['IDR', '1.657.337,80↑', '+31.965,42+1,97%'],
|
1318
|
+
['Kamis, 10 April 2025 21:42']],
|
1318
1319
|
[[''],
|
1319
1320
|
['Emas 1 Gram (IDR)Emas 1 Gram (USD)Kurs USD-IDR',
|
1320
1321
|
'Hari Ini',
|
@@ -1325,25 +1326,25 @@ Output:
|
|
1325
1326
|
'']],
|
1326
1327
|
[['Pergerakkan Harga Emas 1 Gram'],
|
1327
1328
|
['', 'Penutupan Kemarin', 'Pergerakkan Hari Ini', 'Rata-rata'],
|
1328
|
-
['USD', '99,38', '99,38 -
|
1329
|
+
['USD', '99,38', '99,38 - 101,33', '100,36'],
|
1329
1330
|
['KURS', '16.355,25', '16.355,25 - 16.355,25', '16.355,25'],
|
1330
|
-
['IDR', '1.625.372,38', '1.625.372,38 - 1.
|
1331
|
+
['IDR', '1.625.372,38', '1.625.372,38 - 1.657.337,80', '1.641.355,09'],
|
1331
1332
|
[''],
|
1332
1333
|
['', 'Awal Tahun', 'Pergerakkan YTD', '+/- YTD'],
|
1333
|
-
['USD', '84,42', '84,38 -
|
1334
|
+
['USD', '84,42', '84,38 - 101,33', '+16,91 (20,03%)'],
|
1334
1335
|
['KURS', '16.220,76', '16.156,70 - 16.387,00', '+134,49 (0,83%)'],
|
1335
1336
|
['IDR',
|
1336
1337
|
'1.369.306,75',
|
1337
|
-
'1.368.695,74 - 1.
|
1338
|
-
'+
|
1338
|
+
'1.368.695,74 - 1.657.337,80',
|
1339
|
+
'+288.031,05 (21,03%)'],
|
1339
1340
|
[''],
|
1340
1341
|
['', 'Tahun Lalu / 52 Minggu', 'Pergerakkan 52 Minggu', '+/- 52 Minggu'],
|
1341
|
-
['USD', '75,37', '73,75 -
|
1342
|
+
['USD', '75,37', '73,75 - 101,33', '+25,96 (34,44%)'],
|
1342
1343
|
['KURS', '15.877,00', '15.100,00 - 16.509,65', '+478,25 (3,01%)'],
|
1343
1344
|
['IDR',
|
1344
1345
|
'1.196.609,14',
|
1345
|
-
'1.181.943,88 - 1.
|
1346
|
-
'+
|
1346
|
+
'1.181.943,88 - 1.657.337,80',
|
1347
|
+
'+460.728,66 (38,50%)']])
|
1347
1348
|
```
|
1348
1349
|
|
1349
1350
|
## iloads
|
@@ -1473,7 +1474,7 @@ Output:
|
|
1473
1474
|
```py
|
1474
1475
|
8
|
1475
1476
|
['mana', 'aja']
|
1476
|
-
[<Element a at
|
1477
|
+
[<Element a at 0x7e487a9270>, <Element a at 0x7e487dfed0>, <Element a at 0x7e487dff20>, <Element a at 0x7e487dff70>, <Element a at 0x7e487dffc0>, <Element a at 0x7e48800050>, <Element a at 0x7e488000a0>, <Element a at 0x7e488000f0>, <Element a at 0x7e48800140>, <Element a at 0x7e48800190>, <Element a at 0x7e488001e0>, <Element a at 0x7e48800230>, <Element a at 0x7e48800280>, <Element a at 0x7e488002d0>, <Element a at 0x7e48800320>, <Element a at 0x7e48800370>, <Element a at 0x7e488003c0>, <Element a at 0x7e48800410>]
|
1477
1478
|
False
|
1478
1479
|
```
|
1479
1480
|
|
@@ -1543,7 +1544,7 @@ print(list(iscandir("./", recursive=False, scan_file=False)))
|
|
1543
1544
|
|
1544
1545
|
Output:
|
1545
1546
|
```py
|
1546
|
-
<generator object iscandir at
|
1547
|
+
<generator object iscandir at 0x7e48a5f1f0>
|
1547
1548
|
[PosixPath('.git'), PosixPath('.vscode'), PosixPath('pypipr'), PosixPath('__pycache__'), PosixPath('dist')]
|
1548
1549
|
```
|
1549
1550
|
|
@@ -1576,97 +1577,98 @@ iprint(ivars(__import__('pypipr')))
|
|
1576
1577
|
|
1577
1578
|
Output:
|
1578
1579
|
```py
|
1579
|
-
{'function': {'avg': <function avg at
|
1580
|
-
'get_filemtime': <function get_filemtime at
|
1581
|
-
'print_colorize': <function print_colorize at
|
1582
|
-
'print_log': <function print_log at
|
1583
|
-
'console_run': <function console_run at
|
1584
|
-
'auto_reload': <function auto_reload at
|
1585
|
-
'basename': <function basename at
|
1586
|
-
'chr_to_int': <function chr_to_int at
|
1587
|
-
'int_to_chr': <function int_to_chr at
|
1588
|
-
'irange': <function irange at
|
1589
|
-
'batchmaker': <function batchmaker at
|
1590
|
-
'calculate': <function calculate at
|
1591
|
-
'batch_calculate': <function batch_calculate at
|
1592
|
-
'bin_to_int': <function bin_to_int at
|
1593
|
-
'is_empty': <function is_empty at
|
1594
|
-
'exit_if_empty': <function exit_if_empty at
|
1595
|
-
'input_char': <function input_char at
|
1596
|
-
'choices': <function choices at
|
1597
|
-
'chunk_array': <function chunk_array at
|
1598
|
-
'create_folder': <function create_folder at
|
1599
|
-
'datetime_from_string': <function datetime_from_string at
|
1600
|
-
'datetime_now': <function datetime_now at
|
1601
|
-
'dict_first': <function dict_first at
|
1602
|
-
'dirname': <function dirname at
|
1603
|
-
'django_clear_migrations': <function django_clear_migrations at
|
1604
|
-
'django_runserver': <function django_runserver at
|
1605
|
-
'is_iterable': <function is_iterable at
|
1606
|
-
'to_str': <function to_str at
|
1607
|
-
'filter_empty': <function filter_empty at
|
1608
|
-
'get_by_index': <function get_by_index at
|
1609
|
-
'get_class_method': <function get_class_method at
|
1610
|
-
'get_filesize': <function get_filesize at
|
1611
|
-
'github_init': <function github_init at
|
1612
|
-
'github_pull': <function github_pull at
|
1613
|
-
'github_push': <function github_push at
|
1614
|
-
'github_user': <function github_user at
|
1615
|
-
'hex_to_int': <function hex_to_int at
|
1616
|
-
'iargv': <function iargv at
|
1617
|
-
'idir': <function idir at
|
1618
|
-
'idumps_html': <function idumps_html at
|
1619
|
-
'idumps': <function idumps at
|
1620
|
-
'int_to_int': <function int_to_int at
|
1621
|
-
'ienumerate': <function ienumerate at
|
1622
|
-
'ienv': <function ienv at
|
1623
|
-
'iexec': <function iexec at
|
1624
|
-
'iinput': <function iinput at
|
1625
|
-
'ijoin': <function ijoin at
|
1626
|
-
'iloads_html': <function iloads_html at
|
1627
|
-
'iloads': <function iloads at
|
1628
|
-
'int_to_bin': <function int_to_bin at
|
1629
|
-
'int_to_hex': <function int_to_hex at
|
1630
|
-
'int_to_oct': <function int_to_oct at
|
1631
|
-
'is_valid_url': <function is_valid_url at
|
1632
|
-
'iopen': <function iopen at
|
1633
|
-
'iprint': <function iprint at
|
1634
|
-
'is_raw_string': <function is_raw_string at
|
1635
|
-
'ireplace': <function ireplace at
|
1636
|
-
'is_html': <function is_html at
|
1637
|
-
'iscandir': <function iscandir at
|
1638
|
-
'isplit': <function isplit at
|
1639
|
-
'ivars': <function ivars at
|
1640
|
-
'log': <function log at
|
1641
|
-
'
|
1642
|
-
'
|
1643
|
-
'
|
1644
|
-
'
|
1645
|
-
'
|
1646
|
-
'
|
1647
|
-
'
|
1648
|
-
'
|
1649
|
-
'
|
1650
|
-
'
|
1651
|
-
'
|
1652
|
-
'
|
1653
|
-
'
|
1654
|
-
'
|
1655
|
-
'
|
1656
|
-
'
|
1657
|
-
'
|
1658
|
-
'
|
1659
|
-
'
|
1660
|
-
'
|
1661
|
-
'
|
1662
|
-
'
|
1663
|
-
'
|
1580
|
+
{'function': {'avg': <function avg at 0x7e55d68680>,
|
1581
|
+
'get_filemtime': <function get_filemtime at 0x7e4c85d3a0>,
|
1582
|
+
'print_colorize': <function print_colorize at 0x7e4c85d580>,
|
1583
|
+
'print_log': <function print_log at 0x7e4edc74c0>,
|
1584
|
+
'console_run': <function console_run at 0x7e4c85d440>,
|
1585
|
+
'auto_reload': <function auto_reload at 0x7e4c85cd60>,
|
1586
|
+
'basename': <function basename at 0x7e4c85d620>,
|
1587
|
+
'chr_to_int': <function chr_to_int at 0x7e4c85dbc0>,
|
1588
|
+
'int_to_chr': <function int_to_chr at 0x7e4c85dc60>,
|
1589
|
+
'irange': <function irange at 0x7e4c85e160>,
|
1590
|
+
'batchmaker': <function batchmaker at 0x7e4c85d940>,
|
1591
|
+
'calculate': <function calculate at 0x7e4c85d4e0>,
|
1592
|
+
'batch_calculate': <function batch_calculate at 0x7e4c85d6c0>,
|
1593
|
+
'bin_to_int': <function bin_to_int at 0x7e4c85d8a0>,
|
1594
|
+
'is_empty': <function is_empty at 0x7e4c85ea20>,
|
1595
|
+
'exit_if_empty': <function exit_if_empty at 0x7e4c85e8e0>,
|
1596
|
+
'input_char': <function input_char at 0x7e4c85e980>,
|
1597
|
+
'choices': <function choices at 0x7e4c85eca0>,
|
1598
|
+
'chunk_array': <function chunk_array at 0x7e4c85ed40>,
|
1599
|
+
'create_folder': <function create_folder at 0x7e4c85ede0>,
|
1600
|
+
'datetime_from_string': <function datetime_from_string at 0x7e4c85ee80>,
|
1601
|
+
'datetime_now': <function datetime_now at 0x7e4c85ef20>,
|
1602
|
+
'dict_first': <function dict_first at 0x7e4c87d1c0>,
|
1603
|
+
'dirname': <function dirname at 0x7e4c87d260>,
|
1604
|
+
'django_clear_migrations': <function django_clear_migrations at 0x7e4c87d300>,
|
1605
|
+
'django_runserver': <function django_runserver at 0x7e4c87d620>,
|
1606
|
+
'is_iterable': <function is_iterable at 0x7e4c87d9e0>,
|
1607
|
+
'to_str': <function to_str at 0x7e4c87db20>,
|
1608
|
+
'filter_empty': <function filter_empty at 0x7e4c87d8a0>,
|
1609
|
+
'get_by_index': <function get_by_index at 0x7e4c87da80>,
|
1610
|
+
'get_class_method': <function get_class_method at 0x7e4c87dbc0>,
|
1611
|
+
'get_filesize': <function get_filesize at 0x7e4c87dd00>,
|
1612
|
+
'github_init': <function github_init at 0x7e4c87dda0>,
|
1613
|
+
'github_pull': <function github_pull at 0x7e4c87de40>,
|
1614
|
+
'github_push': <function github_push at 0x7e4c87df80>,
|
1615
|
+
'github_user': <function github_user at 0x7e4c87e020>,
|
1616
|
+
'hex_to_int': <function hex_to_int at 0x7e4c87e0c0>,
|
1617
|
+
'iargv': <function iargv at 0x7e4c87e160>,
|
1618
|
+
'idir': <function idir at 0x7e4c87e200>,
|
1619
|
+
'idumps_html': <function idumps_html at 0x7e4c90a0c0>,
|
1620
|
+
'idumps': <function idumps at 0x7e4c87e2a0>,
|
1621
|
+
'int_to_int': <function int_to_int at 0x7e4c90a5c0>,
|
1622
|
+
'ienumerate': <function ienumerate at 0x7e4c8f0900>,
|
1623
|
+
'ienv': <function ienv at 0x7e4c90a480>,
|
1624
|
+
'iexec': <function iexec at 0x7e4c90a660>,
|
1625
|
+
'iinput': <function iinput at 0x7e4c90a700>,
|
1626
|
+
'ijoin': <function ijoin at 0x7e4c90a7a0>,
|
1627
|
+
'iloads_html': <function iloads_html at 0x7e4c90aac0>,
|
1628
|
+
'iloads': <function iloads at 0x7e56161260>,
|
1629
|
+
'int_to_bin': <function int_to_bin at 0x7e4c90a840>,
|
1630
|
+
'int_to_hex': <function int_to_hex at 0x7e4c90a8e0>,
|
1631
|
+
'int_to_oct': <function int_to_oct at 0x7e4c90ab60>,
|
1632
|
+
'is_valid_url': <function is_valid_url at 0x7e4c90ade0>,
|
1633
|
+
'iopen': <function iopen at 0x7e4c6ea980>,
|
1634
|
+
'iprint': <function iprint at 0x7e4c741940>,
|
1635
|
+
'is_raw_string': <function is_raw_string at 0x7e48bd4220>,
|
1636
|
+
'ireplace': <function ireplace at 0x7e4c7aa700>,
|
1637
|
+
'is_html': <function is_html at 0x7e48bd4180>,
|
1638
|
+
'iscandir': <function iscandir at 0x7e48bd42c0>,
|
1639
|
+
'isplit': <function isplit at 0x7e48bd4360>,
|
1640
|
+
'ivars': <function ivars at 0x7e48bd4400>,
|
1641
|
+
'log': <function log at 0x7e48bd44a0>,
|
1642
|
+
'no_indent': <function no_indent at 0x7e48bd45e0>,
|
1643
|
+
'oct_to_int': <function oct_to_int at 0x7e48bd4680>,
|
1644
|
+
'password_generator': <function password_generator at 0x7e48bd4540>,
|
1645
|
+
'path_to_module': <function path_to_module at 0x7e48bd47c0>,
|
1646
|
+
'pip_freeze_without_version': <function pip_freeze_without_version at 0x7e48bd4860>,
|
1647
|
+
'pip_update_pypipr': <function pip_update_pypipr at 0x7e48bd4900>,
|
1648
|
+
'poetry_publish': <function poetry_publish at 0x7e48bd49a0>,
|
1649
|
+
'poetry_update_version': <function poetry_update_version at 0x7e48bd4ae0>,
|
1650
|
+
'print_dir': <function print_dir at 0x7e48bd4c20>,
|
1651
|
+
'print_to_last_line': <function print_to_last_line at 0x7e48bd4cc0>,
|
1652
|
+
'random_bool': <function random_bool at 0x7e48bd4d60>,
|
1653
|
+
'repath': <function repath at 0x7e48bd4ea0>,
|
1654
|
+
'restart': <function restart at 0x7e48bd4f40>,
|
1655
|
+
'set_timeout': <function set_timeout at 0x7e48bd4fe0>,
|
1656
|
+
'sets_ordered': <function sets_ordered at 0x7e48bd5080>,
|
1657
|
+
'sqlite_backup': <function sqlite_backup at 0x7e48bd5120>,
|
1658
|
+
'sqlite_delete_table': <function sqlite_delete_table at 0x7e48bd51c0>,
|
1659
|
+
'sqlite_get_all_tables': <function sqlite_get_all_tables at 0x7e48bd5260>,
|
1660
|
+
'sqlite_get_data_table': <function sqlite_get_data_table at 0x7e48bd5300>,
|
1661
|
+
'str_cmp': <function str_cmp at 0x7e48bd5bc0>,
|
1662
|
+
'text_colorize': <function text_colorize at 0x7e48bd5c60>,
|
1663
|
+
'tiles': <function tiles at 0x7e48bd5d00>,
|
1664
|
+
'traceback_filename': <function traceback_filename at 0x7e48bd5da0>,
|
1665
|
+
'traceback_framename': <function traceback_framename at 0x7e48bd5e40>},
|
1664
1666
|
'class': {'ComparePerformance': <class 'pypipr.ComparePerformance.ComparePerformance'>,
|
1665
1667
|
'PintUregQuantity': <class 'pint.Quantity'>,
|
1666
1668
|
'RunParallel': <class 'pypipr.RunParallel.RunParallel'>,
|
1667
1669
|
'TextCase': <class 'pypipr.TextCase.TextCase'>},
|
1668
1670
|
'variable': {'LINUX': True,
|
1669
|
-
'PintUreg': <pint.registry.UnitRegistry object at
|
1671
|
+
'PintUreg': <pint.registry.UnitRegistry object at 0x7e4edafe30>,
|
1670
1672
|
'WINDOWS': False},
|
1671
1673
|
'module': {'asyncio': <module 'asyncio' from '/data/data/com.termux/files/usr/lib/python3.12/asyncio/__init__.py'>,
|
1672
1674
|
'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'>,
|
@@ -1729,6 +1731,10 @@ some_function_again()
|
|
1729
1731
|
some_function_more()
|
1730
1732
|
```
|
1731
1733
|
|
1734
|
+
## no_indent
|
1735
|
+
|
1736
|
+
`no_indent(teks)`
|
1737
|
+
|
1732
1738
|
## oct_to_int
|
1733
1739
|
|
1734
1740
|
`oct_to_int(n)`
|
@@ -1757,7 +1763,7 @@ print(password_generator())
|
|
1757
1763
|
|
1758
1764
|
Output:
|
1759
1765
|
```py
|
1760
|
-
|
1766
|
+
zj3:"_OV
|
1761
1767
|
```
|
1762
1768
|
|
1763
1769
|
## path_to_module
|
@@ -1836,7 +1842,7 @@ Output:
|
|
1836
1842
|
__enter__ : https:/www.google.com
|
1837
1843
|
__fspath__ : https:/www.google.com
|
1838
1844
|
__getstate__ : (None, {'_raw_paths': ['https://www.google.com/'], '_drv': '', '_root': '', '_tail_cached': ['https:', 'www.google.com'], '_str': 'https:/www.google.com'})
|
1839
|
-
__hash__ :
|
1845
|
+
__hash__ : -6061392051883426523
|
1840
1846
|
__init__ : None
|
1841
1847
|
__init_subclass__ : None
|
1842
1848
|
__module__ : pathlib
|
@@ -1848,7 +1854,7 @@ Output:
|
|
1848
1854
|
__subclasshook__ : NotImplemented
|
1849
1855
|
_drv :
|
1850
1856
|
_flavour : <module 'posixpath' (frozen)>
|
1851
|
-
_hash :
|
1857
|
+
_hash : -6061392051883426523
|
1852
1858
|
_lines : https:
|
1853
1859
|
www.google.com
|
1854
1860
|
_lines_cached : https:
|
@@ -1882,7 +1888,7 @@ _parts_normcase_cached : ['https:', 'www.google.com']
|
|
1882
1888
|
is_reserved : False
|
1883
1889
|
is_socket : False
|
1884
1890
|
is_symlink : False
|
1885
|
-
iterdir : <generator object Path.iterdir at
|
1891
|
+
iterdir : <generator object Path.iterdir at 0x7e487c01e0>
|
1886
1892
|
joinpath : .
|
1887
1893
|
name :
|
1888
1894
|
parent : https:/www.google.com
|
@@ -1893,7 +1899,7 @@ _parts_normcase_cached : ['https:', 'www.google.com']
|
|
1893
1899
|
stem :
|
1894
1900
|
suffix :
|
1895
1901
|
suffixes : []
|
1896
|
-
walk : <generator object Path.walk at
|
1902
|
+
walk : <generator object Path.walk at 0x7e48c9fd80>
|
1897
1903
|
with_segments : .
|
1898
1904
|
```
|
1899
1905
|
|
@@ -1973,7 +1979,7 @@ x.cancel()
|
|
1973
1979
|
|
1974
1980
|
Output:
|
1975
1981
|
```py
|
1976
|
-
<Timer(Thread-2, started
|
1982
|
+
<Timer(Thread-2, started 542354947312)>
|
1977
1983
|
menghentikan timeout 7
|
1978
1984
|
```
|
1979
1985
|
|
@@ -1991,7 +1997,7 @@ print(list(sets_ordered(array)))
|
|
1991
1997
|
|
1992
1998
|
Output:
|
1993
1999
|
```py
|
1994
|
-
<generator object sets_ordered at
|
2000
|
+
<generator object sets_ordered at 0x7e487c2dc0>
|
1995
2001
|
[2, 3, 12, 42, 1, 43, 41, 4, 24, 32]
|
1996
2002
|
```
|
1997
2003
|
|
@@ -2113,15 +2119,15 @@ print(ExampleComparePerformance().compare_performance())
|
|
2113
2119
|
|
2114
2120
|
Output:
|
2115
2121
|
```py
|
2116
|
-
{'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at
|
2122
|
+
{'a': <generator object ExampleComparePerformance.a.<locals>.<genexpr> at 0x7e48ab4ac0>,
|
2117
2123
|
'b': (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
|
2118
2124
|
'c': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
|
2119
2125
|
'd': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}
|
2120
|
-
{'a':
|
2121
|
-
{'a': 100, 'b':
|
2122
|
-
{'a': 100, 'b':
|
2123
|
-
{'a': 100, 'b':
|
2124
|
-
{'a':
|
2126
|
+
{'a': 123, 'b': 159, 'c': 100, 'd': 252}
|
2127
|
+
{'a': 100, 'b': 154, 'c': 100, 'd': 200}
|
2128
|
+
{'a': 100, 'b': 148, 'c': 100, 'd': 200}
|
2129
|
+
{'a': 100, 'b': 155, 'c': 100, 'd': 201}
|
2130
|
+
{'a': 102, 'b': 155, 'c': 100, 'd': 195}
|
2125
2131
|
```
|
2126
2132
|
|
2127
2133
|
## PintUregQuantity
|
@@ -64,6 +64,7 @@ from .iscandir import iscandir
|
|
64
64
|
from .isplit import isplit
|
65
65
|
from .ivars import ivars
|
66
66
|
from .log import log
|
67
|
+
from .no_indent import no_indent
|
67
68
|
from .oct_to_int import oct_to_int
|
68
69
|
from .password_generator import password_generator
|
69
70
|
from .path_to_module import path_to_module
|
@@ -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)
|
@@ -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
|