Arquivo anexado 'Main.py'
Download 1 from WebKit.Page import Page
2
3 class Main(Page):
4 def writeContent(self, msg=''):
5 fruits = self.session().value('fruits', [])
6
7 self.writeln('<h1>Cesta de Frutas</h1>')
8
9 if fruits:
10 self.writeln('Disponível na cesta:<ul>')
11 for fruit in fruits:
12 self.writeln('<li>' + fruit)
13 self.writeln('</ul>')
14
15 self.writeln('''
16 <form action="Main" method="POST">
17 <table>
18 <tr>
19 <td><input type="submit" name="_action_add" value="Adicionar">
20 <td><input type="text" name="new_fruit">
21 <tr>
22 <td><input type="submit" name="_action_remove" value="Remover">
23 <td><input type="text" name="remove_fruit">
24 <tr>
25 <td><input type="submit" name="_action_clear" value="Limpar"
26 <td>
27 </table>
28 </form>
29 ''')
30
31 if msg:
32 self.writeln('<small>Resultado da última operação: %s</small>'
33 % msg)
34
35 def actions(self):
36 return Page.actions(self) + ['add', 'remove', 'clear']
37
38 def add(self):
39 fruits = self.session().value('fruits', [])
40 new_fruit = self.request().field('new_fruit')
41 if not new_fruit in fruits:
42 fruits.append(new_fruit)
43 self.session().setValue('fruits', fruits)
44 msg = 'Adicionei a fruta na cesta.'
45 else:
46 msg = 'A fruta já está na cesta.'
47 self.writeContent(msg)
48
49 def remove(self):
50 fruits = self.session().value('fruits', [])
51 rm_fruit = self.request().field('remove_fruit')
52 if rm_fruit in fruits:
53 fruits.remove(rm_fruit)
54 self.session().setValue('fruits', fruits)
55 msg = 'A fruta foi removida.'
56 else:
57 msg = 'A fruta não estava na cesta.'
58 self.writeContent(msg)
59
60 def clear(self):
61 if self.session().hasValue('fruits'):
62 self.session().delValue('fruits')
63 self.writeContent('A cesta foi limpa.')
64
Arquivos Anexados
Para se referir aos anexos de uma página, use attachment:filename, como mostrado abaixo na lista de arquivos. NÃO use a URL do link [get], já que a mesma está sujeita a alterações, e pode facilmente se tonar inválida.Você não tem permissão para anexar arquivos a esta página.