Skip to content

Commit afc0b76

Browse files
committed
fix(scripts): adapt scripts so we can expose them thru poetry.
Moved the scripts within the package and renamed them with the right Python extension. They could not be imported properly before since they were lacking the .py extension and did not define a main function. Tested with `poetry build` and `pip install` on the generated wheel locally against test files from unblob.
1 parent e9e60aa commit afc0b76

8 files changed

Lines changed: 31 additions & 15 deletions

pyproject.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ exclude = []
3434
exclude = ["build"]
3535

3636
[tool.poetry.scripts]
37-
ubireader_display_blocks = "scripts.ubireader_display_blocks:main"
38-
ubireader_display_info = "scripts.ubireader_display_info:main"
39-
ubireader_extract_files = "scripts.ubireader_extract_files:main"
40-
ubireader_extract_images = "scripts.ubireader_extract_images:main"
41-
ubireader_list_files = "scripts.ubireader_list_files:main"
42-
ubireader_utils_info = "scripts.ubireader_utils_info:main"
37+
ubireader_display_blocks = "ubireader.scripts.ubireader_display_blocks:main"
38+
ubireader_display_info = "ubireader.scripts.ubireader_display_info:main"
39+
ubireader_extract_files = "ubireader.scripts.ubireader_extract_files:main"
40+
ubireader_extract_images = "ubireader.scripts.ubireader_extract_images:main"
41+
ubireader_list_files = "ubireader.scripts.ubireader_list_files:main"
42+
ubireader_utils_info = "ubireader.scripts.ubireader_utils_info:main"

ubireader/scripts/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

scripts/ubireader_display_blocks renamed to ubireader/scripts/ubireader_display_blocks.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
from ubireader.ubifs.defines import UBIFS_NODE_MAGIC
3333
from ubireader.utils import guess_filetype, guess_start_offset, guess_leb_size, guess_peb_size
3434

35-
if __name__=='__main__':
3635

36+
def main():
3737
description = 'Search for specified blocks and display information.'
3838
usage = """
3939
ubireader_display_blocks "{'block.attr': value,...}" path/to/image
@@ -188,3 +188,6 @@
188188

189189
for block in blocks:
190190
print(block.display())
191+
192+
if __name__=='__main__':
193+
main()

scripts/ubireader_display_info renamed to ubireader/scripts/ubireader_display_info.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131
from ubireader.utils import guess_filetype, guess_start_offset, guess_leb_size, guess_peb_size
3232
from ubireader.ubi_io import ubi_file, leb_virtual_file
3333

34-
35-
if __name__=='__main__':
34+
def main():
3635
start = time.time()
3736
description = 'Show information about UBI or UBIFS image.'
3837
usage = 'ubireader_display_info [options] filepath'
@@ -185,3 +184,6 @@
185184

186185
else:
187186
print('Something went wrong to get here.')
187+
188+
if __name__=='__main__':
189+
main()

scripts/ubireader_extract_files renamed to ubireader/scripts/ubireader_extract_files.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ def create_output_dir(outpath):
4444
except Exception as e:
4545
error(create_output_dir, 'Fatal', '%s' % e)
4646

47-
48-
if __name__=='__main__':
47+
def main():
4948
start = time.time()
5049
description = 'Extract contents of a UBI or UBIFS image.'
5150
usage = 'ubireader_extract_files [options] filepath'
@@ -198,3 +197,7 @@ def create_output_dir(outpath):
198197

199198
else:
200199
print('Something went wrong to get here.')
200+
201+
202+
if __name__=='__main__':
203+
main()

scripts/ubireader_extract_images renamed to ubireader/scripts/ubireader_extract_images.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ def create_output_dir(outpath):
3838
except Exception as e:
3939
error(create_output_dir, 'Fatal', '%s' % e)
4040

41-
42-
if __name__=='__main__':
41+
def main():
4342
start = time.time()
4443
description = 'Extract UBI or UBIFS images from file containing UBI data in it.'
4544
usage = 'ubireader_extract_images [options] filepath'
@@ -167,3 +166,6 @@ def create_output_dir(outpath):
167166
# Loop through and write volume block data (LEB) to file.
168167
for block in image.volumes[volume].reader(ubi_obj):
169168
f.write(block)
169+
170+
if __name__=='__main__':
171+
main()
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
from ubireader.debug import error, log
3434
from ubireader.utils import guess_filetype, guess_start_offset, guess_leb_size, guess_peb_size
3535

36-
if __name__=='__main__':
36+
def main():
3737
start = time.time()
3838
description = 'List and Extract files of a UBI or UBIFS image.'
3939
usage = 'ubireader_list_files [options] filepath'
@@ -172,3 +172,6 @@
172172

173173
else:
174174
print('Something went wrong to get here.')
175+
176+
if __name__=='__main__':
177+
main()
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ def make_files(ubi, outpath):
237237
fscr.write(buf)
238238
os.chmod(script_path, 0o755)
239239

240-
if __name__=='__main__':
240+
def main():
241241
start = time.time()
242242
description = 'Determine settings for recreating UBI image.'
243243
usage = 'ubireader_utils_info [options] filepath'
@@ -343,3 +343,5 @@ def make_files(ubi, outpath):
343343
# Create build scripts.
344344
make_files(ubi_obj, outpath)
345345

346+
if __name__=='__main__':
347+
main()

0 commit comments

Comments
 (0)