__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
# Copyright 2015 Canonical, Ltd.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

""" Re-usable input widgets
"""

from functools import partial
import logging
import re

from urwid import (
    Edit,
    IntEdit,
    )

from subiquitycore.ui.container import (
    WidgetWrap,
    )
from subiquitycore.ui.selector import Selector

log = logging.getLogger("subiquitycore.ui.input")


class StringEditor(Edit):
    """ Edit input class

    Attaches its result to the `value` accessor.
    """

    @property
    def value(self):
        return self.get_edit_text()

    @value.setter  # NOQA
    def value(self, value):
        self.set_edit_text(value)


class PasswordEditor(StringEditor):
    """ Password input prompt with masking
    """
    def __init__(self, mask="*"):
        super().__init__(mask=mask)


class RestrictedEditor(StringEditor):
    """Editor that only allows certain characters."""

    def __init__(self, allowed=None):
        super().__init__()
        self.matcher = re.compile(allowed)

    def valid_char(self, ch):
        return len(ch) == 1 and self.matcher.match(ch) is not None


RealnameEditor = partial(RestrictedEditor, r'[^:,=]')
EmailEditor = partial(RestrictedEditor, r'[-a-zA-Z0-9_.@+=]')


class UsernameEditor(StringEditor):
    """ Username input prompt with input rules
    """

    def keypress(self, size, key):
        ''' restrict what chars we allow for username '''
        if self._command_map[key] is not None:
            return super().keypress(size, key)
        new_text = self.insert_text_result(key)[0]
        username = r'[a-z_][a-z0-9_-]*'
        # don't allow non username chars
        if new_text != "" and re.match(username, new_text) is None:
            return False
        return super().keypress(size, key)


class IntegerEditor(WidgetWrap):
    """ IntEdit input class
    """
    def __init__(self, default=0):
        self._edit = IntEdit(default=default)
        super().__init__(self._edit)

    @property
    def value(self):
        return self._edit.value()

    @value.setter
    def value(self, val):
        return self._edit.set_edit_text(str(val))


class YesNo(Selector):
    """ Yes/No selector
    """
    def __init__(self):
        opts = [_('Yes'), _('No')]
        super().__init__(opts)

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
tests Folder 0755
views Folder 0755
__init__.py File 639 B 0644
actionmenu.py File 4.71 KB 0644
anchors.py File 2.22 KB 0644
buttons.py File 1.64 KB 0644
container.py File 20.3 KB 0644
form.py File 14.73 KB 0644
frame.py File 1.6 KB 0644
interactive.py File 2.74 KB 0644
selector.py File 7.41 KB 0644
spinner.py File 1.73 KB 0644
stretchy.py File 6.1 KB 0644
table.py File 17.25 KB 0644
utils.py File 10.39 KB 0644
width.py File 1.91 KB 0644
Filemanager