Exemple #1
0
def completion_set(self, the_input):
    """Completion for /set"""
    args = common.shell_split(the_input.text)
    n = the_input.get_argument_position(quoted=True)
    if n >= len(args):
        args.append('')
    if n == 1:
        if '|' in args[1]:
            plugin_name, section = args[1].split('|')[:2]
            if not plugin_name in self.plugin_manager.plugins:
                return the_input.new_completion([], n, quotify=True)
            plugin = self.plugin_manager.plugins[plugin_name]
            end_list = [
                '%s|%s' % (plugin_name, section)
                for section in plugin.config.sections()
            ]
        else:
            end_list = set(config.options('Poezio'))
            end_list.update(config.default.get('Poezio', {}))
            end_list = list(end_list)
            end_list.sort()
    elif n == 2:
        if '|' in args[1]:
            plugin_name, section = args[1].split('|')[:2]
            if not plugin_name in self.plugin_manager.plugins:
                return the_input.new_completion([''], n, quotify=True)
            plugin = self.plugin_manager.plugins[plugin_name]
            end_list = set(plugin.config.options(section or plugin_name))
            if plugin.config.default:
                end_list.update(
                    plugin.config.default.get(section or plugin_name, {}))
            end_list = list(end_list)
            end_list.sort()
        elif not config.has_option('Poezio', args[1]):
            if config.has_section(args[1]):
                end_list = config.options(args[1])
                end_list.append('')
            else:
                end_list = []
        else:
            end_list = [str(config.get(args[1], '')), '']
    elif n == 3:
        if '|' in args[1]:
            plugin_name, section = args[1].split('|')[:2]
            if not plugin_name in self.plugin_manager.plugins:
                return the_input.new_completion([''], n, quotify=True)
            plugin = self.plugin_manager.plugins[plugin_name]
            end_list = [
                str(plugin.config.get(args[2], '', section or plugin_name)), ''
            ]
        else:
            if not config.has_section(args[1]):
                end_list = ['']
            else:
                end_list = [str(config.get(args[2], '', args[1])), '']
    else:
        return
    return the_input.new_completion(end_list, n, quotify=True)
Exemple #2
0
def completion_set(self, the_input):
    """Completion for /set"""
    args = common.shell_split(the_input.text)
    n = the_input.get_argument_position(quoted=True)
    if n >= len(args):
        args.append("")
    if n == 1:
        if "|" in args[1]:
            plugin_name, section = args[1].split("|")[:2]
            if not plugin_name in self.plugin_manager.plugins:
                return the_input.new_completion([], n, quotify=True)
            plugin = self.plugin_manager.plugins[plugin_name]
            end_list = ["%s|%s" % (plugin_name, section) for section in plugin.config.sections()]
        else:
            end_list = set(config.options("Poezio"))
            end_list.update(config.default.get("Poezio", {}))
            end_list = list(end_list)
            end_list.sort()
    elif n == 2:
        if "|" in args[1]:
            plugin_name, section = args[1].split("|")[:2]
            if not plugin_name in self.plugin_manager.plugins:
                return the_input.new_completion([""], n, quotify=True)
            plugin = self.plugin_manager.plugins[plugin_name]
            end_list = set(plugin.config.options(section or plugin_name))
            if plugin.config.default:
                end_list.update(plugin.config.default.get(section or plugin_name, {}))
            end_list = list(end_list)
            end_list.sort()
        elif not config.has_option("Poezio", args[1]):
            if config.has_section(args[1]):
                end_list = config.options(args[1])
                end_list.append("")
            else:
                end_list = []
        else:
            end_list = [str(config.get(args[1], "")), ""]
    elif n == 3:
        if "|" in args[1]:
            plugin_name, section = args[1].split("|")[:2]
            if not plugin_name in self.plugin_manager.plugins:
                return the_input.new_completion([""], n, quotify=True)
            plugin = self.plugin_manager.plugins[plugin_name]
            end_list = [str(plugin.config.get(args[2], "", section or plugin_name)), ""]
        else:
            if not config.has_section(args[1]):
                end_list = [""]
            else:
                end_list = [str(config.get(args[2], "", args[1])), ""]
    else:
        return
    return the_input.new_completion(end_list, n, quotify=True)
Exemple #3
0
def command_set(self, args):
    """
    /set [module|][section] <option> [value]
    """
    if len(args) == 1:
        option = args[0]
        value = config.get(option)
        info = ('%s=%s' % (option, value), 'Info')
    elif len(args) == 2:
        if '|' in args[0]:
            plugin_name, section = args[0].split('|')[:2]
            if not section:
                section = plugin_name
            option = args[1]
            if not plugin_name in self.plugin_manager.plugins:
                file_name = self.plugin_manager.plugins_conf_dir
                file_name = os.path.join(file_name, plugin_name + '.cfg')
                plugin_config = PluginConfig(file_name, plugin_name)
            else:
                plugin_config = self.plugin_manager.plugins[plugin_name].config
            value = plugin_config.get(option, default='', section=section)
            info = ('%s=%s' % (option, value), 'Info')
        else:
            possible_section = args[0]
            if config.has_section(possible_section):
                section = possible_section
                option = args[1]
                value = config.get(option, section=section)
                info = ('%s=%s' % (option, value), 'Info')
            else:
                option = args[0]
                value = args[1]
                info = config.set_and_save(option, value)
                self.trigger_configuration_change(option, value)
    elif len(args) == 3:
        if '|' in args[0]:
            plugin_name, section = args[0].split('|')[:2]
            if not section:
                section = plugin_name
            option = args[1]
            value = args[2]
            if not plugin_name in self.plugin_manager.plugins:
                file_name = self.plugin_manager.plugins_conf_dir
                file_name = os.path.join(file_name, plugin_name + '.cfg')
                plugin_config = PluginConfig(file_name, plugin_name)
            else:
                plugin_config = self.plugin_manager.plugins[plugin_name].config
            info = plugin_config.set_and_save(option, value, section)
        else:
            section = args[0]
            option = args[1]
            value = args[2]
            info = config.set_and_save(option, value, section)
            self.trigger_configuration_change(option, value)
    else:
        return self.command_help('set')
    self.call_for_resize()
    self.information(*info)
Exemple #4
0
def completion_set_default(self, the_input):
    """ Completion for /set_default
    """
    args = common.shell_split(the_input.text)
    n = the_input.get_argument_position(quoted=True)
    if n >= len(args):
        args.append('')
    if n == 1 or (n == 2 and config.has_section(args[1])):
        return self.completion_set(the_input)
    return []
Exemple #5
0
def completion_set_default(self, the_input):
    """ Completion for /set_default
    """
    args = common.shell_split(the_input.text)
    n = the_input.get_argument_position(quoted=True)
    if n >= len(args):
        args.append("")
    if n == 1 or (n == 2 and config.has_section(args[1])):
        return self.completion_set(the_input)
    return []
Exemple #6
0
    def get_default_args(self, merge=None):
        """
        Create and return a default argument hash.  Optionally merge
        the specified dictionary into the result.
        """
        # No backend specific defaults should be here, those values
        # would be defined within the relevant backend module or in
        # the outline configuration file.

        defaults = {}

        # By default all layers are registerd.  Registered layers show up
        # as discrete layers.  Unregisterd layers are generally embedded
        # in registered layers.
        defaults["register"] = True

        # The default chunk size.
        defaults["chunk"] = 1

        # A null frame range indicates the event
        # will default to the overall frame range
        # defined in the parent outline.
        defaults["range"] = None

        # Now apply any settings found in the configuration file.
        # This settings override the procedural defaults set in
        # the layer constructur using default_arg method.
        if config.has_section(self.__class__.__name__):
            for key, value in config.items(self.__class__.__name__):
                defaults[key] = value

        # Now apply user supplied arguments.  These arguments override
        # both the defaults and the class condifuration file.
        if merge:
            defaults.update(merge)

        return defaults
Exemple #7
0
def command_set(self, args):
    """
    /set [module|][section] <option> [value]
    """
    if args is None or len(args) == 0:
        config_dict = config.to_dict()
        lines = []
        theme = get_theme()
        for section_name, section in config_dict.items():
            lines.append(
                '\x19%(section_col)s}[%(section)s]\x19o' % {
                    'section': section_name,
                    'section_col': dump_tuple(theme.COLOR_INFORMATION_TEXT),
                })
            for option_name, option_value in section.items():
                lines.append(
                    '%s\x19%s}=\x19o%s' %
                    (option_name, dump_tuple(
                        theme.COLOR_REVISIONS_MESSAGE), option_value))
        info = ('Current  options:\n%s' % '\n'.join(lines), 'Info')
    elif len(args) == 1:
        option = args[0]
        value = config.get(option)
        if value is None and '=' in option:
            args = option.split('=', 1)
        info = ('%s=%s' % (option, value), 'Info')
    if len(args) == 2:
        if '|' in args[0]:
            plugin_name, section = args[0].split('|')[:2]
            if not section:
                section = plugin_name
            option = args[1]
            if not plugin_name in self.plugin_manager.plugins:
                file_name = self.plugin_manager.plugins_conf_dir
                file_name = os.path.join(file_name, plugin_name + '.cfg')
                plugin_config = PluginConfig(file_name, plugin_name)
            else:
                plugin_config = self.plugin_manager.plugins[plugin_name].config
            value = plugin_config.get(option, default='', section=section)
            info = ('%s=%s' % (option, value), 'Info')
        else:
            possible_section = args[0]
            if config.has_section(possible_section):
                section = possible_section
                option = args[1]
                value = config.get(option, section=section)
                info = ('%s=%s' % (option, value), 'Info')
            else:
                option = args[0]
                value = args[1]
                info = config.set_and_save(option, value)
                self.trigger_configuration_change(option, value)
    elif len(args) == 3:
        if '|' in args[0]:
            plugin_name, section = args[0].split('|')[:2]
            if not section:
                section = plugin_name
            option = args[1]
            value = args[2]
            if not plugin_name in self.plugin_manager.plugins:
                file_name = self.plugin_manager.plugins_conf_dir
                file_name = os.path.join(file_name, plugin_name + '.cfg')
                plugin_config = PluginConfig(file_name, plugin_name)
            else:
                plugin_config = self.plugin_manager.plugins[plugin_name].config
            info = plugin_config.set_and_save(option, value, section)
        else:
            if args[0] == '.':
                name = safeJID(self.current_tab().name).bare
                if not name:
                    self.information('Invalid tab to use the "." argument.',
                                     'Error')
                    return
                section = name
            else:
                section = args[0]
            option = args[1]
            value = args[2]
            info = config.set_and_save(option, value, section)
            self.trigger_configuration_change(option, value)
    elif len(args) > 3:
        return self.command_help('set')
    self.information(*info)
Exemple #8
0
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base

from config import config

user, password, host, database = config.get('database', 'user'), config.get('database', 'password'), config.get('database', 'host'), config.get('database', 'database')

engine = create_engine('mysql://' + user + ':' + password + '@' + host + '/' + database, convert_unicode=True)
db_session = scoped_session(sessionmaker(autocommit=False,
                                         autoflush=False,
                                         bind=engine))
Base = declarative_base()
Base.query = db_session.query_property()

using_redis = config.has_section("redis")
r = None
if using_redis:
    import redis
    r = redis.StrictRedis(config.get('redis', 'host'), int(config.get('redis', 'port')))

def init_db():
    import pastepm.models
    Base.metadata.create_all(bind=engine)

def db_unique(model, **kwargs):
    instance = db_session.query(model).filter_by(**kwargs).first()
    if instance:
        return instance
    else:
        instance = model(**kwargs)
Exemple #9
0
def command_set(self, args):
    """
    /set [module|][section] <option> [value]
    """
    if args is None or len(args) == 0:
        config_dict = config.to_dict()
        lines = []
        theme = get_theme()
        for section_name, section in config_dict.items():
            lines.append('\x19%(section_col)s}[%(section)s]\x19o' %
                    {
                        'section': section_name,
                        'section_col': dump_tuple(theme.COLOR_INFORMATION_TEXT),
                    })
            for option_name, option_value in section.items():
                lines.append('%s\x19%s}=\x19o%s' % (option_name,
                                                    dump_tuple(theme.COLOR_REVISIONS_MESSAGE),
                                                    option_value))
        info = ('Current  options:\n%s' % '\n'.join(lines), 'Info')
    elif len(args) == 1:
        option = args[0]
        value = config.get(option)
        if value is None and '=' in option:
            args = option.split('=', 1)
        info = ('%s=%s' % (option, value), 'Info')
    if len(args) == 2:
        if '|' in args[0]:
            plugin_name, section = args[0].split('|')[:2]
            if not section:
                section = plugin_name
            option = args[1]
            if not plugin_name in self.plugin_manager.plugins:
                file_name = self.plugin_manager.plugins_conf_dir
                file_name = os.path.join(file_name, plugin_name + '.cfg')
                plugin_config = PluginConfig(file_name, plugin_name)
            else:
                plugin_config = self.plugin_manager.plugins[plugin_name].config
            value = plugin_config.get(option, default='', section=section)
            info = ('%s=%s' % (option, value), 'Info')
        else:
            possible_section = args[0]
            if config.has_section(possible_section):
                section = possible_section
                option = args[1]
                value = config.get(option, section=section)
                info = ('%s=%s' % (option, value), 'Info')
            else:
                option = args[0]
                value = args[1]
                info = config.set_and_save(option, value)
                self.trigger_configuration_change(option, value)
    elif len(args) == 3:
        if '|' in args[0]:
            plugin_name, section = args[0].split('|')[:2]
            if not section:
                section = plugin_name
            option = args[1]
            value = args[2]
            if not plugin_name in self.plugin_manager.plugins:
                file_name = self.plugin_manager.plugins_conf_dir
                file_name = os.path.join(file_name, plugin_name + '.cfg')
                plugin_config = PluginConfig(file_name, plugin_name)
            else:
                plugin_config = self.plugin_manager.plugins[plugin_name].config
            info = plugin_config.set_and_save(option, value, section)
        else:
            if args[0] == '.':
                name = safeJID(self.current_tab().name).bare
                if not name:
                    self.information(_('Invalid tab to use the "." argument.'),
                                     _('Error'))
                    return
                section = name
            else:
                section = args[0]
            option = args[1]
            value = args[2]
            info = config.set_and_save(option, value, section)
            self.trigger_configuration_change(option, value)
    elif len(args) > 3:
        return self.command_help('set')
    self.call_for_resize()
    self.information(*info)
Exemple #10
0
from paypal import PayPalConfig, PayPalInterface

from config import config

using_paypal = config.has_section('paypal')
paypal = None

if using_paypal:
    paypal_config = PayPalConfig(
        API_USERNAME=config.get('paypal', 'username'),
        API_PASSWORD=config.get('paypal', 'password'),
        API_SIGNATURE=config.get('paypal', 'signature')
    )

    paypal = PayPalInterface(config=paypal_config)