Allegato "fix_apt.py"
Scarica 1 from re import findall, MULTILINE
2
3 full_path = '/srv/wiki.ubuntu-it.org/www/data/pages/'
4
5 pages = [
6 'ARM(2f)RootfsDaZero',
7 'AmbienteGrafico(2f)Gnome(2f)AvantWindowNavigator',
8 'AmbienteGrafico(2f)Gnome(2f)CairoDock',
9 'AmbienteGrafico(2f)Gnome(2f)CambiareTema',
10 'AmbienteGrafico(2f)Gnome(2f)GnomeDo',
11 'AmbienteGrafico(2f)Gnome(2f)Installazione',
12 'AmbienteGrafico(2f)Kde(2f)InstallazioneKde3',
13 'AmbienteGrafico(2f)Kde(2f)InstallazioneKde4',
14 'AmbienteGrafico(2f)Kde(2f)SuperKaramba',
15 'AmbienteGrafico(2f)Lxde(2f)Bootsplash',
16 'AmbienteGrafico(2f)Lxde(2f)Installazione',
17 'AmbienteGrafico(2f)Lxde(2f)Lxlauncher',
18 'AmbienteGrafico(2f)Lxde(2f)Menu',
19 'AmbienteGrafico(2f)Lxde(2f)MyDocuments',
20 'AmbienteGrafico(2f)Xfce(2f)AzioniThunar',
21 'AmbienteGrafico(2f)Xfce(2f)Installazione',
22 'AmministrazioneSistema(2f)Alien',
23 'AmministrazioneSistema(2f)AptProxy',
24 'AmministrazioneSistema(2f)BackupDelSistema(2f)Amanda',
25 'AmministrazioneSistema(2f)BackupDelSistema(2f)BackInTime',
26 'AmministrazioneSistema(2f)BackupDelSistema(2f)BackupConDar',
27 'AmministrazioneSistema(2f)BackupDelSistema(2f)Duplicity',
28 'AmministrazioneSistema(2f)BackupDelSistema(2f)Grsync',
29 'AmministrazioneSistema(2f)BackupDelSistema(2f)Remastersys',
30 'AmministrazioneSistema(2f)BackupDelSistema(2f)Rsnapshot',
31 'AmministrazioneSistema(2f)BackupDelSistema(2f)Rsync',
32 'AmministrazioneSistema(2f)BackupDelSistema(2f)Sbackup',
33 'AmministrazioneSistema(2f)BackupDelSistema(2f)UbuntuCustomizationKit',
34 'AmministrazioneSistema(2f)Bootchart',
35 'AmministrazioneSistema(2f)CompilazioneKernel',
36 'AmministrazioneSistema(2f)Grub(2f)InstallazioneAggiornamento',
37 'AmministrazioneSistema(2f)InstallareProgrammi(2f)DaSorgenti',
38 'AmministrazioneSistema(2f)PulireUbuntu',
39 'AmministrazioneSistema(2f)RecuperoDati(2f)Estrazione',
40 'AmministrazioneSistema(2f)RecuperoDati(2f)Immagini',
41 'AmministrazioneSistema(2f)RecuperoDati(2f)Partizioni',
42 'AmministrazioneSistema(2f)UbuntuItaliano',
43 'AmministrazioneSistema(2f)UbuntuItaliano(2f)ElencoPacchetti',
44 'AmministrazioneSistema(2f)VelocizzareBoot',
45 'Architettura64Bit(2f)DomandeFrequenti',
46 'Cestino(2f)Brasero',
47 'Cestino(2f)HardwareVideoViaBetaUnified2',
48 'Cestino(2f)IntelJaunty',
49 'Cestino(2f)MultimediaAudioExaile',
50 'Cestino(2f)TuxGuitar',
51 'Cestino(2f)UnifiedStabile',
52 'Cestino(2f)VideoNvidiaDriverLegacy',
53 'CristianCozzolino(2f)Prove0',
54 'CristianCozzolino(2f)Prove2',
55 'Enigmail',
56 'FabioMarconi(2f)Prove21',
57 'FabioMarconi(2f)Prove31',
58 'FabioMarconi(2f)Prove32',
59 'FabioMarconi(2f)prove',
60 'FabioMarconi(2f)prove2',
61 'FioDos(2f)prove02',
62 'FrancescoFerraro(2f)Prove0',
63 'FrancescoMuriana(2f)Prove0',
64 'FrancescoMuriana(2f)Prove1',
65 'GPGKeyOnUSBDrive',
66 'Giochi(2f)Cave9',
67 'Giochi(2f)CrrcSim',
68 'Giochi(2f)Dolphin',
69 'Giochi(2f)DosBox',
70 'Giochi(2f)Dosemu',
71 'Giochi(2f)Eduke32',
72 'Giochi(2f)Irrlamb',
73 'Giochi(2f)Mednafen',
74 'Giochi(2f)Memonix',
75 'Giochi(2f)Mupen64Plus',
76 'Giochi(2f)OpenTyrian',
77 'Giochi(2f)Quadnut',
78 'Giochi(2f)ScummVm',
79 'Giochi(2f)TkHangman',
80 'Giochi(2f)TransitExecutive',
81 'Giochi(2f)UnrealTournament2004',
82 'Giochi(2f)VbaExpress',
83 'Giochi(2f)Vdrift',
84 'Giochi(2f)Xbomber',
85 'Giochi(2f)Zsnes',
86 'GiuseppeTerrasi(2f)Prove04',
87 'GiuseppeTerrasi(2f)Prove08',
88 'GiuseppeTerrasi(2f)Prove09',
89 'GiuseppeTerrasi(2f)Prove10',
90 'GiuseppeTerrasi(2f)Prove118',
91 'GiuseppeTerrasi(2f)Prove36',
92 'Grafica(2f)Blender',
93 'Grafica(2f)ConvertireJpgInPdf',
94 'Grafica(2f)Gimp',
95 'Grafica(2f)Ocr',
96 'GruppoPromozione(2f)ProgettoRelatori(2f)Linuxday2009',
97 'Hardware(2f)Audio(2f)MidisportUsb',
98 'Hardware(2f)DispositiviPartizioni(2f)BugPosizionamentoTestina',
99 'Hardware(2f)DispositiviPartizioni(2f)FakeRaid',
100 'Hardware(2f)DispositiviPartizioni(2f)MontarePartizioni(2f)Ntfs',
101 'Hardware(2f)DispositiviPartizioni(2f)MontareTelefonoCellulare',
102 'Hardware(2f)DispositiviPartizioni(2f)PartizionamentoManuale',
103 'Hardware(2f)DispositiviPartizioni(2f)RinominareDispositiviEsterni',
104 'Hardware(2f)DispositiviPortatili(2f)CellulareSonyEricsson',
105 'Hardware(2f)DispositiviPortatili(2f)GarminGpsMap76CSx',
106 'Hardware(2f)DispositiviPortatili(2f)SamsungYpT9',
107 'Hardware(2f)DispositiviPortatili(2f)WindowsMobile',
108 'Hardware(2f)DispositiviSenzaFili(2f)GPS',
109 'Hardware(2f)DispositiviSenzaFili(2f)GPSGarmic',
110 'Hardware(2f)DispositiviSenzaFili(2f)Infrarosso',
111 'Hardware(2f)DispositiviSenzaFili(2f)Navit',
112 'Hardware(2f)DispositiviSenzaFili(2f)USBModeSwitch',
113 'Hardware(2f)Modem(2f)Wader',
114 'Hardware(2f)Notebook(2f)CompaqPresarioC765EL',
115 'Hardware(2f)Notebook(2f)NetbookRemix',
116 'Hardware(2f)Periferiche(2f)IdentificarePeriferiche',
117 'Hardware(2f)Periferiche(2f)MouseBluetooth',
118 'Hardware(2f)SchedeTv(2f)AVermediaa309',
119 'Hardware(2f)SchedeTv(2f)MsiSatellitePro',
120 'Hardware(2f)StampantiScanner(2f)BrotherDcp115c',
121 'Hardware(2f)StampantiScanner(2f)BrotherDcp130c',
122 'Hardware(2f)StampantiScanner(2f)BrotherDcp135c',
123 'Hardware(2f)StampantiScanner(2f)BrotherMfc235c',
124 'Hardware(2f)StampantiScanner(2f)BrotherMultifunzione',
125 'Hardware(2f)StampantiScanner(2f)CanonMp150',
126 'Hardware(2f)StampantiScanner(2f)CanonPixmaIP1600',
127 'Hardware(2f)StampantiScanner(2f)EpsonMulti',
128 'Hardware(2f)StampantiScanner(2f)EpsonRx420',
129 'Hardware(2f)StampantiScanner(2f)EpsonTools',
130 'Hardware(2f)StampantiScanner(2f)Hp',
131 'Hardware(2f)StampantiScanner(2f)LexmarkX1250',
132 'Hardware(2f)StampantiScanner(2f)SamsungClp',
133 'Hardware(2f)StampantiScanner(2f)ScannerEpson',
134 'Hardware(2f)StampantiScanner(2f)ScannerPlustek',
135 'Hardware(2f)StampantiScanner(2f)StampanteGnome',
136 'Hardware(2f)StampantiScanner(2f)StrumentiStampanti',
137 'Hardware(2f)StampantiScanner(2f)TurboPrint',
138 'Hardware(2f)UbuntuLtsp(2f)RisoluzioneProblemi',
139 'Hardware(2f)Video(2f)Ati(2f)Catalyst(2f)RisoluzioneProblemi',
140 'Hardware(2f)Video(2f)Ati(2f)Radeon',
141 'Hardware(2f)Video(2f)Ati(2f)RadeonHd',
142 'Hardware(2f)Video(2f)Broadcom',
143 'Hardware(2f)Video(2f)DomandeFrequenti',
144 'Hardware(2f)Video(2f)Intel(2f)Poulsbo',
145 'Hardware(2f)Video(2f)Nvidia(2f)ModuleAssistant',
146 'Hardware(2f)Video(2f)SisXgiVolari',
147 'Hardware(2f)Video(2f)Via(2f)BetaUnified',
148 'Hardware(2f)Video(2f)Via(2f)OpenChrome',
149 'Hardware(2f)Webcam(2f)DriverGspcaV4L2',
150 'Hardware(2f)Webcam(2f)DriverUvc',
151 'Hardware(2f)Webcam(2f)SonyEyeToy',
152 'Installazione(2f)AggiornamentoLucid',
153 'Installazione(2f)AggiornamentoMaverick',
154 'Installazione(2f)DaImg',
155 'Installazione(2f)DaRete',
156 'InterGruppi(2f)NuoviRilasci',
157 'InternetRete(2f)Condivisione(2f)Amule',
158 'InternetRete(2f)Condivisione(2f)Dc(2b2b)',
159 'InternetRete(2f)Condivisione(2f)MlDonkey',
160 'InternetRete(2f)Condivisione(2f)TorrentFlux',
161 'InternetRete(2f)ConfigurazioneRete(2f)Gw6c',
162 'InternetRete(2f)ConfigurazioneRete(2f)NetworkManager(2f)VPN',
163 'InternetRete(2f)ConfigurazioneRete(2f)Vnc(2f)VncReverse',
164 'InternetRete(2f)ConfigurazioneRete(2f)Wicd',
165 'InternetRete(2f)ConfigurazioneRete(2f)Wvdial',
166 'InternetRete(2f)Flash',
167 'InternetRete(2f)Flash(2f)Architettura64Bit',
168 'InternetRete(2f)Messaggistica(2f)Amsn',
169 'InternetRete(2f)Messaggistica(2f)Emesene',
170 'InternetRete(2f)Messaggistica(2f)Evolution(2f)Libero',
171 'InternetRete(2f)Messaggistica(2f)Irssi',
172 'InternetRete(2f)Messaggistica(2f)Pidgin',
173 'InternetRete(2f)Messaggistica(2f)Pidgin(2f)NickColorati',
174 'InternetRete(2f)Messaggistica(2f)Thunderbird',
175 'InternetRete(2f)Messaggistica(2f)Xchat',
176 'InternetRete(2f)Moonlight',
177 'InternetRete(2f)Navigazione(2f)Firefox(2f)MenuUbuntuIt',
178 'InternetRete(2f)Navigazione(2f)Firefox(2f)VisualizzarePdf',
179 'InternetRete(2f)Navigazione(2f)GoogleEarth',
180 'InternetRete(2f)Navigazione(2f)IceCat',
181 'InternetRete(2f)Navigazione(2f)RicercaAutomatizzata',
182 'InternetRete(2f)Telefonia(2f)MoioSms',
183 'InternetRete(2f)Telefonia(2f)Skype',
184 'LeandroPestoni(2f)Prove2',
185 'LeoIannacone(2f)Prove100',
186 'LorenzoZoffoli(2f)Prove1',
187 'LucaGambardella(2f)Prove1',
188 'MarcoRofei(2f)Prova1',
189 'MarcoTacchini(2f)Prove2',
190 'MatteoLazzari(2f)Prove15',
191 'MatteoLazzari(2f)Prove6',
192 'MattiaImpellizzeri(2f)Prove1',
193 'MauroDelloro(2f)Prove0',
194 'ModemSeriale',
195 'Multimedia(2f)Audio(2f)Ardour',
196 'Multimedia(2f)Audio(2f)Audacity',
197 'Multimedia(2f)Audio(2f)Audacity(2f)CreareSuoneriaCellulare',
198 'Multimedia(2f)Audio(2f)Banshee',
199 'Multimedia(2f)Audio(2f)Jack',
200 'Multimedia(2f)Audio(2f)LilyPond',
201 'Multimedia(2f)Audio(2f)Listen',
202 'Multimedia(2f)Audio(2f)MidiUbuntu',
203 'Multimedia(2f)Audio(2f)Mpd',
204 'Multimedia(2f)Audio(2f)Rosegarden',
205 'Multimedia(2f)Audio(2f)SoundJuicer',
206 'Multimedia(2f)FormatiProprietari',
207 'Multimedia(2f)FormatiProprietari(2f)BluRayHdDvd',
208 'Multimedia(2f)Masterizzazione(2f)BluRayDisc',
209 'Multimedia(2f)Masterizzazione(2f)DvdShrink',
210 'Multimedia(2f)Masterizzazione(2f)K3b',
211 'Multimedia(2f)Masterizzazione(2f)K9Copy',
212 'Multimedia(2f)Masterizzazione(2f)LightScribe',
213 'Multimedia(2f)Streaming(2f)Gsopcast',
214 'Multimedia(2f)Streaming(2f)Streamtuner',
215 'Multimedia(2f)UbuntuStudio',
216 'Multimedia(2f)Video(2f)Arista',
217 'Multimedia(2f)Video(2f)CinelerraVideoEditor',
218 'Multimedia(2f)Video(2f)Moovida',
219 'Multimedia(2f)Video(2f)Mplayer',
220 'Multimedia(2f)Video(2f)RealPlayer',
221 'Multimedia(2f)Video(2f)RecordMyDesktop',
222 'Multimedia(2f)Video(2f)Totem',
223 'Multimedia(2f)Video(2f)Vlc',
224 'Multimedia(2f)Video(2f)XboxMediaCenter',
225 'NewsletterItaliana(2f)2010(2e)004',
226 'NewsletterItaliana(2f)2010(2e)006',
227 'NewsletterItaliana(2f)2010(2e)008',
228 'NewsletterItaliana(2f)2010(2e)011',
229 'NewsletterItaliana(2f)2010(2e)012',
230 'NewsletterItaliana(2f)2010(2e)014',
231 'NewsletterItaliana(2f)2010(2e)016',
232 'NewsletterItaliana(2f)2010(2e)019',
233 'NewsletterItaliana(2f)2010(2e)021',
234 'NewsletterItaliana(2f)2010(2e)022',
235 'NewsletterItaliana(2f)2010(2e)024',
236 'PaoloRotolo(2f)Prove05',
237 'PowerPCFAQ',
238 'PrimaryDomainController',
239 'ProblemiAudio',
240 'Programmazione(2f)Chroot',
241 'Programmazione(2f)Gambas',
242 'Programmazione(2f)Geany',
243 'Programmazione(2f)GeoGebra',
244 'Programmazione(2f)Java',
245 'Programmazione(2f)Java(2f)Avanzate',
246 'Programmazione(2f)Python',
247 'Programmazione(2f)RootCern',
248 'Programmazione(2f)Ruby',
249 'Radioamatori(2f)Beacon',
250 'Radioamatori(2f)CalcoloShackRadio',
251 'Radioamatori(2f)Faxradio',
252 'Radioamatori(2f)Logbook',
253 'Radioamatori(2f)Misto',
254 'Radioamatori(2f)QRSS',
255 'Radioamatori(2f)Satelliti',
256 'Radioamatori(2f)Telegrafia',
257 'Radioamatori(2f)Telescrivente',
258 'RiccardoDeVitis(2f)Prove2',
259 'Server(2f)DansGuardian',
260 'Server(2f)DnsDinamico',
261 'Server(2f)SincronizzazioneTempoNtp',
262 'Server(2f)Webmin',
263 'ServerMail',
264 'Sicurezza(2f)Clamav',
265 'Sicurezza(2f)Cryptkeeper',
266 'Sicurezza(2f)Firestarter',
267 'Sicurezza(2f)GestionePassword(2f)Robuste',
268 'Sicurezza(2f)GnuPg',
269 'Sicurezza(2f)Gufw',
270 'Sicurezza(2f)PamUsb',
271 'Sicurezza(2f)TrueCrypt',
272 'SmsNokiaAndroid',
273 'Ufficio(2f)AdobeReader',
274 'Ufficio(2f)Alexandria',
275 'Ufficio(2f)DidiWiki',
276 'Ufficio(2f)GnuCash',
277 'Ufficio(2f)LibreOffice',
278 'Ufficio(2f)MoinMoinDesktopEdition',
279 'Ufficio(2f)OpenOffice(2e)org',
280 'Ufficio(2f)OpenOffice(2e)org(2f)Italiano',
281 'Ufficio(2f)Osmo',
282 'Ufficio(2f)Pdftk',
283 'Ufficio(2f)SugarCrm',
284 'VeonIlongamor(2f)Prove0',
285 'Virtualizzazione(2f)Kvm(2f)CreazioneOspiti',
286 'Virtualizzazione(2f)Kvm(2f)DomandeFrequenti',
287 'Virtualizzazione(2f)Kvm(2f)GestioneDiretta',
288 'Virtualizzazione(2f)Kvm(2f)Installazione',
289 'Virtualizzazione(2f)Kvm(2f)Networking',
290 'Virtualizzazione(2f)OpenMoko',
291 'Virtualizzazione(2f)PlayOnLinux',
292 'Virtualizzazione(2f)Qemu',
293 'Virtualizzazione(2f)VirtualBox(2f)Installazione',
294 'Virtualizzazione(2f)VmwareServer',
295 'Virtualizzazione(2f)Wine',
296 'Xen',
297 'guida(2d)montaggio(2d)cellulari'
298 ]
299
300 # Funzione che trasforma la sintassi
301 def fix_apt_url_in_page(page, old_str):
302 packages = old_str.split(' ')[0]
303 label = old_str.replace(packages + ' ', '')
304
305 old_apt = '[apt://' + old_str + ']'
306 new_apt = '[[apt://' + packages + ' | ' + label + ']]'
307
308 return page.replace(old_apt, new_apt)
309
310
311
312 # Funzione principale
313 def fix_page (page_name):
314 # revisione attuale della pagina
315 current = open(page_name + '/current', 'r').read()
316 if not current:
317 current = '00000001' # il file non ha revisioni passate
318 else:
319 current = current.replace('\n','')
320
321 # pagina effettiva da modificare
322 page_path = page_name + '/revisions/' + current
323 page = open(page_path, 'r').read()
324
325 all_apt = findall('\[apt://(.*?)\]', page)
326
327 for apt_url in all_apt:
328 page = fix_apt_url_in_page(page, apt_url)
329
330 open(page_path, 'w').write(page)
331 print ("Ok: %s" % page_name)
332
333
334 # main
335 for p in pages:
336 fix_page(full_path + p)
Allegati
Per riferirsi agli allegati di una pagina, usare attachment:NOME_FILE, come mostrato qui sotto nell'elenco degli allegati. NON usare l'URL che si trova in corrispondenza del collegamento [scarica], potrebbe cambiare in futuro.Non รจ consentito inserire allegati su questa pagina.