mancanza file=plugin emesene non caricato

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
Avatar utente
Ivan!
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1560
Iscrizione: sabato 21 giugno 2008, 12:24

mancanza file=plugin emesene non caricato

Messaggio da Ivan! »

Salve :)
Allora io ho scritto un plugin per emesene, che imposta il messaggio personale prendendo una riga da un file che decido io...

solo che se il file non c'è (per es: primo avvio plugin) il plugin non viene caricato e quindi non è visibile da emesene, e quindi non è neppure possibile scegliere il percorso del file dei messaggi...

come potrei fare??
se devo darvi il codice del plugin ditemelo... visto che non è possibile allegare file .py

ciao e grazie :)
Avatar utente
marko782
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 284
Iscrizione: sabato 24 marzo 2007, 12:53
Località: Monza (MI)

Re: mancanza file=plugin emesene non caricato

Messaggio da marko782 »

Codice: Seleziona tutto

try:
	file = open("miofile")
except IOError:
	# se il file non esiste esegui queste azioni
	# ad esempio creiamolo
	
	file = open("miofile","w")

Quelle che ho usato sono chiamate "eccezioni" dai uno sguardo a qualche guida o chiedi qua se non capisci di che si tratta :)

ciao! ;D ;D
Avatar utente
Ivan!
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1560
Iscrizione: sabato 21 giugno 2008, 12:24

Re: mancanza file=plugin emesene non caricato

Messaggio da Ivan! »

sisi so cosa sono...
le ho dovute usare anche in un'altra parte del programma perchè altrimenti non mi smetteva mai di cambiare messaggio anche se lo disattivavo ;D...

È solo che non so se fargli creare il file...
perché se il plugin crea il file, ma poi l'utente cambia il percorso rimane un file inutilizzato...

cmq se non ci sono altri modi di farlo attivare ugualmente... faremo così...
magari il file lo potrò creare in ~/, in modo che sia uguale per tutti...

provo a metterlo e poi ti faccio sapere...
magari poi posto anche il plugin, dopo tanto "lavoro"... ;D

ciao e grazie ancora :)
Avatar utente
Ivan!
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1560
Iscrizione: sabato 21 giugno 2008, 12:24

Re: mancanza file=plugin emesene non caricato

Messaggio da Ivan! »

ecco qua come è venuto:

Codice: Seleziona tutto

		self.path = self.config.getPluginValue( self.name, 'path', '~/' )
	
		try:								     #se il file non esiste lo crea
			self.mess_file = open(self.path, "r")
		except IOError:
			file = open(self.path,"w")
ma va bene mettere anche except senza il nome dell'errore dopo??
io in un'altra parte del file ho fatto così:

Codice: Seleziona tutto

try:
       self.msg = self.mess_file.readline()
except:								#In caso di errore fa:
       self.enabled = False					#disabilita il plugin
		
Funziona tutto!!  8)
adesso manca solo il campo per scegliere ogni quanti secondi cambiare messaggio...
:)

grazie 1000  :)
Avatar utente
marko782
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 284
Iscrizione: sabato 24 marzo 2007, 12:53
Località: Monza (MI)

Re: mancanza file=plugin emesene non caricato

Messaggio da marko782 »

Comunque emesene ha un suo sistema di gestione dei file di configurazione in cui i plugin possono salvare i propri settaggi, magari puoi usare quello.

Purtroppo ora il trac di emesene non funziona, però guardando un pò il codice ho trovato queste funzioni dell' oggetto config che potrebbero interessarti:

Codice: Seleziona tutto

    def readPluginConfig(self, pluginName):
        '''read the plugin config file and create a dict with key and value
        of all the key=value\n in the config file'''

    def writePluginConfig(self, pluginName):
        '''write the config to the file, overwrite current plugin config file'''

    def setPluginValue(self, pluginName, key, value)
    def getPluginValue(self, pluginName, key, default)
L' oggetto config lo ottieni così:

Codice: Seleziona tutto

config = controller.getConfig()
Dove controller ovviamente è il parametro passato nel metodo __init__ del tuo plugin.

Non ho provato, ma secondo me faresti prima a crearti e a gestirti il file da solo ;)

ciao! ;D ;D

EDIT: Ecco non avevo visto il tuo messaggio, così va benissimo secondo me. Per i secondi del messaggio, potresti usare la prima riga del file (o crearne un altro) dove inserire un numero che corrisponda ai secondi. Per fare una cosa "carina" mi sà che ti devi leggere un pò di documentazione sulle gtk però... e oltretutto capire come integrare il tutto con emesene. Se hai bisogno di una mano chiedi ;)

ciao ;D
Ultima modifica di marko782 il mercoledì 10 settembre 2008, 14:36, modificato 1 volta in totale.
Avatar utente
Ivan!
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1560
Iscrizione: sabato 21 giugno 2008, 12:24

Re: mancanza file=plugin emesene non caricato

Messaggio da Ivan! »

sisi infatti ho usato

Codice: Seleziona tutto

def readPluginConfig(self, pluginName):
        '''read the plugin config file and create a dict with key and value
        of all the key=value\n in the config file'''

    def writePluginConfig(self, pluginName):
        '''write the config to the file, overwrite current plugin config file'''

    def setPluginValue(self, pluginName, key, value)
    def getPluginValue(self, pluginName, key, default)
e poi sono riuscito dopo tanto smanettare (e diciamolo, anche guardare gli altri plugin ;D) a fare in modo che vai a proprietà plugin e scegli il percorso...

adesso ti allego il file, lo rinomino .txt ma lo devi mettere a .py, perchè sennò non me lo fa mettere...

ciao e grazie
Allegati
MessChangerNew.txt
(2.91 KiB) Scaricato 15 volte
Avatar utente
Ivan!
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1560
Iscrizione: sabato 21 giugno 2008, 12:24

Re: mancanza file=plugin emesene non caricato

Messaggio da Ivan! »

ancora non è totalmente esente da bug... ;D
deve essere ancora testato (molto) ;D
Avatar utente
marko782
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 284
Iscrizione: sabato 24 marzo 2007, 12:53
Località: Monza (MI)

Re: mancanza file=plugin emesene non caricato

Messaggio da marko782 »

Si si vede ;D

Spiega almeno cosa fare per installarlo (oltre a copiarlo nella cartella dei plugin)
Avatar utente
Ivan!
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1560
Iscrizione: sabato 21 giugno 2008, 12:24

Re: mancanza file=plugin emesene non caricato

Messaggio da Ivan! »

non ho capito...
in che senso spiegare dove installarlo?

ciao e grazie :)
Avatar utente
marko782
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 284
Iscrizione: sabato 24 marzo 2007, 12:53
Località: Monza (MI)

Re: mancanza file=plugin emesene non caricato

Messaggio da marko782 »

A me sembra ad esempio che se manca il file MessaggiEmesene.txt non funzioni nulla... spiega dove creare stò file, e come crearlo (per ogni riga deve esserci un messaggio... blablabla)

ciao ;D
Avatar utente
Ivan!
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1560
Iscrizione: sabato 21 giugno 2008, 12:24

Re: mancanza file=plugin emesene non caricato

Messaggio da Ivan! »

giusto... :)
allora adesso metto che non si può scegliere l'intervallo, e tutti si adatteranno ai 60 secondi di default ;D

e mi concentro più sulle altre cose...

ciao
Ultima modifica di Ivan! il mercoledì 10 settembre 2008, 15:49, modificato 1 volta in totale.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti