crash--
This commit is contained in:
		@@ -18,7 +18,7 @@ def list_(ctx):
 | 
			
		||||
        for plugin in sorted(repo.plugins()):
 | 
			
		||||
            rows.append([
 | 
			
		||||
                click.style(plugin.name, fg='green'),
 | 
			
		||||
                click.style(plugin.version, fg='yellow')
 | 
			
		||||
                click.style(str(plugin.version), fg='yellow')
 | 
			
		||||
            ])
 | 
			
		||||
        if len(rows) > 0:
 | 
			
		||||
            click.echo(columnar(rows, ['Plugin', 'Version'], no_borders=True))
 | 
			
		||||
 
 | 
			
		||||
@@ -103,8 +103,12 @@ def add_plugin(ctx, server, plugins):
 | 
			
		||||
 | 
			
		||||
@server.command(help="Synchronize a server's plugins")
 | 
			
		||||
@click.pass_context
 | 
			
		||||
def sync(ctx):
 | 
			
		||||
    for server in ctx.obj['config'].servers():
 | 
			
		||||
@click.argument('servers', type=ServerParamType, nargs=-1)
 | 
			
		||||
def sync(ctx, servers):
 | 
			
		||||
    allServers = ctx.obj['config'].servers()
 | 
			
		||||
    if len(servers) > 0:
 | 
			
		||||
        allServers = servers
 | 
			
		||||
    for server in allServers:
 | 
			
		||||
        click.echo('{} ({}):'.format(server.name, server.path))
 | 
			
		||||
        outdatedLinks = []
 | 
			
		||||
        available = []
 | 
			
		||||
@@ -126,7 +130,7 @@ def sync(ctx):
 | 
			
		||||
        click.echo("Missing plugins:")
 | 
			
		||||
        for state in sorted(missing):
 | 
			
		||||
            click.echo("\t{} {}".format(click.style(state.plugin.name, fg='red'),
 | 
			
		||||
                                   click.style(state.plugin.versionSpec,
 | 
			
		||||
                                   click.style(str(state.plugin.versionSpec),
 | 
			
		||||
                                   fg='yellow')))
 | 
			
		||||
        if len(outdatedLinks) > 0 or len(available) > 0:
 | 
			
		||||
            click.echo("Apply changes? [y/N]", nl=False)
 | 
			
		||||
 
 | 
			
		||||
@@ -73,7 +73,9 @@ class UnmanagedFile(PluginState):
 | 
			
		||||
        self.filename = filename
 | 
			
		||||
 | 
			
		||||
    def __lt__(self, other):
 | 
			
		||||
        return self.filename < other.filename
 | 
			
		||||
        if isinstance(other, UnmanagedFile):
 | 
			
		||||
            return self.filename < other.filename
 | 
			
		||||
        return False
 | 
			
		||||
 | 
			
		||||
class OutdatedSymlink(PluginState):
 | 
			
		||||
    def __init__(self, plugin, currentVersion, wantedVersion):
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ class Server:
 | 
			
		||||
        self.pluginPath = self.path+'/plugins'
 | 
			
		||||
 | 
			
		||||
    def plugins(self):
 | 
			
		||||
        return [PluginSpec(p['name'], p['version']) for p in self.config['plugins']]
 | 
			
		||||
        return [PluginSpec(p['name'], p.get('version', '*')) for p in self.config['plugins']]
 | 
			
		||||
 | 
			
		||||
    def add_plugin(self, pluginSpec):
 | 
			
		||||
        for plugin in self.config['plugins']:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user