[Python] mod_python ed il giusto handler

Andrea Giammarchi andrea a 3site.it
Sab 19 Ago 2006 01:05:00 CEST


Lawrence Oluyede ha scritto:
> Si fa in una linea di python: "value in values" ritorna True o False.
> Scusa la battuta ma parli di performance e scrivi cose come questa?
credo sia il primo blocco che ho scritto ... poi dopo misono ricordato 
dell' in :E



> getMethods() è piena di bad practices. Non usare has_key ma usa in
> semplicemente. 
k


> Poi basta isinstance() senza scomodare il modulo types
> per vedere se qualcosa è di un certo tipo.
http://www.canonical.org/~kragen/isinstance/


> Il resto è tutto più o meno uguale. parseType con un dizionario la fai
> in 3 righe ed è più facilmente manutenibile.
???
def parseType(self, value):
        stypes = {
            "string":"s",
            "int":"i", "integer":"i",
            "null":"N", "none":"N",
            "class":"O", "object":"O",
            "bool":"b", "boolean":"b",
            "array":"a", "list":"a", "dict":"a", "tuple":"a",
            "float":"d", "double":"d", "long":"d"
        }
        result = "u"
        vtype = ""
        if "type" in value:
            vtype = value["type"].lower()
            if vtype in stypes:
                result = stypes[vtype]
        return result

> Non te la prendere, ma se
> studiassi un attimino di più Python magari faresti una lib
> "performante". Sto ancora cercando di capire come quella tua lib
> comunichi con JS.
la classe per avere GET, POST serve a richiamare in GET il nome della 
classe da esportare durante la creazione della pagina
<script src="ACE.psp?class=MyClass"></script>
<script>
var mc = new MyClass();
onload = function(){
    document.getElementById("tasto").onclick = function() {
       mc.sayHello.result = function(s){alert(s)}
       mc.sayHello.call("Ciao");
    }
}
</script>
la POST per iniviare le variabili serializzate, la classe ACE per JS è 
su devpro



> Non hai capito. Sono varie funzioni perchè ogni funzione gestisce un
> evento separato. Tipo il connect al server, il quit, ecc ecc. Ste cose
> le avresti anche con la tua lib eh
ovvio


> Ok allora lasciami dire che a me pare una scelta sbagliata.
a me non troppo essendo piaccaparo :D


> Riformulo la domanda: che tipo di interazioni avanzate vuoi fare con 
> AJAX?
invio / ricezione di variabili complesse attraverso l'uso di metodi 
server al fine di togliere metà del debug sul client e dedicarsi al solo 
debug server



> - procedurale = chiamo una procedura. *ESATTAMENTE* la stessa cosa che
> stai facendo tu.
attraverso un oggetto


> - il tuo approccio è bloccante
eh ? ... e che asincrono sarebbe ?


> quindi se devi magicamente trasferire
> mega byte di dati come dicevi la tua fantastica app si blocca.
> callRemote() perlomeno è asincrono, come tutto in Nevow
come tutto in ACE



> Cosa fondamentale. Scusa sto diventando sarcastico.
k


> Se centomila server PHP nel mondo non installano JSON per PHP scritta in
> C, credi davvero che installeranno la tua libreria?
si perchè non si installa, ACE per PHP è un file ACE.php ed un file 
ACE.js .... e dovrebbe diventare un file ACE.psp e lo stesso file 
ACE.js, per continuare con un file ACE.cs e sempre quello in JS



> Non ho capito NULLA di quelle quattro righe :-(
> Non puoi basare la tua lib sperando di avere in ingresso sempre e solo
> UTF-8 perchè UTF8 non è l'unico. Rispondo questo perchè non ho ben
> capito il resto.
UTF-8 è un modo php per dire che sfrutta la serializzazione / 
unserializzazione in multibytes ... in Python non esisterebbe UTF-8, 
anzi ... quella var la dovrei togliere ma la PHP_Serializer, per 
portabilità, deve poter supportare la modalità di php




> Come sopra cosa? Son 3 post che cerco di farti notare che è meno
> vendibile di quella JSON
ma ancora non hai capito bene cosa fa :D



> import dinamico? Ossignore :-)
si si si ... lo faccio in C# è complicato in Python ? o_O


> Se vuoi ti dico qual è il meccanismo in Python per fare l'import
> dinamico e quale modulo può farlo ma te lo lascio trovare da solo cosi
> non mi sento responsabile per eventuali danni :-)
quali danni potrebbe fare se sei tu a mettere i files sul server, sei 
"tu" che verifichi il path da richiamare e sei sempre "tu" a creare 
l'applicativo ed a parsare le sue informazioni ?


Maggiori informazioni sulla lista Python