applications/forensics tools

python-rarfile - python-rarfile - RAR archive reader for Python

License: GPL
This is Python module for RAR_ archive reading.  The interface
is made as zipfile_ like as possible.  Licensed under ISC_

.. _RAR:
.. _zipfile:
.. _ISC:


- Supports both RAR 2.x and 3.x archives.
- Supports multi volume archives.
- Supports Unicode filenames.
- Supports password-protected archives.
- Supports archive comments.
- Archive parsing and non-compressed files are handled in pure Python code.
- For compressed files runs ``unrar`` utility.
- Works with both Python 2.x and 3.x.


- News:
- FAQ:
- API documentation:
- Downloads, GIT:


python-rarfile-3.0-1.fc27.i686 [60 KiB] Changelog by Lawrence R. Rogers (2016-12-27):
* Release 3.0-1
	Version 3.0 (2016-12-27)
		New feature:
			Support RAR5 archive format. It is actually completely different archive format from RAR3 one, only is uses same file extension and tools are old one.
			Except incompatibilies noted below, most of code should notice no change, existing RarInfo fields will continue using RAR3-compatible values (eg. RarInfo.host_os). RAR5-specific values will use new fields.
		Incompatibilities between rarfile v2.x and 3.x:
			Default PATH_SEP is now ‘/’ instead ‘\’.
			Removed NEED_COMMENTS option, comments are always extracted.
			Removed UNICODE_COMMENTS option, they are always decoded.
			Removed USE_DATETIME option, RarInfo.date_time is always tuple, RarInfo.mtime, RarInfo.atime, RarInfo.ctime and RarInfo.arctime are always datetime.datetime objects.
			Fixed bug when calling on a RarInfo structure.
			Code refactor to allow 2 different file format parsers.
			Code cleanups to pass modern linters.
			New testing and linting setup based on Tox.
			Use setuptools instead distutils for install.

	Version 2.8 (2016-06-07)
		Fix: support solid archives from in-memory file object. Full archive will be written out to temp file. [#21]
		Fix: ask unrar stop switches scanning, to handle archive names starting with “-”. (Alexander Shadchin) [#12]
		Fix: add missing _parse_error variable to RarFile object. (Gregory Mazzola) [#20]
		Fix: return proper boolean from RarInfo.needs_password(). [#22]
		Fix: do not insert non-string rarfile into exception string. (Tim Muller) [#23]
		Fix: make RarFile.extract() and RarFile.testrar() support in-memory archives.
		Use cryptography module as preferred crypto backend. PyCrypto will be used as fallback.
		Cleanup: remove compat code for Python 2.4/2.5/2.6.

	Version 2.7 (2014-11-23)
		Allow use of bsdtar as decompression backend. It sits on top of libarchive, which has support for reading RAR archives.

	Limitations of libarchive RAR backend:
		* Does not support solid archives.
		* Does not support password-protected archives.
		* Does not support “parsing filters” used for audio/image/executable data, so few non-solid, non-encrypted archives also fail.
	Now rarfile checks if unrar and if not then tries bsdtar. If that works, then keeps using it. If not then configuration stays with unrar which will then appear in error messages.
	Both RarFile and is_rarfile() now accept file-like object. Eg. io.BytesIO. Only requirement is that the object must be seekable. This mirrors similar funtionality in zipfile.
		Based on patch by Chase Zhang.
	Uniform error handling. RarFile accepts errors="strict" argument.

	Allow user to tune whether parsing and missing file errors will raise exception. If error is not raised, the error string can be queried with RarFile.strerror() method.

Listing created by Repoview-0.6.6-1.el6