Commit 6710868a authored by Chris Lamb's avatar Chris Lamb 👀
Browse files

Add support for alternative container types for a file, allowing for runtime...

Add support for alternative container types for a file, allowing for runtime (vs import time) control of fallbacks such as adding comments. (Re: #86)
parent c99cd9bd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ class AndroidBootImgContainer(Archive):
class AndroidBootImgFile(File):
    DESCRIPTION = "Android boot images"
    FILE_TYPE_RE = re.compile(r'^Android bootimg\b')
    CONTAINER_CLASS = AndroidBootImgContainer
    CONTAINER_CLASSES = [AndroidBootImgContainer]

    def compare_details(self, other, source=None):
        return [Difference.from_command(AbootimgInfo, self.path, other.path)]
+2 −2
Original line number Diff line number Diff line
@@ -172,9 +172,9 @@ class ApkFile(File):
    FILE_TYPE_HEADER_PREFIX = b"PK\x03\x04"
    FILE_TYPE_RE = re.compile(r'^(Java|Zip) archive data.*\b')
    FILE_EXTENSION_SUFFIX = '.apk'
    CONTAINER_CLASS = (
    CONTAINER_CLASSES = [
        ApkContainer if find_executable('apktool') else ZipContainer
    )
    ]

    def compare_details(self, other, source=None):
        return zipinfo_differences(self, other)
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ class ArSymbolTableDumper(Command):

class ArFile(File):
    DESCRIPTION = "ar(1) archives"
    CONTAINER_CLASS = ArContainer
    CONTAINER_CLASSES = [ArContainer]
    FILE_TYPE_RE = re.compile(r'\bar archive\b')

    def compare_details(self, other, source=None):
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ class BinwalkFileContainer(Archive):

class BinwalkFile(File):
    FILE_TYPE_RE = re.compile(r'\bcpio archive\b')
    CONTAINER_CLASS = BinwalkFileContainer
    CONTAINER_CLASSES = [BinwalkFileContainer]

    @classmethod
    def recognizes(cls, file):
+1 −1
Original line number Diff line number Diff line
@@ -55,5 +55,5 @@ class Bzip2Container(Archive):

class Bzip2File(File):
    DESCRIPTION = "bzip2 archives"
    CONTAINER_CLASS = Bzip2Container
    CONTAINER_CLASSES = [Bzip2Container]
    FILE_TYPE_RE = re.compile(r'^bzip2 compressed data\b')
Loading