def dropPrivkey(self): try: os.remove(self.keyFilePath + '.key3') except IOError, e: if e.errno != 2: log.exception('IOError occurred when removing key file for %s', self.name)
def savePrivkey(self): try: with open(self.keyFilePath + '.key3', 'wb') as keyFile: keyFile.write(self.getPrivkey().serializePrivateKey()) except IOError, e: log.exception('IOError occurred when loading key file for %s', self.name)
def savePrivkey(self): try: with open(self.keyFilePath + '.key3', 'wb') as keyFile: keyFile.write(self.getPrivkey().serializePrivateKey()) except IOError, e: log.exception('IOError occurred when loading key file for %s', self.name)
def loadPrivkey(self): try: with open(self.keyFilePath + ".key3", "rb") as keyFile: return potr.crypt.PK.parsePrivateKey(keyFile.read())[0] except IOError, e: if e.errno != 2: log.exception("IOError occurred when loading key file for %s", self.name)
def download_plugin(self): gobject.idle_add(self.progressbar.show) self.pulse = gobject.timeout_add(150, self.progressbar_pulse) gobject.idle_add(self.progressbar.set_text, _('Creating a list of files')) for remote_dir in self.remote_dirs: filename = remote_dir + '.zip' base_dir, user_dir = gajim.PLUGINS_DIRS if not os.path.isdir(user_dir): os.mkdir(user_dir) local_dir = os.path.join(user_dir, remote_dir) if not os.path.isdir(local_dir): os.mkdir(local_dir) local_dir = os.path.split(user_dir)[0] # downloading zip file gobject.idle_add(self.progressbar.set_text, _('Downloading "%s"') % filename) try: buf = self.plugin.retrieve_path(self.plugin.server_folder, filename) except: log.exception("Error downloading plugin %s" % filename) continue with zipfile.ZipFile(buf) as zip_file: zip_file.extractall(os.path.join(local_dir, 'plugins')) gobject.idle_add(self.window.emit, 'plugin_downloaded', self.remote_dirs) gobject.source_remove(self.pulse)
def dropPrivkey(self): try: os.remove(self.keyFilePath + '.key3') except IOError, e: if e.errno != 2: log.exception('IOError occurred when removing key file for %s', self.name)
def savePrivkey(self): try: with open(self.keyFilePath + '.key2', 'w') as keyFile: pickle.dump(self.getPrivkey(), keyFile) except IOError, e: log.exception('IOError occurred when loading key file for %s', self.name)
def loadPrivkey(self): try: with open(self.keyFilePath + '.key3', 'rb') as keyFile: return potr.crypt.PK.parsePrivateKey(keyFile.read())[0] except IOError, e: if e.errno != 2: log.exception('IOError occurred when loading key file for %s', self.name)
def loadPrivkey(self): try: with open(self.keyFilePath + '.key2', 'r') as keyFile: return pickle.load(keyFile) except IOError, e: if e.errno != 2: log.exception('IOError occurred when loading key file for %s', self.name)
def saveTrusts(self): try: with open(self.keyFilePath + ".fpr", "w") as fprFile: for uid, trusts in self.trusts.iteritems(): for fpr, trustVal in trusts.iteritems(): fprFile.write("\t".join((uid, self.name, PROTOCOL, fpr, trustVal))) fprFile.write("\n") except IOError, e: log.exception("IOError occurred when loading fpr file for %s", self.name)
def saveTrusts(self): try: with open(self.keyFilePath + '.fpr', 'w') as fprFile: for uid, trusts in self.trusts.iteritems(): for fpr, trustVal in trusts.iteritems(): fprFile.write('\t'.join( (uid, self.name, PROTOCOL, fpr, trustVal))) fprFile.write('\n') except IOError, e: log.exception('IOError occurred when loading fpr file for %s', self.name)
def saveTrusts(self): try: with open(self.keyFilePath + '.fpr', 'w') as fprFile: for uid, trusts in self.trusts.iteritems(): for fpr, trustVal in trusts.iteritems(): fprFile.write('\t'.join( (uid, self.name, PROTOCOL, fpr, trustVal))) fprFile.write('\n') except IOError, e: log.exception('IOError occurred when loading fpr file for %s', self.name)
def loadTrusts(self, newCtxCb=None): """ load the fingerprint trustdb """ # it has the same format as libotr, therefore the # redundant account / proto field try: with open(self.keyFilePath + ".fpr", "r") as fprFile: for line in fprFile: ctx, acc, proto, fpr, trust = line[:-1].split("\t") if acc != self.name or proto != PROTOCOL: continue jid = get_jid_from_fjid(ctx) self.setTrust(jid, fpr, trust) except IOError, e: if e.errno != 2: log.exception("IOError occurred when loading fpr file for %s", self.name)
def loadTrusts(self, newCtxCb=None): ''' load the fingerprint trustdb ''' # it has the same format as libotr, therefore the # redundant account / proto field try: with open(self.keyFilePath + '.fpr', 'r') as fprFile: for line in fprFile: ctx, acc, proto, fpr, trust = line[:-1].split('\t') if acc != self.name or proto != PROTOCOL: continue self.getContext(ctx, newCtxCb).setTrust(fpr, trust) except IOError, e: if e.errno != 2: log.exception('IOError occurred when loading fpr file for %s', self.name)
def loadTrusts(self, newCtxCb=None): ''' load the fingerprint trustdb ''' # it has the same format as libotr, therefore the # redundant account / proto field try: with open(self.keyFilePath + '.fpr', 'r') as fprFile: for line in fprFile: ctx, acc, proto, fpr, trust = line[:-1].split('\t') if acc != self.name or proto != PROTOCOL: continue jid = get_jid_from_fjid(ctx) self.setTrust(jid, fpr, trust) except IOError, e: if e.errno != 2: log.exception('IOError occurred when loading fpr file for %s', self.name)
def _run(): try: to_update = [] zipbuf = self.retrieve_manifest() plugin_manifests = self.parse_manifest(zipbuf) for config in plugin_manifests: opts = config.options('info') if 'name' not in opts or 'version' not in opts or \ 'description' not in opts or 'authors' not in opts or \ 'homepage' not in opts: continue local_version = ftp.get_plugin_version(config.get( 'info', 'name')) if local_version: local = convert_version_to_list(local_version) remote = convert_version_to_list(config.get('info', 'version')) if remote > local: to_update.append(config.get('info', 'name')) gobject.idle_add(self.warn_update, to_update) except Exception as e: log.exception('Ftp error when check for updates: ')
def download(self, url, filepath): """ Download a file. This function should be launched in a separated thread. """ log.debug('Getting map thumbnail ..') try: req = urllib2.Request(url) req.add_header('User-Agent', 'Gajim') f = urllib2.urlopen(req) except Exception as ex: log.debug('Error loading file %s ' % str(ex)) else: try: temp = f.read() with open(filepath, "wb") as local_file: local_file.write(temp) local_file.closed log.debug('Saved map thumbnail ..') except Exception as ex: log.exception('Error: ') if temp: return temp
def download(self, url, filepath): """ Download a file. This function should be launched in a separated thread. """ log.debug('Getting map thumbnail ..') try: req = urllib2.Request(url) req.add_header('User-Agent', 'Gajim') f = urllib2.urlopen(req) except Exception as ex: log.debug('Error loading file %s ' % str(ex)) else: try: temp = f.read() with open(filepath, "wb") as local_file: local_file.write(temp) local_file.closed log.debug('Saved map thumbnail ..') except Exception as ex: log.exception('Error: ') if temp: return temp
def run(self): try: gobject.idle_add(self.progressbar.set_text, _('Connecting to server')) if not self.remote_dirs: gobject.idle_add(self.progressbar.set_text, _('Scan files on the server')) try: buf = self.plugin.retrieve_path(self.plugin.server_folder, 'manifests_images.zip') except: log.exception("Error fetching plugin list") return zip_file = zipfile.ZipFile(buf) manifest_list = zip_file.namelist() progress_step = 1.0 / len(manifest_list) for filename in manifest_list: if not filename.endswith('manifest.ini'): continue dir_ = filename.split('/')[0] fract = self.progressbar.get_fraction() + progress_step gobject.idle_add(self.progressbar.set_fraction, fract) gobject.idle_add(self.progressbar.set_text, _('Reading "%s"') % dir_) config = ConfigParser.ConfigParser() config.readfp(zip_file.open(filename)) if not config.has_section('info'): continue opts = config.options('info') if 'name' not in opts or 'version' not in opts or \ 'description' not in opts or 'authors' not in opts or \ 'homepage' not in opts: continue local_version = self.get_plugin_version( config.get('info', 'name')) upgrade = False if self.upgrading and local_version: local = convert_version_to_list(local_version) remote = convert_version_to_list(config.get('info', 'version')) if remote > local: upgrade = True gobject.idle_add( self.plugin.inslall_upgrade_button.set_property, 'sensitive', True) png_filename = dir_ + '/' + dir_ + '.png' if png_filename in manifest_list: data = zip_file.open(png_filename).read() pbl = gtk.gdk.PixbufLoader() pbl.set_size(16, 16) pbl.write(data) pbl.close() def_icon = pbl.get_pixbuf() else: def_icon = self.def_icon if local_version: base_dir, user_dir = gajim.PLUGINS_DIRS local_dir = os.path.join(user_dir, dir_) gobject.idle_add(self.model_append, [def_icon, dir_, config.get('info', 'name'), local_version, config.get('info', 'version'), upgrade, config.get('info', 'description'), config.get('info', 'authors'), config.get('info', 'homepage'), ]) gobject.idle_add(self.progressbar.set_fraction, 0) if self.remote_dirs: self.download_plugin() gobject.idle_add(self.progressbar.hide) gobject.idle_add(self.plugin.select_root_iter) except Exception, e: self.window.emit('error_signal', str(e))