def uploadable_object()

in pantri/scripts/lib/pantri.py [0:0]


    def uploadable_object(self, obj):
        """
        uploadable_obect(obj)

        Given an object, deterine if an object should be uploaded to object store.
        Uploadable object is defined as a binary that doesnt "ignore_patterns"
        listed in config.
        """

        # Exclude generated files.
        filename = os.path.basename(obj)
        if re.match("^.*.pitem$", filename):
            return False

        # Exclude files that match patten defined in config. ie, "*.pyc"
        for pattern in self.options["ignore_patterns"]:
            if fnmatch.fnmatch(filename, pattern):
                return False

        # Binary overrides match patten defined in config. ie, "*.pyc"
        for pattern in self.options["binary_overrides"]:
            if fnmatch.fnmatch(filename, pattern):
                return True

        # Binary check
        object_path = os.path.abspath(obj)
        if utils.is_binary(object_path):
            return True
        return False