Re: [Python] mod_python ed il giusto handler

2006-08-18 Per discussione Andrea Giammarchi

Manlio Perillo ha scritto:

Nevow Athena.
Gli sto dando un'occhiata ... l'intento è simile ma la struttura / 
utilizzo totalmente differente, ACE ha meno sbattimento sia client che 
server.


Se poi non interesserà a nessuno o nessuno lo userà pazienza, lo 
sfrutterò solo io :P


Cmq ACE dovrebbe poter stare anche in Nevow ed altri, intanto lo finisco 
per il mod_python poi vediamo :E



Saluti,
   Andrea Giammarchi
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-18 Per discussione Carlo C8E Miron

On 8/18/06, Manlio Perillo [EMAIL PROTECTED] wrote:

Lawrence Oluyede ha scritto:
 ACE? Ho come l'impressione che ogni tanto qualcuno cui non faccia
 reply to all e ci si perda i pezzi nella ml :-)

Allora è deciso, imposto l'header Reply-To in mailman ;-).
E' veramente un casino senza...


Immagino si tratti di un joke. in caso contrario, sono assolutamente -1.
Eheheh, qualcuno ricorda la tipa che disse un sacco di cattiverie ad adeL
su questa lista, quando era ospitata sul suo dominio, convinta di star
rispondendo
in privato ad un altro tizio?
Meraviglia.

(c)

--
Carlo C8E Miron, ICQ #26429731
--
Disclaimer:
If I receive a message from you, you are agreeing that:
1. I am by definition, the intended recipient.
2. All information in the email is mine to do with as I see fit and
make such financial profit, political mileage, or good joke as it
lends itself to. In particular, I may quote it on USENET or the WWW.
3. I may take the contents as representing the views of your company.
4. This overrides any disclaimer or statement of confidentiality that
may be included on your message.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-18 Per discussione Lawrence Oluyede

Aggiungo che ACE utilizza una versione light del methodTable, sistema
sfruttato dal progetto AMFPHP nonchè da quello analogo per Perl e Python.
Trattasi di Flash remoting, utilizzo di oggetti server sul client ed
invio di oggetti client al server, disponibile ufficialmente anche per
J2EE ed ASP.NET.


Mi pare quello che stavo facendo proprio l'altro ieri con Nevow in Python :-)


Quindi visto che tutti i linguaggi più note hanno da anni utilizzato il
trasporto di oggetti da e verso il client, se esiste un filtro
(methodTable) ed in questi anni nessuno s'è mai accanito sulla
pericolosità dello scambio di oggetti attraverso questo filtro, presumo
che ACE non debba preoccupare nessuno, salvo bugs miei sul codice, ma il
sorgente è Open.


Mi pare che Flash giri in un ambiente boxed dove i danni che può
fare sono limitati. Solo ultimamente c'è la possibilità di fare
uploading e quindi in un certo qual modo accedere al server, ma magari
mi sbaglio (sulle possibilità del Flash player intendo)


In ultimo, se in Pippo(): def register(self, ClientObject): mi aspetto
che ClientObject sia un'istanza esatta di un'altra classe già definita
in Python sapete meglio di me come controllarlo e solo se tale allora
userò il metodo che mi server, ma sono casi molto particolari, che
starebbero meglio in un'area admin post autenticazione... ma non per
questo non devono poter esistere (imho) visto che farlo è possibile.


Se il tuo obiettivo è mandare oggetti python - python stai
reimplementando Twisted Perspective Broker, altrimenti se vuoi mandare
oggetti js - python stai reimplementando JSON :-P

Secondo me dovresti dare un'occhiata a Nevow Athena che fa proprio
quel che cerchi.


ACE per python (PyACE ??? :P) crea la classe runtime solo se esistente,
altrimenti restituisce un dict perche PyRex non supporta exec e non sono
riuscito a trovare il modo nella serializer per PyRex di crere una
classe runtime :-(


exec? Yeah, di all'attacker questo sito è broken sull'homepage che fai prima.
Comunque se vuoi creare classi a runtime puoi anche dare un'occhiata
al modulo new
http://docs.python.org/lib/module-new.html

Ma credo che il problema qui sia di tutt'altro genere




___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python






--
Lawrence
http://www.oluyede.org/blog
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-18 Per discussione Andrea Giammarchi

Lawrence Oluyede ha scritto:

Mi pare che Flash giri in un ambiente boxed dove i danni che può
fare sono limitati. Solo ultimamente c'è la possibilità di fare
uploading e quindi in un certo qual modo accedere al server, ma magari
mi sbaglio (sulle possibilità del Flash player intendo)
non c'è molto di boxed, un protocollo AMF replicabile, una methodTable, 
istanze di classi del server che vanno avanti e indietro





Se il tuo obiettivo è mandare oggetti python - python stai
reimplementando Twisted Perspective Broker, altrimenti se vuoi mandare
oggetti js - python stai reimplementando JSON :-P

no, il mio obiettivo è fare una lib per un client e diversi servers




Secondo me dovresti dare un'occhiata a Nevow Athena che fa proprio
quel che cerchi.

già visto, fa altro (di simile, ma troppo macchinoso)


exec? Yeah, di all'attacker questo sito è broken sull'homepage che 
fai prima.

ripongo il quesito ... quante possibilità ci sono che una stringa
pippo = Pippo
ed un exec class  + pippo + : pass
possa far danni, ammesso che implementi un banale controllo sui 
caratteri della stringa pippo, ovvero solo [a-zA-Z_]+ ?





Comunque se vuoi creare classi a runtime puoi anche dare un'occhiata
al modulo new
http://docs.python.org/lib/module-new.html
ottimo, sono queste considerazioni / informazioni che mi servono  il 
resto lascia il tempo che trova.



Grazie,
   Andrea Giammarchi
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-18 Per discussione Lawrence Oluyede

io non introduco niente ... la libreria lavora in background,
l'introduzione del formato serialize di PHP è lo stesso identico
concetto di JSON, esistono versioni di serialize / unserialize per quasi
lo stesso numero di linguaggi eh ... non è una novità e permetterebbe a
tale libreria di lavorare su più linguggi server invece che su uno solo,
tutto qua


Perchè non usi semplicemente XML-RPC allora se ti interessa il cross language?


e hai detto niente ... visto che lo stato ti permette di ricostruire,
sul client se presente, o sul server, se presente, un'istanza aggiornata
dell'oggetto.


Beh se ti interessa passera dati rilancio xmlrpc che più standard non
si può :-)
Complicato capire cosa vuoi fare :P


 In python pero` gli oggetti non sono altro che dizionari, allora
 perche` complicarsi la vita per scrivere tutto sto popo` di roba
 quando basta saper trasmettere dizionari?
perchè i dizionari non sono istanze di oggetti ma appunto dizionari ?


A me pare che in Python un dizionario sia un oggetto, ignoro cosa sia
in PHP ma ti posso giurare che in Python un dizionario *è* un oggetto.
Ha un tipo (dict), ha una sintassi literal, ha dei metodi, uno stato.
E' un oggetto.


perchè non puoi usare o inviare classi client / server e gestirne lo stato ?


A te interessa solamente spostare informazioni dal pc X al pc Y. Passi
dati, poi cosa ne fai è affar tuo


significa che ogni client si gestisce la sua istanza delel sue classi,


E questo mi sembra la cosa più normale del mondo dato che gli oggetti
su un client non sono quelli sull'altro.


significa un approccio completamente OO anche sul client, usando anche
classi e non solo {}


Mi sa che non hai approfondito molto Python prima di imbarcarti in
questo progetto perchè è scritto pure nel tutorial che i dizionari
sono oggetti.


prima dici del po po di roba, poi mi parli dell'inutilità di inviare
stati di oggetti, quidi implementeresti un metodo dedicato che a seconda
della classe assegna eventualmente quello o quell'altro parametro
all'istanza dell'oggetto ??? ... io invio istanze, non devo fare altro,
inutile eh ? per me non lo è mai stato, sarò io che ho i paraocchi bucati ?


Ma quanta roba devi passare da un server a un client, si può sapere?
Sembra che tu stia gestendo una foresta di dati supercomplessi di
megabyte di stato.


si, pazienza, tanto dato i tuoi discorsi lavori solo con dizionari,
chissà quali stratagemmi per ricreare i metodi, stratagemmi inutili
quando puoi inviare già un oggetto con quel metodo, poi l'invio di più
oggetti non ne parliamo


Sei al corrente vero che non c'è praticamente nessuna differenza tra
passare una oggetto senza metodi (quindi solo lo stato) e il
dizionario del suo stato?


Stessa classe, stesso stato, metodi uguali con o senza lo stesso nome
con possibilità di usare operazionidifferenti a seconda
dell'utilizzatore, client o server.


Mi sfugge perchè il server dovrebbe avere le stesse classi che ci sono
su N client. In tutta questa discussione il vero problema secondo me è
che non si è capito cosa stai realmente cercando di fare, a parte
tutti i termin di passare oggetti in giro. Cosa cerchi di ottenere in
soldoni?


 Perche` e` assurdo che la stringa di byte (ovvero una stringa di testo
 codificata in utf-8) debba ritornare i caratteri e non la lunghezza?
e chi l'ha mai detto ? Io ho solo detto che è una pecurialità di php e
php soltanto ed è la causa del rallentamento in serializzazione /
unserializzazione con JS o gli altri linguaggi quando devi interagire
con il formato serializzato di php abilitando il supporto UTF-8


Semplicemente perchè PHP ha un pessimo supporto per ciò che non è ASCII


Il nesso è la portabilità della lib, ma a quanto pare avete già
l'onnipotenza in materia e quindi una lib che con una sola scrittura del
client si porta anche in Python, oltre che PHP e C# non vi interessa.


Non è che non interessa. E' che, almeno io, non vedo il problema che
stai cercando di risolvere. Tutto qui. Non mi sembra di aver detto di
essere onnipotente o cose del genere. Ho tenuto un tono
tranquillissimo proprio perchè mi sembra che tu stia inventando
l'acqua calda e ci sono passato anche io in passato.


Strano, nell' era del web js  ajax avere librerie da non dover
riscrivere anche per il client dovrebbe muovere l'interesse collettivo,
proverò con gli altri linguaggi, abbandono il porting per Python ? Visto
che tutto è inutule e che non si capisce niente dell'intento o le
potenzialità della libreria devo proprio aver cannato linguaggio ...


Beh se tu stai reimplementando JSON non capisco perchè dovrebbe
esserci un interesse collettivo per una cosa che è già una RFC tra le
altre cose. Magari proponi a loro di migliorare le cose che non ti
piacciono, no?


Che ne dici di evitare di valutare ancora prima di conoscere ?


Sono tutt'orecchi, cosi finalmente capisco cosa stai realmente
cercando di implementare. Perchè questi ultimi post mi sono sembrati
un pò confusi


si, non è compatibile con le stringhe UTF-8 

Re: [Python] mod_python ed il giusto handler

2006-08-18 Per discussione Lawrence Oluyede

non c'è molto di boxed, un protocollo AMF replicabile, una methodTable,
istanze di classi del server che vanno avanti e indietro


Faccio finta di aver capito cosa è un protocollo AMF replicabile e una
methodTable :-(


no, il mio obiettivo è fare una lib per un client e diversi servers


Appunto, JSON è JS, gli altri linguaggi hanno lib. Non puoi fare una
lib multi linguaggio in un linguaggio solo, quindi se la implementi in
N linguaggi stai scrivendo librerie JSON per N linguaggi che immagino
ci siano già. Qui ci sono almeno una 15ina di linguaggi:
http://www.json.org/
Tra l'altro supporta anche UTF-8.


già visto, fa altro (di simile, ma troppo macchinoso)


Ok come non detto. In pratica la tua lib implementa l'HTTP Streaming
giusto? Tieni aperta una connessione XMLHTTPRequest e passi dati?


ripongo il quesito ... quante possibilità ci sono che una stringa
pippo = Pippo
ed un exec class  + pippo + : pass
possa far danni, ammesso che implementi un banale controllo sui
caratteri della stringa pippo, ovvero solo [a-zA-Z_]+ ?


Ok.


ottimo, sono queste considerazioni / informazioni che mi servono  il
resto lascia il tempo che trova.


Come preferisci ma se non accetti alcun tipo di critica/considerazione
non vai lontano in una comunità. Io ne ho prese di legnate sui denti
:-)


--
Lawrence
http://www.oluyede.org/blog
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-18 Per discussione Lawrence Oluyede

aggiungo: quale modulo per verificare l'esistenza di una classe ?
Avessi un class_exsits sarei a cavallo, l'eval l'ho usato solo per
quello (ma attendevo commenti proprio per migliorare quella classe)


Cosa vuol dire se esiste una classe? Se io scrivo SuperPippo in un
file Python e non è definito da nessuna parte avrai un NameError.

--
Lawrence
http://www.oluyede.org/blog
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-18 Per discussione Valentino Volonghi aka Dialtone

On Fri, 18 Aug 2006 20:48:52 +0200, Andrea Giammarchi [EMAIL PROTECTED] wrote:

e cosa potrà mai accadere per una cosa tipo questa ?

exec class  + nome + : pass

l'unica linea di codice tolta dalla verisone PyRex ?


Senza il controllo che fai sotto io posso fare:


foo(Pifferazzo(__import__('os').listdir('.')))

Traceback (most recent call last):
 File stdin, line 1, in ?
 File stdin, line 2, in foo
 File string, line 1, in ?
TypeError: Error when calling the metaclass bases
   list() takes at most 1 argument (3 given)

Il che significa che l'espressione dentro Pifferazzo e` stata eseguita con 
successo e avrebbe potuto essere molto piu` distruttiva.


Però hai ragione, devo aggiungere un controllo sul nome della classe.

con un controllo sulla stringa che accetta solo lettere ed undesrcore, 
quante possibilità ci sono di fare danni ?


Un po` meno. Ma davvero poche in meno.


class Foo(object):

... ciao = 3
... 

Foo.ciao

3

exec class Foo(object): pass
Foo.ciao

Traceback (most recent call last):
 File stdin, line 1, in ?
AttributeError: type object 'Foo' has no attribute 'ciao'

Il vero danno e` sovrascrivere nomi gia` esistenti nella tua applicazione oltre 
ad altri che spendendo abbastanza tempo si potrebbero trovare (attachi analoghi 
all'SQL injection ma fatta col codice).

Non ne vale proprio la pena... Meglio evitare la exec del tutto e assieme a 
quella la eval().
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-18 Per discussione Lawrence Oluyede

Ok cosa ? devo scrivere questo sito è bucabile anche con una stringa
exec di quel tipo oppure non c'è ragione alcuna di allarmarsi ?


Ok come vuoi. Perchè devi creare una classe a runtime?


runtime  ho una stringa

pippo = Pippo

come sapere se la classe Pippo è presente e già definita oppure no ?


Pippo li è una stringa


class_exsists(pippo) ... esiste qualcosa del genere che restituisca un
True o un False ?


Esiste isclass() nel modulo inspect


bene, allora quando finisce questa inizializzazione pitoniana ? lol


Per me può anche finire ora.

--
Lawrence
http://www.oluyede.org/blog
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-18 Per discussione Andrea Giammarchi

Lawrence Oluyede ha scritto:

Mi scrivi 5 righe della parte Python di gestione della roba JS con la
tua libreria?
ti posto in fondo tutta la libreria .. che è ancora alpha e non è 
completa, ha diversi buchi, ma tutto sommato comincia a funzionare






Non trovo un motivo valido per avere questa caratteristica
sinceramente, magari mi sbaglio

esporti classi che hanno metodi utili per il JS
da JS usi queste classi, le istanzi, sfrutti gli oggetti già definiti 
dalla lib e per ogni oggetto hai già i metodi e per ogni metodo i tre 
metodi call, result, progress, puoi usarli tutti o nessuno
Questa è la parte che interessa il primo invio poi questi oggetti, visto 
che hai esportato delle classi presenti con il methodTable, puoi usarli 
sul client o sul server perchè sono già presenti, il caso di oggetti
non presenti e creati runtime è molto particolare e sono un pò stanco 
per spiegarlo bene.






E' troppo perchè sono varie funzioni.

appunto, io vorrei avere tutto disponibile subito



Quindi scrivi una lib in Python per risolvere un problema che ha solo
quella schifezza di PHP?
ho già risposto a questa domanda, scrivo una lib che non è per l'uno o 
per l'altro, ma che per avere senso a livello di portabilità del client 
deve basarsi o su JSON o su PHP_Serializer, io ho scelto la seconda per 
rispetto del predominante nel web, PHP





Interazione avanzate in AJAX?
si, se AHAH è l' abc , con altre lib puoi fare interazioni più 
complesse, quindi più avanzate







 callRemote(sayHello).addCallback(function(str) {alert(str)})
la callback semplifica ? callRemote è una sola funzione ?
devo farne una per ogni tipo di callRemote ???  e quando ti passa 
a te ?


Che vuol dire tipo di callRemote? La callRemot chiama una funzione e
piglia il valore di ritorno. Che c'è da riscrivere?

niente, avevo capito male ... però questo non è un approccio procedurale ?
io preferirei
myClassVar.sayHello.call();

e nel frattempo hai anche un'istanza di classe da gestire come vuoi




Tutto su che?

u ... unicode



L'hai detto tu che non usi JSON perchè non c'è una libreria in PHP
decente preinstallata. Tra l'altro non avrai lo stesso problema di
deployment con la tua libreria rispetto a quelle più performanti per
PHP ma non preinstallate?
molto meno, per il semplice fatto che non ci sono caratteri da 
modificare, solo length da sfruttare.
La serializzazione / unserializzazione di PHP è molto più semplice di 
quella json, sia in conversione che in riconversione, Python e C# se la 
cavano bene anche senza moduli dedicati.
Il problema della length per UTF-8, come ho detto, è pià per portabilità 
della classe PHP_Serializer che altro, perchè trattando stringhe come 
text (numero dei caratteri), non è necessario usare

UTF-8 con altri linguaggi diversi dal PHP, quindi è molto rapida.

Anzi ... a dirla tutta, in PyRex le uniche reali ottimizzazioni sono 
proprio per la __slen, che se inusata, potrebbe avere poco senso di 
esistere.




Non è un partito preso, è un non reinventare la ruota

infatti non l'ho reinventata, l'ho solo aggiustata (male, datemi tempo)



La tua lib in pyrex sarà ancora meno portabile sui server che non
preinstallano le librerie JSON in PHP performanti, vero?

come sopra








ACE.py
import types, re, PHP_Serializer

HAND_RULES = {
   DEBUG:False,
   UTF8:False,
   GZ:False
}


def in_list(value, values):
   result = False
   for i in range(0, len(values)):
   if value == values[i]:
   result = True
   break
   return result

class ACE:
  
   php = None# PHP_Serializer

   utf8 = False# is UTF8 enabled or not
   next = True# has any error
   gz = False# uses gz compression
   dodebug = False# creates a debug file
   debug = []# debug informations
   types = {# valid variable types
   s:string, N:null, O:Class, b:boolean, 
i:integer, d:float, a:array, u:undefined

   }
  
   def __init__(self, settings):

   self.utf8 = settings[UTF8]
   self.dodebug = settings[DEBUG]
   self.gz = not self.dodebug and settings[GZ]
   self.php = PHP_Serializer.PHP_Serializer(self.utf8)
  
   def getMethods(self, classDict):

   tmp = None
   result = []
   if classDict.has_key(methodTable) and 
type(classDict[methodTable]) is types.DictType:

   for key in classDict[methodTable]:
   tmp = classDict[methodTable][key]
   if type(tmp) is types.DictType and (not 
tmp.has_key(access) or tmp[access] == remote):

   result.append(key)
   return result
  
   def getMethodInformations(self, tmpclass, method):

   i = 0
   result = {}
   vars = tmpclass.__class__.__dict__[methodTable][method]
   if vars.has_key(arguments) and type(vars[arguments]):
   result = {info:[], required:0}
   if type(vars[arguments]) is types.ListType:
   for key in range(0, len(vars[arguments])):
   

Re: [Python] mod_python ed il giusto handler

2006-08-17 Per discussione Lawrence Oluyede

no, non sbagli, devo fare un qualcosa di portabile, non basato su alcun
framework, per fare questo devo evitare di basarmi a mia volta su un fw.


Mi sfugge cosa intendi per portabile a questo punto.


1 - se devo imparare ora qualcosa su Python per il web, tanto vale
scegliere il progetto sulla quale investirei (o meglio investono) di più
(progetto ufficiale di un webserver che punta molto su questo stesso)


mod_python è solo un progetto dei tanti, non c'è niente di ufficiale.


2 - se devo creare una libreria portabile, tanto vale crearla su misura
per il modulo usato dal webserver più noto (per poi adattarla
eventualmente su altri fw, dove le cose sono parzialmente fatte)


Continuo a non capire cosa intendi per portabile


--
Lawrence
http://www.oluyede.org/blog
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] mod_python ed il giusto handler

2006-08-16 Per discussione Andrea Giammarchi

Salve a tutti,

   mi sto inoltando solo ora verso mod_python su Apache 2.X e già mi 
sorgono i primi dubbi.


Qual'è secondo voi l'handler più semplice / immediato da gestire ?

- CGI lo escluderei per le performance ridotte

- PSP è un embed stile JSP, PHP, o Rails e tutto sommato potrebbe essere 
quello più semplice da gestire basando il tutto su sistemi di template 
dinamico (poi è scritto in C quindi velocissimo)


- la configurazione a singolo file la vedo troppo castrante e credo sia 
più per un Hello World o altro di molto specifico ...


- mod_python.publisher sembra quello migliore ma ho ancora dubbi sulla 
semplicità di sviluppo / debug / manutenzione dovendo (?) basare tutto 
su un unico file (ma magari fa l'import anche di altri files ... non saprei)


- Vampire, basato su mod_python.publisher, pare sia la versione più 
semplice o funzionale dello stesso handler ..



- ce ne sono altri ??? ... qual'è il più usato ?



insomma, vorrei avere pareri o opinioni su un modo di sfruttare python 
nel web piuttosto che un altro ... voi cosa avete scelto ?


Zope, ad esempio, è basato mod_python.publisher ?

Attendo ansiosamente un vostro riscontro, grazie :-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-16 Per discussione Carlo C8E Miron

On 8/16/06, Andrea Giammarchi [EMAIL PROTECTED] wrote:

Salve a tutti,

[snip]

- ce ne sono altri ??? ... qual'è il più usato ?


Django, http://djangoproject.com/


insomma, vorrei avere pareri o opinioni su un modo di sfruttare python
nel web piuttosto che un altro ... voi cosa avete scelto ?


Indovina ;)


Zope, ad esempio, è basato mod_python.publisher ?


No


Attendo ansiosamente un vostro riscontro, grazie :-)


Ciao,
(c)

--
Carlo C8E Miron, ICQ #26429731
--
Disclaimer:
If I receive a message from you, you are agreeing that:
1. I am by definition, the intended recipient.
2. All information in the email is mine to do with as I see fit and
make such financial profit, political mileage, or good joke as it
lends itself to. In particular, I may quote it on USENET or the WWW.
3. I may take the contents as representing the views of your company.
4. This overrides any disclaimer or statement of confidentiality that
may be included on your message.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-16 Per discussione Andrea Giammarchi

Manlio Perillo ha scritto:

Ho qualche dubbio, ma è anche vero che nel 90% dei casi avere soluzioni
preconfezionate è da preferire.
Anche se magari uno che usa spesso soluzioni più potenti ne diventa così
pratico da codificare comunque in poco tempo.
sono d'accordo, però secondo me è bene anche sapere cosa ci sia dietro 
queste soluzioni preconfezionate, se non altro per imparare qualcosa di 
nuovo :-)


Ciao
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-16 Per discussione Andrea Giammarchi

Manlio Perillo ha scritto:

Parlo di gestione database
(creazione indici particolari, tablespace - che con un ORM come quello
di django non credo sia possibile affrontare)
  
fortunatamente il mio piccolo ed umile progettino non necessita di 
database e teoricamente potrà essere implementato anche in django :D




e caching non banale.
  
mod_python fa caching di suo, non so quanto sia banale ma per cambiare 
una pagina in errore oggi dovevo riavvirare il webserver, cancellare la 
temporary ed altro ancora :E

(leggi non conosco assolutamente python nel web tantomeno mod_python)


Ciao,
   Andrea Giammarchi
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-16 Per discussione Andrea Giammarchi

Manlio Perillo ha scritto:

Si, ma credo che usi solo i validatori (ETag e Last-Modified).
HTTP 1.1 ha Cache-Control che è una bella bestia.
  
mi sembra che la mia installazione di mod_python per py 2.4 su apache 
2.0 sfrutti proprio HTML 1.1 ... e non so se per bella bestia intendi 
a livello di buon caching o pessimo




Per questo preferisco le librerie minimali che si focalizzano su un ben
preciso layer di astrazione e che ti lascia le mani libere.
  

è quello che sto tentando di creare :)



Non esiste che qualcuno debba farti credere di riuscire a fare qualcosa
senza capire quello che stai facendo (vedi Microsoft).
  
ma io potrei capire tutto di django senza sapere niente di cosa django 
stia facendo e questo non mi piace, magari a me serve 1/16 delle cose 
che fa django per fare una libreria a parte e mi tocca muovere tutto il 
framework




Che intendi cambiare una pagina in errore?
  
intendo che con handler psp e mod_python come l'ho configurato io 
(sicuramente malissimo, solo 4 righe) quando la pagina va in errore puoi 
eliminare i pyc, i pyo, tutto quello che ti pare, togliere l'errore, 
tanto Apache continua a mostrarti l'ultima versione in cache di quella 
richiesta con quella pagina. Ma probabilmente sbaglio qualcosa io  
ho porvato anche a usare la util.cache.Cache().clear() senza successo :E


unico modo è stato portarmi la classe nel file, senza importarla, per 
riuscire ad avere un riscontro realtime delle mie alchimie pseudo 
pythoniane :D


Ciao,
   Andrea Giammarchi
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] mod_python ed il giusto handler

2006-08-16 Per discussione Lawrence Oluyede

GET
A dictionary-like object containing all given HTTP GET parameters.
POST

A dictionary-like object containing all given HTTP POST parameters.


quindi io avrei fatto monkey patch / code perchè ho messo l'underscore
prima di GET e POST ovvero ho creato _GET e _POST ???


Facciamo finta che io mi sia spiegato bene perchè a quanto pare non è cosi :-(


beh  dai, django usa lo stesso identico modo di PHP, distingue (e
non so come, cercherò di leggermi il source) i due tipi di dict, quindi
esattamente il mio stesso modo (scopo finale) senza un framework dietro ...


Ok!


se ti riferivi al request invece, fa parte del dict _SERVER e della
chiave di mod_pyton REQUEST_METHOD, che ricei in modo django compatibile
con un for k in _SERVER: if key.startswith('REQUEST_') ...
e crei il tuo dict django style


Il punto è che in un fw è tutto più organico, tutto qui. Ma sembra che
tu non voglia usare un fw a tutti i costi, mi sbaglio?


--
Lawrence
http://www.oluyede.org/blog
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python