[Commits] python.it commit r231 - python/python/Doc/branches/2.4.3/lib

commit a svn.python.it commit a svn.python.it
Mer 8 Nov 2006 23:45:14 CET


Author: eriol
Date: Wed Nov  8 23:43:24 2006
New Revision: 231

Modified:
   python/python/Doc/branches/2.4.3/lib/libcodecs.tex
   python/python/Doc/branches/2.4.3/lib/libcodeop.tex
   python/python/Doc/branches/2.4.3/lib/libcollections.tex
   python/python/Doc/branches/2.4.3/lib/libcookie.tex
   python/python/Doc/branches/2.4.3/lib/libcrypt.tex
   python/python/Doc/branches/2.4.3/lib/libcsv.tex
   python/python/Doc/branches/2.4.3/lib/libdatetime.tex
   python/python/Doc/branches/2.4.3/lib/libdis.tex
Log:
aggiornamenti di Antonio Vitale, con correzioni

Modified: python/python/Doc/branches/2.4.3/lib/libcodecs.tex
==============================================================================
--- python/python/Doc/branches/2.4.3/lib/libcodecs.tex	(original)
+++ python/python/Doc/branches/2.4.3/lib/libcodecs.tex	Wed Nov  8 23:43:24 2006
@@ -248,11 +248,11 @@
 \end{datadesc}
 
 
-\subsection{Classi base di Codec}
+\subsection{Classi base di Codec \label{codec-base-classes}}
 
 Il modulo \module{codecs} definisce un insieme di classi base che
 definiscono l'interfaccia, e che possono anche venire usate per scrivere 
-rapidamente i propri codecs da utilizzare con Python. 
+rapidamente i propri codec da utilizzare con Python.
 
 Ogni codec deve definire quattro interfacce perché sia usabile come
 codec in Python: stateless encoder (NdT: codificatore senza stato), 
@@ -517,45 +517,53 @@
 %[- MARK -] END DIFF
 \end{classdesc}
 
-\begin{methoddesc}{read}{\optional{size}}
-  Decodifica i dati dallo flusso, e restituisce l'oggetto risultante. 
+\begin{methoddesc}{read}{\optional{size\optional{, chars, \optional{firstline}}}
+  Decodifica i dati dal flusso, e restituisce l'oggetto risultante.
+
+  \var{chars} indica il numero di caratteri da leggere dal flusso.
+  \function{read()} non restituirà mai più di \var{chars} caratteri:
+  però potrebbero essere di meno, se nel flusso non è disponibile
+  tale numero di caratteri.
 
   \var{size} indica approssimativamente il numero massimo di bytes da
   leggere dal flusso per la decodifica.  Il decodificatore può 
   modificare questa impostazione in base alle necessità.  Il valore 
   predefinito -1 indica di leggere e decodificare il più possibile.  
   \var{size} viene utilizzato per prevenire la decodifica di file 
-  troppo grandi in un solo passaggio. 
+  troppo grandi in un solo passaggio.
+
+  \var{firstline} indica che, se ci sono errori di decodifica nelle
+  successive linee, è sufficiente la restituzione della prima.
 
   Il metodo dovrebbe usare un'attenta strategia di lettura, cioè 
   dovrebbe la massima quantità possibile di dati, consentita dala 
   definizione della codifica e dalla misura indicata, per esempio se 
   sono disponibili sul flusso delle estensioni facoltative di codifica 
   o dei marcatori di stato, anche questi devono venir letti.
+  
+  \versionchanged[\var{chars} argument added]{2.4}
+  \versionchanged[\var{firstline} argument added]{2.4.2}
 \end{methoddesc}
 
-\begin{methoddesc}{readline}{[size]}
+\begin{methoddesc}{readline}{[\optional{size\optional{, keepends}}}
   Legge una riga dallo stream di input e restituire i dati
   decodificati. 
 
-  Diversamente dal metodo \method{readlines()}, questo metodo eredita
-  la conoscenza dell'interruzione di riga dal metodo 
-  \method{readlines()} dello stream sottostante -- attualmente non
-  esiste supporto per l'interruzione di riga usando il codec decoder, a
-  causa di mancanze di righe nel buffer.  Le classi derivate dovrebbero
-  comunque, se possibile, tentare di implementare questo metodo, usando
-  la loro conoscenza dell'interruzione di riga. 
-
   \var{size}, se indicato, viene passato come argomento dimensione 
   nel metodo \method{readline()} dello stream.
+  
+  Se \var{keepends} è falso le linee finali verranno tolte dalle
+  linee restituite.
+  
+  \versionchanged[\var{keepends} argument added]{2.4}
 \end{methoddesc}
 
-\begin{methoddesc}{readlines}{[sizehint]}
+\begin{methoddesc}{readlines}{[\optional{sizehint\optional{, keepends}}}
   Legge tutte le righe disponibili nel flusso di input e le restituisce 
   come una lista di righe. 
 
-  Le interruzioni di riga vengono implementate usando il metodo decoder
-  di codifica, e vengono incluse nell'elenco dei valori. 
+  Le interruzioni di riga vengono implementate usando il metodo decoder di
+  codifica e, se \var{keepends} è vero, vengono incluse nell'elenco dei valori.
 
   \var{sizehint}, se indicato, viene passato come argomento \var{size}, 
   nel metodo \method{read()} dello stream.
@@ -656,7 +664,7 @@
 %[- MARK -] END DIFF
 tutti gli altri metodi ed attributi del flusso sottostante.
 
-\subsection{ Codifica standard}
+\subsection{ Codifica standard\label{standard-encodings}}
 
 Python viene distribuito con un certo numero di codifiche built-in, 
 tutte implementate come funzioni C, o con dizionari come tabelle 
@@ -709,7 +717,11 @@
         {Inglese}
 
 \lineiii{big5}
-        {big5_tw, csbig5}
+        {big5-tw, csbig5}
+        {Cinese Tradizionale}
+        
+\lineiii{big5hkscs}
+        {big5-hkscs, hkscs}
         {Cinese Tradizionale}
 
 \lineiii{cp037}
@@ -796,6 +808,10 @@
 %[- MARK -]  \lineiii{cp874}
 %[- MARK -] END DIFF
         {Danese, Norvegese}
+        
+\lineiii{cp866}
+        {866, IBM866}
+        {Russo}
 
 \lineiii{cp869}
         {869, CP-GR, IBM869}
@@ -825,7 +841,7 @@
         {Greco}
 
 \lineiii{cp932}
-        {932, ms932, mskanji, ms_kanji}
+        {932, ms932, mskanji, ms-kanji}
         {Giapponese}
 
 \lineiii{cp949}
@@ -969,19 +985,23 @@
         {Vietnamita}
 
 \lineiii{euc_jp}
-        {eucjp, ujis, u_jis}
+        {eucjp, ujis, u-jis}
+        {Giapponese}
+        
+\lineiii{euc_jis_2004}
+        {jisx0213, eucjis2004}
         {Giapponese}
 
 \lineiii{euc_jisx0213}
-        {jisx0213, eucjisx0213}
+        {eucjisx0213}
         {Giapponese}
 
 \lineiii{euc_kr}
-        {euckr, korean, ksc5601, ks_c_5601, ks_c_5601_1987, ksx1001, ks_x_1001}
+        {euckr, korean, ksc5601, ks_c-5601, ks_c_5601-1987, ksx1001, ks_x-1001}
         {Coreano}
 
 \lineiii{gb2312}
-        {chinese, csiso58gb231280, euc_cn, euccn, eucgb2312_cn, gb2312_1980, gb2312_80, iso_ir_58}
+        {chinese, csiso58gb231280, euc_cn, euccn, eucgb2312-cn, gb2312-1980, gb2312-80, iso-ir-58}
         {Cinese Semplificato}
 
 \lineiii{gbk}
@@ -989,35 +1009,39 @@
         {Cinese Unificato}
 
 \lineiii{gb18030}
-        {gb18030_2000}
+        {gb18030-2000}
         {Cinese Unificato}
 
 \lineiii{hz}
-        {hzgb, hz_gb, hz_gb_2312}
+        {hzgb, hz-gb, hz-gb-2312}
         {Cinese Semplificato}
 
 \lineiii{iso2022_jp}
-        {csiso2022jp, iso2022jp, iso_2022_jp}
+        {csiso2022jp, iso2022jp, iso-2022-jp}
         {Giapponese}
 
 \lineiii{iso2022_jp_1}
-        {iso2022jp_1, iso_2022_jp_1}
+        {iso2022jp-1, iso-2022-jp-1}
         {Giapponese}
 
 \lineiii{iso2022_jp_2}
-        {iso2022jp_2, iso_2022_jp_2}
+        {iso2022jp-2, iso-2022-jp-2}
         {Giapponese, Coreano, Cinese Semplificato, Europa dell'Ovest, Greco}
 
+\lineiii{iso2022_jp_2004}
+        {iso2022jp-2004, iso-2022-jp-2004}
+        {Giapponese}
+        
 \lineiii{iso2022_jp_3}
-        {iso2022jp_3, iso_2022_jp_3}
+        {iso2022jp-3, iso-2022-jp-3}
         {Giapponese}
 
 \lineiii{iso2022_jp_ext}
-        {iso2022jp_ext, iso_2022_jp_ext}
+        {iso2022jp-ext, iso-2022-jp-ext}
         {Giapponese}
 
 \lineiii{iso2022_kr}
-        {csiso2022kr, iso2022kr, iso_2022_kr}
+        {csiso2022kr, iso2022kr, iso-2022-kr}
         {Coreano}
 
 \lineiii{latin_1}
@@ -1133,6 +1157,10 @@
 %[- MARK -] END DIFF
         {Giapponese}
 
+\lineiii{shift_jis_2004}
+        {shiftjis2004, sjis_2004, sjis2004}
+        {Giapponese}
+        
 \lineiii{shift_jisx0213}
         {shiftjisx0213, sjisx0213, s_jisx0213}
         {Giapponese}

Modified: python/python/Doc/branches/2.4.3/lib/libcodeop.tex
==============================================================================
--- python/python/Doc/branches/2.4.3/lib/libcodeop.tex	(original)
+++ python/python/Doc/branches/2.4.3/lib/libcodeop.tex	Wed Nov  8 23:43:24 2006
@@ -35,7 +35,7 @@
 \begin{enumerate}
   \item Essere capace di predire se una riga di input completa un
     costrutto Python: in breve, stabilire se stampare successivamente
-    `\code{>\code{>}>~} o `\code{...~}'. 
+    `\code{>\code{>}>~}' o `\code{...~}'.
   \item Ricordare quali costrutti successivi sono stati inseriti 
     dall'utente, in modo tale che il susseguente input possa venire 
     compilato effettivamente con essi. 
@@ -49,7 +49,7 @@
 \begin{funcdesc}{compile_command}
                 {source\optional{, filename\optional{, symbol}}}
 Cerca di compilare \var{source}, che dovrebbe essere una stringa di 
-codice Python, e restitusce un codice oggetto se \var{source} è codice 
+codice Python, e restitusce un oggetto codice se \var{source} è codice
 Python valido.  In questo caso, l'attributo filename del codice oggetto
 sarà \var{filename}, che in modo predefinito è \code{'<input>'}.
 Restituisce  \code{None} se \var{source} \emph{non} è codice Python
@@ -59,7 +59,7 @@
 un'eccezione.  Viene sollevata l'eccezione \exception{SyntaxError} se
 si presenta della sintassi Python non valida, e 
 \exception{OverflowError} oppure \exception{ValueError} se è presente 
-una costante non valida. 
+un letterale non valido.
 
 L'argomento \var{symbol} determina quando \var{source} viene compilata
 come una dichiarazione (il valore predefinito è \code{'single'}) o come
@@ -137,4 +137,4 @@
 \end{verbatim}
 
 e quindi chiamare \code{CommandCompiler} ogni volta che avrete la
-necessità di un nuovo oggetto compilato.
+necessità di un nuovo oggetto compilatore.

Modified: python/python/Doc/branches/2.4.3/lib/libcollections.tex
==============================================================================
--- python/python/Doc/branches/2.4.3/lib/libcollections.tex	(original)
+++ python/python/Doc/branches/2.4.3/lib/libcollections.tex	Wed Nov  8 23:43:24 2006
@@ -173,11 +173,10 @@
 Questa sezione mostra vari approcci per lavorare con i deque.
 
 Il metodo \method{rotate()} fornisce un modo per implementare
-l'affettamento e la cancellazione dei \class{deque}:
-
-Quest'implementazione in puro python di \code{del d[n]} mostra
-l'utilizzo del metodo \method{rotate()} come base di partenza per
-implementare diverse operazioni di \class{deque}:
+l'affettamento e la cancellazione dei \class{deque}. Per esempio,
+una implementazione in puro python di \code{del d[n]} si affida
+al metodo \method{rotate()} per posizionare gli elementi da restituire
+ed eliminare:
 
 \begin{verbatim}
 def delete_nth(d, n):
@@ -247,10 +246,10 @@
 
 
 Gli algoritmi di riduzione dei dati multi-pass possono essere
-espressi in maniera succinta e codificati efficentemente estraendo gli elementi mediante
+espressi in maniera succinta e codificati efficentemente estraendo gli elementi con
 chiamate multiple a \method{popleft()}, applicando la funzione di
-riduzione ed usando \method{append()} per riporre il risultato
-nella queue.
+riduzione ed chiamando \method{append()} per l'aggiunta del risultato
+alla queue.
 
 Per esempio, la costruzione di un albero binario bilanciato di liste annidate
 si ottiene riducendo due nodi adiacenti ad uno solo raggruppandoli in

Modified: python/python/Doc/branches/2.4.3/lib/libcookie.tex
==============================================================================
--- python/python/Doc/branches/2.4.3/lib/libcookie.tex	(original)
+++ python/python/Doc/branches/2.4.3/lib/libcookie.tex	Wed Nov  8 23:43:24 2006
@@ -91,6 +91,10 @@
 
 
 \begin{seealso}
+  \seemodule{cookielib}{HTTP cookie handling for web
+    \emph{clients}. I moduli \module{cookielib} e \module{Cookie}
+    non dipendono l'uno dall'altro}.
+    
   \seerfc{2109}{HTTP State Management Mechanism}{Queste sono le
   specifiche per la gestione dello stato implementate da questo
   modulo.} 

Modified: python/python/Doc/branches/2.4.3/lib/libcrypt.tex
==============================================================================
--- python/python/Doc/branches/2.4.3/lib/libcrypt.tex	(original)
+++ python/python/Doc/branches/2.4.3/lib/libcrypt.tex	Wed Nov  8 23:43:24 2006
@@ -47,7 +47,11 @@
 %[- MARK -] END DIFF
 password \UNIX{} tramite un dizionario.
 
-\begin{funcdesc}{crypt}{word, salt} 
+Da notarsi che il funzionamento di questo modulo dipende dall'attuale
+implementazione della procedura \manpage{crypt}{3}\index{crypt(3)} nel
+sistema di esecuzione. Quindi, qualsiasi estensione resa disponibile
+nell'attuale implementazione lo sarà anche in questo modulo.
+\begin{funcdesc}{crypt}{word, salt}
   \var{word} sarà in genere una password utente digitata al prompt o
   in un'interfaccia grafica. \var{salt} di solito è una stringa
   casuale di due caratteri utilizzata per perturbare l'algoritmo
@@ -55,7 +59,11 @@
   compresi nell'insieme \regexp{[./a-zA-Z0-9]}. Questo metodo restituisce 
   l'hash della password sotto forma di stringa, che sarà composta da caratteri presi
   dallo stesso alfabeto di \var{salt} (i primi due caratteri rappresentano
-  \var{salt} stesso). 
+  \var{salt} stesso).
+
+  Siccome poche estensioni \manpage{crypt}{3}\index{crypt(3)} accettano diversi
+  valori, con differenti grandezze di \var{salt}, quando si verifica una password
+  è consigliato usare come "salt" una password completamente criptata.
 \end{funcdesc}
 
 
@@ -84,7 +92,7 @@
         if cryptedpasswd == 'x' or cryptedpasswd == '*': 
             raise "Spiacente, al momento non è disponibile il supporto per le password shadow"
         cleartext = getpass.getpass()
-        return crypt.crypt(cleartext, cryptedpasswd[:2]) == cryptedpasswd
+        return crypt.crypt(cleartext, cryptedpasswd) == cryptedpasswd
     else:
         return 1
 \end{verbatim}

Modified: python/python/Doc/branches/2.4.3/lib/libcsv.tex
==============================================================================
--- python/python/Doc/branches/2.4.3/lib/libcsv.tex	(original)
+++ python/python/Doc/branches/2.4.3/lib/libcsv.tex	Wed Nov  8 23:43:24 2006
@@ -385,16 +385,25 @@
 
 \begin{verbatim}
 import csv
-reader = csv.reader(file("some.csv", "rb"))
+reader = csv.reader(open("some.csv", "rb"))
 for row in reader:
     print row
 \end{verbatim}
 
+Per stampare solo la prima e l'ultima colonna di ogni riga provare con
+
+\begin{verbatim}
+import csv
+reader = csv.reader(open("some.csv", "rb"))
+for row in reader:
+    print row[0], row[-1]
+\end{verbatim}
+
 Il corrispondente piu' semplice esempio di scrittura csv è
 
 \begin{verbatim}
 import csv
-writer = csv.writer(file("some.csv", "wb"))
+writer = csv.writer(open("some.csv", "wb"))
 for row in someiterable:
     writer.writerow(row)
 \end{verbatim}

Modified: python/python/Doc/branches/2.4.3/lib/libdatetime.tex
==============================================================================
--- python/python/Doc/branches/2.4.3/lib/libdatetime.tex	(original)
+++ python/python/Doc/branches/2.4.3/lib/libdatetime.tex	Wed Nov  8 23:43:24 2006
@@ -466,7 +466,7 @@
 
 \item[(4)]
 In altre parole, \code{date1 < date2} è vera se e solo se è vera
-\code{\var{date1}.toordinal() < \var{date2}.toordinal()}.  Per
+\code{\var{date1}.toordinal() < \var{date2}.toordinal()}. Per
 impedire che il confronto ricada nel caso predefinito del confronto
 tra gli indirizzi degli oggetti, il confronto fra oggetti di tipo
 \class{date} solitamente solleva l'eccezione \exception{TypeError} se
@@ -524,7 +524,7 @@
   applica, tranne che per quei membri per cui vengono specificati
   nuovi valori attraverso gli argomenti specificati.  Ad esempio, se 
   \code{d == date(2002, 12, 31)}, allora 
-  \code{d.replace(day=26)} corrisponde a \code{date(2000, 12, 26)}.
+  \code{d.replace(day=26)} corrisponde a \code{date(2002, 12, 26)}.
 \end{methoddesc}
 
 \begin{methoddesc}{timetuple}{}
@@ -533,8 +533,8 @@
   secondi vengono posti a zero e l'opzione DST è -1.
   \code{\var{d}.timetuple()} è equivalente a 
   \code{time.struct_time((\var{d}.year, \var{d}.month, \var{d}.day,
-             0, 0, 0, 
-             \var{d}.weekday(), 
+             0, 0, 0,
+             \var{d}.weekday(),
              \var{d}.toordinal() - date(\var{d}.year, 1, 1).toordinal() + 1,
             -1))}
 \end{methoddesc}
@@ -596,7 +596,7 @@
   settimana dell'anno ISO 2004 comincia di Lunedì 29 Dicembre 2003 e 
   termina con Domenica, 4 Gennaio 2004, e quindi l'espressione 
   \code{date(2003, 12, 29).isocalendar()} corrisponde a 
-  \code{(2004, 1, 1)}, e l'espressione 
+  \code{(2004, 1, 1)}, e l'espressione
   \code{date(2004, 1, 4).isocalendar()} corrisponde a 
   \code{(2004, 1, 7)}. 
 \end{methoddesc}
@@ -850,7 +850,7 @@
   \lineii{\var{timedelta} = \var{datetime1} - \var{datetime2}}{(3)}
 
   \lineii{\var{datetime1} < \var{datetime2}}
-   {Confronta due oggetti \class{datetime}. 
+   {Confronta due oggetti \class{datetime}.
     (4)}
 
 \end{tableii}
@@ -924,7 +924,7 @@
 %[- MARK -]      comparands are aware, and have the same \member{tzinfo} member,
 %[- MARK -]      the common \member{tzinfo} member is ignored and the base datetimes
 %[- MARK -] END DIFF
-    lo precede nel tempo.  
+    lo precede nel tempo.
     
     Se un termine di paragone è un oggetto "semplice" e l'altro un
     oggetto "complesso", viene sollevata un'eccezione 

Modified: python/python/Doc/branches/2.4.3/lib/libdis.tex
==============================================================================
--- python/python/Doc/branches/2.4.3/lib/libdis.tex	(original)
+++ python/python/Doc/branches/2.4.3/lib/libdis.tex	Wed Nov  8 23:43:24 2006
@@ -145,6 +145,10 @@
 %[- MARK -] END DIFF
 \end{opcodedesc}
 
+\begin{opcodedesc}{NOP}{}
+Non esegue codice. Usato come segnaposto dall'ottimizzatore del bytecode.
+\end{opcodedesc}
+
 \begin{opcodedesc}{POP_TOP}{}
 Rimuove l'oggetto in cima alla pila (NdT: TOS, in Inglese:
 top-of-stack). 
@@ -438,6 +442,10 @@
 %[- MARK -] END DIFF
 \end{opcodedesc}
 
+\begin{opcodedesc}{LIST_APPEND}{}
+Chiama \code{list.append(TOS1, TOS)}. Usato per implementare le descrizioni di lista.
+\end{opcodedesc}
+
 \begin{opcodedesc}{LOAD_LOCALS}{}
 Mette un riferimento alle variabili locali dello spazio di visibilità 
 (NdT: scope) corrente sulla pila.  Questo viene usato nel codice per una


Maggiori informazioni sulla lista Commits