Selecione um arquivo no diretório de complementos do Firefox

Estou convertendo um complemento do Firefox baseado em XUL para uma versão baseada em SDK para simplificar. Os módulos XPCOM que eu uso na versão baseada em XUL parecem funcionar, mas o ci.nsIFile está se comportando de maneira diferente.

Não consigo descobrir como navegar para o smartProxy.py, que atualmente fica no nível mais alto do diretório.

Na versão XUL, smartProxy.py fica em chrome / bin / smartproxy.py. Eu uso os comandos abaixo para executar o programa e ele funciona sem erros.

getExeFile: function() {
    var file = cc["@mozilla.org/file/directory_service;1"].getService(ci.nsIProperties).get("ProfD", ci.nsIFile);
    file.append("smartProxy.py");
    return file;
},

Aqui abaixo é onde é executado, o que deve fornecer uma imagem completa de como o complemento funciona.

start: function() {
    if (this.process && this.process.isRunning)
        return;
    this.process = cc["@mozilla.org/process/util;1"].createInstance(ci.nsIProcess);
    this.process.init(this.getExeFile());
    this.process.runAsync([], 0, this.processObserver);
    this.setProxy();
    this.executeObservers();
},

Como faço para encontrar o smartProxy.py para que ele possa ser executado?

questionAnswers(2)

yourAnswerToTheQuestion