示例#1
0
    def banner():
        """
        Load application banner

        :raise PackageError
        :return: str
        """

        try:

            banner = CoreConfig.get('banner').format(
                tpl.line('Directories: {0}'.format(
                    Package.__directories_count()),
                         color='blue'),
                tpl.line('Subdomains: {0}'.format(
                    Package.__subdomains_count()),
                         color='blue'),
                tpl.line('Browsers: {0}'.format(Package.__browsers_count()),
                         color='blue'),
                tpl.line('Proxies: {0}'.format(Package.__proxies_count()),
                         color='blue'),
                tpl.line(Package.__license(), color='blue'))

            return banner

        except (FileSystemError, CoreSystemError, PackageError) as error:
            raise PackageError(error)
示例#2
0
    def test_line_exception(self):
        """ Tpl.line() exception test """

        undefined = 'undefined'
        with self.assertRaises(TplError) as context:
            Tpl.line(key=undefined)
        self.assertTrue(undefined in str(context.exception))
        self.assertTrue(TplError == context.expected)
示例#3
0
    def test_line_exception(self):
        """ Tpl.line() exception test """

        undefined = 'undefined'
        with self.assertRaises(TplError) as context:
            Tpl.line(key=undefined)
        self.assertTrue(undefined in str(context.exception))
        self.assertTrue(TplError == context.expected)
示例#4
0
    def debug_request_uri(self, status, request_uri, **kwargs):
        """
        Debug request_uri
        :param str status: response status
        :param str request_uri: http request uri
        :param mixed kwargs:
        :return: bool
        """

        percentage = tpl.line(
            msg=helper.percent(kwargs.get('items_size', 0), kwargs.get('total_size', 1)),
            color='cyan')
        total_len = len(str(abs(kwargs.get('total_size', 1))))

        if self.__cfg.DEFAULT_SCAN is self.__cfg.scan:
            urlpath = helper.parse_url(request_uri).path
        else:
            urlpath = request_uri
        
        if status in ['success', 'file', 'indexof', 'certificat', 'auth']:
            request_uri = tpl.line(key=status, color='green', url=urlpath)
        elif status in ['bad', 'forbidden']:
            request_uri = tpl.line(key='forbidden', color='yellow', url=urlpath)
        elif status in ['redirect']:
            request_uri = tpl.line(key='redirect', color='blue', url=urlpath,
                                   rurl=kwargs.get('redirect_uri'))

        self.__clear = True if self.__catched else False

        if status in ['success', 'file', 'bad', 'forbidden', 'redirect', 'indexof', 'certificat', 'auth']:

            sys.writels("", flush=True)
            tpl.info(key='get_item',
                     clear=self.__clear,
                     percent=percentage,
                     current='{0:0{l}d}'.format(kwargs.get('items_size', 0), l=total_len),
                     total=kwargs.get('total_size', 1),
                     item=request_uri,
                     size=kwargs.get('content_size')
                     )
            self.__catched = True
        else:
            tpl.line_log(key='get_item',
                         percent=percentage,
                         current='{0:0{l}d}'.format(kwargs.get('items_size', 0), l=total_len),
                         total=kwargs.get('total_size', 1),
                         item=request_uri,
                         size=kwargs.get('content_size'),
                         )
            self.__catched = False
            if kwargs.get('items_size', 0) is kwargs.get('total_size', 1):
                sys.writels("", flush=True)

        return True
示例#5
0
    def update():
        """
        Check for update
        :raise PackageError
        :return: str
        """

        try:
            if False is sys().is_windows:
                status = process.execute(CoreConfig.get('command').get('cvsupdate'))
                upd_status = tpl.line(status, color='green')
                msg = CoreConfig.get('update').format(status=upd_status)
            else:
                msg = CoreConfig.get('update').format(status=tpl.line(key='upd_win_stat'))
            return msg
        except (AttributeError, CoreSystemError) as error:
            raise PackageError(error)
示例#6
0
    def update():
        """
        Check for update
        :raise PackageError
        :return: str
        """

        try:
            if False is sys().is_windows:
                status = process.execute(Config.params.get('cvsupdate'))
                upd_status = tpl.line(status, color='green')
                msg = Config.params.get('update').format(status=upd_status)
            else:
                msg = Config.params.get('update').format(status=tpl.line(key='upd_win_stat'))
            return msg
        except (AttributeError, CoreSystemError) as error:
            raise PackageError(error)
示例#7
0
    def __current_version():
        """
        Get current application version
        :raise PackageError
        :return: str
        """

        try:
            local = Package.local_version()
            remote = Package.__remote_version()
            if True is helper.is_less(local, remote):
                current_version = tpl.line(local, color='red')
            else:
                current_version = tpl.line(local, color='green')
            return current_version

        except (FileSystemError, CoreSystemError, PackageError) as error:
            raise PackageError(error)
示例#8
0
    def __current_version():
        """
        Get current application version
        :raise PackageError
        :return: str
        """

        try:
            local = Package.local_version()
            remote = Package.__remote_version()
            if True is helper.is_less(local, remote):
                current_version = tpl.line(local, color='red')
            else:
                current_version = tpl.line(local, color='green')
            return current_version

        except (FileSystemError, CoreSystemError, PackageError) as error:
            raise PackageError(error)
示例#9
0
    def banner():
        """
        Load application banner

        :raise PackageError
        :return: str
        """

        try:

            banner = CoreConfig.get('banner').format(
                tpl.line('Directories: {0}'.format(Package.__directories_count()), color='blue'),
                tpl.line('Subdomains: {0}'.format(Package.__subdomains_count()), color='blue'),
                tpl.line('Browsers: {0}'.format(Package.__browsers_count()), color='blue'),
                tpl.line('Proxies: {0}'.format(Package.__proxies_count()), color='blue'),
                tpl.line(Package.__license(), color='blue'))

            return banner

        except (FileSystemError, CoreSystemError, PackageError) as error:
            raise PackageError(error)
示例#10
0
    def test_line_with_key(self):
        """ Tpl.line() test with key """

        expected = Tpl.line(key='report', plugin='testplugin', dest='testdst')
        self.assertTrue('testplugin' in expected)
        self.assertTrue('testdst' in expected)
示例#11
0
    def test_line(self):
        """ Tpl.line() test """

        expected = Tpl.line('test')
        self.assertTrue('test' in expected)
示例#12
0
 def test_line_with_key(self):
     """ Tpl.line() test with key """
     
     expected = Tpl.line(key='report', plugin='testplugin', dest='testdst')
     self.assertTrue('testplugin' in expected)
     self.assertTrue('testdst' in expected)
示例#13
0
    def test_line(self):
        """ Tpl.line() test """

        expected = Tpl.line('test')
        self.assertTrue('test' in expected)