Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@sugarlabs.org>2013-12-14 00:15:33 (GMT)
committer Walter Bender <walter@sugarlabs.org>2013-12-14 00:15:33 (GMT)
commit9fe7a02b423b78fa900f3aa7b8b5e895b1620e27 (patch)
tree46054919cd376ee9b9ef936f1ebedd8c339b799d
parent0deda2a26b40988a64ca4df44b8f1f4f05a1434f (diff)
adding tutorials (Jorge Alberto Gómez López)
-rw-r--r--NEWS1
-rw-r--r--data/en/tutorials/Tutorial_01_simple_input.py3
-rw-r--r--data/en/tutorials/Tutorial_02_while.py12
-rw-r--r--data/en/tutorials/Tutorial_03_range.py17
-rw-r--r--data/en/tutorials/Tutorial_04_list.py11
-rw-r--r--data/en/tutorials/Tutorial_05_dictionaries.py13
-rw-r--r--data/en/tutorials/Tutorial_06_try_except.py9
-rw-r--r--data/en/tutorials/Tutorial_07_gtk_basic_form.py13
-rw-r--r--data/en/tutorials/Tutorial_08_gtk_button_form.py22
-rw-r--r--data/en/tutorials/Tutorial_09_gtk_entry.py19
-rw-r--r--data/en/tutorials/Tutorial_10_gtk_dialog_button.py29
-rw-r--r--data/es/tutorials/Tutorial_01_entrada_simple.py3
-rw-r--r--data/es/tutorials/Tutorial_02_while.py12
-rw-r--r--data/es/tutorials/Tutorial_03_rango.py17
-rw-r--r--data/es/tutorials/Tutorial_04_lista.py11
-rw-r--r--data/es/tutorials/Tutorial_05_diccionarios.py13
-rw-r--r--data/es/tutorials/Tutorial_06_try_except.py9
-rw-r--r--data/es/tutorials/Tutorial_07_gtk_ventana_basica.py13
-rw-r--r--data/es/tutorials/Tutorial_08_gtk_ventana_boton.py22
-rw-r--r--data/es/tutorials/Tutorial_09_gtk_caja_de_texto.py19
-rw-r--r--data/es/tutorials/Tutorial_10_gtk_mensaje_boton.py29
-rw-r--r--pippy_app.py4
22 files changed, 299 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 9b690fd..b23acd3 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,7 @@ ENHANCEMENTS:
* Use open palette instead of treeview (Ignacio Rodriguez)
* Show/Hide terminal widget (svineet)
* Added new examples (math/pi, math/stern-brocot)
+* Added i18n support for examples (Jorge Alberto Gómez López)
BUG FIXES:
* Reenable copy/paste (Ignacio Rodriguez)
diff --git a/data/en/tutorials/Tutorial_01_simple_input.py b/data/en/tutorials/Tutorial_01_simple_input.py
new file mode 100644
index 0000000..66d4123
--- /dev/null
+++ b/data/en/tutorials/Tutorial_01_simple_input.py
@@ -0,0 +1,3 @@
+
+name = raw_input('What is your name?\n')
+print 'Hi, %s.' % name
diff --git a/data/en/tutorials/Tutorial_02_while.py b/data/en/tutorials/Tutorial_02_while.py
new file mode 100644
index 0000000..403c563
--- /dev/null
+++ b/data/en/tutorials/Tutorial_02_while.py
@@ -0,0 +1,12 @@
+import time
+
+def while_backward_count(number):
+ while(number > -1):
+ print str(number) + " for the explosion!!!"
+ time.sleep(1)
+ number = number -1
+
+number = input('Enter a number: ')
+print "Let's count backward using a while sentence!!"
+while_backward_count(number)
+print "Kaboooommm!!!, X_X"
diff --git a/data/en/tutorials/Tutorial_03_range.py b/data/en/tutorials/Tutorial_03_range.py
new file mode 100644
index 0000000..f39f0b9
--- /dev/null
+++ b/data/en/tutorials/Tutorial_03_range.py
@@ -0,0 +1,17 @@
+def sum_in_range(num1, num2):
+ total = num1
+ num1 = num1 + 1
+ num2 = num2 + 1
+ for i in range(num1, num2):
+ print str(total) + " + " + str(i) + " = " + str(total+i)
+ total = total + 1
+
+number1 = int(input('Enter first number: '))
+number2 = int(input('Enter second number: '))
+
+if number1 > number2:
+ sum_in_range(number1, number2)
+else:
+ sum_in_range(number2, number1)
+
+
diff --git a/data/en/tutorials/Tutorial_04_list.py b/data/en/tutorials/Tutorial_04_list.py
new file mode 100644
index 0000000..7f88f6e
--- /dev/null
+++ b/data/en/tutorials/Tutorial_04_list.py
@@ -0,0 +1,11 @@
+my_list = []
+
+num = 1
+
+while(num < 5):
+ data = input("Please enter number " + str(num) + ":")
+ my_list.append(int(data))
+ num = num + 1
+
+print "You entered the following numbers:"
+print my_list
diff --git a/data/en/tutorials/Tutorial_05_dictionaries.py b/data/en/tutorials/Tutorial_05_dictionaries.py
new file mode 100644
index 0000000..250297a
--- /dev/null
+++ b/data/en/tutorials/Tutorial_05_dictionaries.py
@@ -0,0 +1,13 @@
+basket = { 'oranges': 12, 'pears': 5, 'apples': 4 }
+
+basket['bananas'] = 5
+
+print basket
+print "There are %d various items in the basket" % len(basket)
+
+print basket['apples']
+basket['apples'] = 8
+print basket['apples']
+
+print basket.get('oranges', 'undefined')
+print basket.get('cherries', 'undefined')
diff --git a/data/en/tutorials/Tutorial_06_try_except.py b/data/en/tutorials/Tutorial_06_try_except.py
new file mode 100644
index 0000000..7e92f1d
--- /dev/null
+++ b/data/en/tutorials/Tutorial_06_try_except.py
@@ -0,0 +1,9 @@
+def is_valid_number(num):
+ try:
+ int(num)
+ print "You wrote a number"
+ except:
+ print "Sorry but, you didn't write a number"
+
+number1 = input("Give me any input and I will tell you if it's a number: ")
+is_valid_number(number1)
diff --git a/data/en/tutorials/Tutorial_07_gtk_basic_form.py b/data/en/tutorials/Tutorial_07_gtk_basic_form.py
new file mode 100644
index 0000000..bcff13c
--- /dev/null
+++ b/data/en/tutorials/Tutorial_07_gtk_basic_form.py
@@ -0,0 +1,13 @@
+from gi.repository import Gtk
+
+class PyApp(Gtk.Window):
+ def __init__(self):
+ super(PyApp, self).__init__()
+ self.set_title("Hello World!!")
+ self.connect("destroy", Gtk.main_quit)
+ self.set_size_request(250, 150)
+ self.set_position(Gtk.WIN_POS_CENTER)
+ self.show()
+
+PyApp()
+Gtk.main()
diff --git a/data/en/tutorials/Tutorial_08_gtk_button_form.py b/data/en/tutorials/Tutorial_08_gtk_button_form.py
new file mode 100644
index 0000000..8a496ae
--- /dev/null
+++ b/data/en/tutorials/Tutorial_08_gtk_button_form.py
@@ -0,0 +1,22 @@
+from gi.repository import Gtk
+
+class PyApp(Gtk.Window):
+ def __init__(self):
+ super(PyApp, self).__init__()
+
+ self.set_title("Button")
+ self.set_size_request(250, 200)
+ self.set_position(Gtk.WIN_POS_CENTER)
+
+ btn1 = Gtk.Button("Button")
+ fixed = Gtk.Fixed()
+ fixed.put(btn1, 20, 30)
+
+ self.connect("destroy", Gtk.main_quit)
+
+ self.add(fixed)
+ self.show_all()
+
+
+PyApp()
+Gtk.main()
diff --git a/data/en/tutorials/Tutorial_09_gtk_entry.py b/data/en/tutorials/Tutorial_09_gtk_entry.py
new file mode 100644
index 0000000..40873bf
--- /dev/null
+++ b/data/en/tutorials/Tutorial_09_gtk_entry.py
@@ -0,0 +1,19 @@
+from gi.repository import Gtk
+
+class PyApp(Gtk.Window):
+ def __init__(self):
+ super(PyApp, self).__init__()
+ self.set_title("Hello World!!")
+ self.connect("destroy", Gtk.main_quit)
+ self.set_size_request(250, 150)
+ self.set_position(Gtk.WIN_POS_CENTER)
+
+ entry = Gtk.Entry()
+ fixed = Gtk.Fixed()
+ fixed.put(entry, 20, 30)
+ self.connect("destroy", Gtk.main_quit)
+ self.add(fixed)
+ self.show()
+
+PyApp()
+Gtk.main()
diff --git a/data/en/tutorials/Tutorial_10_gtk_dialog_button.py b/data/en/tutorials/Tutorial_10_gtk_dialog_button.py
new file mode 100644
index 0000000..6bdd198
--- /dev/null
+++ b/data/en/tutorials/Tutorial_10_gtk_dialog_button.py
@@ -0,0 +1,29 @@
+from gi.repository import Gtk
+
+class PyApp(Gtk.Window):
+ def __init__(self):
+ super(PyApp, self).__init__()
+ self.set_size_request(300, 150)
+ self.set_position(Gtk.WIN_POS_CENTER)
+ self.connect("destroy", Gtk.main_quit)
+ self.set_title("Click button")
+
+
+ button = Gtk.Button("Click me!!!")
+ button.set_size_request(80, 30)
+ button.connect("clicked", self.on_clicked)
+
+ fix = Gtk.Fixed()
+ fix.put(button, 20, 20)
+
+ self.add(fix)
+ self.show_all()
+
+ def on_clicked(self, widget):
+ about = Gtk.AboutDialog()
+ about.set_comments("Hello there!!!")
+ about.run()
+ about.destroy()
+
+PyApp()
+Gtk.main()
diff --git a/data/es/tutorials/Tutorial_01_entrada_simple.py b/data/es/tutorials/Tutorial_01_entrada_simple.py
new file mode 100644
index 0000000..57f00f4
--- /dev/null
+++ b/data/es/tutorials/Tutorial_01_entrada_simple.py
@@ -0,0 +1,3 @@
+
+name = raw_input('¿Cual es tu nombre?\n')
+print 'Hi, %s.' % name
diff --git a/data/es/tutorials/Tutorial_02_while.py b/data/es/tutorials/Tutorial_02_while.py
new file mode 100644
index 0000000..933459e
--- /dev/null
+++ b/data/es/tutorials/Tutorial_02_while.py
@@ -0,0 +1,12 @@
+import time
+
+def while_cuenta_regresiva(numero):
+ while(numero > -1):
+ print str(numero) + " para la explosion!!!"
+ time.sleep(1)
+ numero = numero -1
+
+numero = input('Escribe un numero: ')
+print "Cuenta regresiva usando sentencia while!!"
+while_cuenta_regresiva(numero)
+print "Kaboooommm!!!, X_X"
diff --git a/data/es/tutorials/Tutorial_03_rango.py b/data/es/tutorials/Tutorial_03_rango.py
new file mode 100644
index 0000000..a2935f9
--- /dev/null
+++ b/data/es/tutorials/Tutorial_03_rango.py
@@ -0,0 +1,17 @@
+def suma_en_rango(num1, num2):
+ total = num1
+ num1 = num1 + 1
+ num2 = num2 + 1
+ for i in range(num1, num2):
+ print str(total) + " + " + str(i) + " = " + str(total+i)
+ total = total + 1
+
+numero1 = int(input('Escribe primer numero: '))
+numero2 = int(input('Escribe segundo numero: '))
+
+if numero1 > numero2:
+ suma_en_rango(numero1, numero2)
+else:
+ suma_en_rango(numero2, numero1)
+
+
diff --git a/data/es/tutorials/Tutorial_04_lista.py b/data/es/tutorials/Tutorial_04_lista.py
new file mode 100644
index 0000000..5a653e9
--- /dev/null
+++ b/data/es/tutorials/Tutorial_04_lista.py
@@ -0,0 +1,11 @@
+mi_lista = []
+
+num = 1
+
+while(num < 5):
+ data = input("Porfavor escriba el numero " + str(num) + ":")
+ mi_lista.append(int(data))
+ num = num + 1
+
+print "Tu escribiste los siguientes numeros:"
+print mi_lista
diff --git a/data/es/tutorials/Tutorial_05_diccionarios.py b/data/es/tutorials/Tutorial_05_diccionarios.py
new file mode 100644
index 0000000..56bcc99
--- /dev/null
+++ b/data/es/tutorials/Tutorial_05_diccionarios.py
@@ -0,0 +1,13 @@
+canasta = { 'naranjas': 12, 'peras': 5, 'manzanas': 4 }
+
+canasta['bananas'] = 5
+
+print canasta
+print "Hay %d tipos de fruta en la canasta" % len(canasta)
+
+print canasta['manzanas']
+canasta['manzanas'] = 8
+print canasta['manzanas']
+
+print canasta.get('naranjas', 'undefined')
+print canasta.get('cerezas', 'undefined')
diff --git a/data/es/tutorials/Tutorial_06_try_except.py b/data/es/tutorials/Tutorial_06_try_except.py
new file mode 100644
index 0000000..99e9272
--- /dev/null
+++ b/data/es/tutorials/Tutorial_06_try_except.py
@@ -0,0 +1,9 @@
+def es_numero_valido(num):
+ try:
+ int(num)
+ print "Escribio un numero"
+ except:
+ print "Lo siento, no escribiste un numero"
+
+number1 = input("Escriba y le dire si es un numero: ")
+es_numero_valido(number1)
diff --git a/data/es/tutorials/Tutorial_07_gtk_ventana_basica.py b/data/es/tutorials/Tutorial_07_gtk_ventana_basica.py
new file mode 100644
index 0000000..1d8ebfe
--- /dev/null
+++ b/data/es/tutorials/Tutorial_07_gtk_ventana_basica.py
@@ -0,0 +1,13 @@
+from gi.repository import Gtk
+
+class PyApp(Gtk.Window):
+ def __init__(self):
+ super(PyApp, self).__init__()
+ self.set_title("Hola mundo!!")
+ self.connect("destroy", Gtk.main_quit)
+ self.set_size_request(250, 150)
+ self.set_position(Gtk.WIN_POS_CENTER)
+ self.show()
+
+PyApp()
+Gtk.main()
diff --git a/data/es/tutorials/Tutorial_08_gtk_ventana_boton.py b/data/es/tutorials/Tutorial_08_gtk_ventana_boton.py
new file mode 100644
index 0000000..8579ad8
--- /dev/null
+++ b/data/es/tutorials/Tutorial_08_gtk_ventana_boton.py
@@ -0,0 +1,22 @@
+from gi.repository import Gtk
+
+class PyApp(Gtk.Window):
+ def __init__(self):
+ super(PyApp, self).__init__()
+
+ self.set_title("Boton")
+ self.set_size_request(250, 200)
+ self.set_position(Gtk.WIN_POS_CENTER)
+
+ btn1 = Gtk.Button("Boton")
+ fixed = Gtk.Fixed()
+ fixed.put(btn1, 20, 30)
+
+ self.connect("destroy", Gtk.main_quit)
+
+ self.add(fixed)
+ self.show_all()
+
+
+PyApp()
+Gtk.main()
diff --git a/data/es/tutorials/Tutorial_09_gtk_caja_de_texto.py b/data/es/tutorials/Tutorial_09_gtk_caja_de_texto.py
new file mode 100644
index 0000000..caad2fa
--- /dev/null
+++ b/data/es/tutorials/Tutorial_09_gtk_caja_de_texto.py
@@ -0,0 +1,19 @@
+from gi.repository import Gtk
+
+class PyApp(Gtk.Window):
+ def __init__(self):
+ super(PyApp, self).__init__()
+ self.set_title("Hola mundo!!")
+ self.connect("destroy", Gtk.main_quit)
+ self.set_size_request(250, 150)
+ self.set_position(Gtk.WIN_POS_CENTER)
+
+ entry = Gtk.Entry()
+ fixed = Gtk.Fixed()
+ fixed.put(entry, 20, 30)
+ self.connect("destroy", Gtk.main_quit)
+ self.add(fixed)
+ self.show()
+
+PyApp()
+Gtk.main()
diff --git a/data/es/tutorials/Tutorial_10_gtk_mensaje_boton.py b/data/es/tutorials/Tutorial_10_gtk_mensaje_boton.py
new file mode 100644
index 0000000..47af76b
--- /dev/null
+++ b/data/es/tutorials/Tutorial_10_gtk_mensaje_boton.py
@@ -0,0 +1,29 @@
+from gi.repository import Gtk
+
+class PyApp(Gtk.Window):
+ def __init__(self):
+ super(PyApp, self).__init__()
+ self.set_size_request(300, 150)
+ self.set_position(Gtk.WIN_POS_CENTER)
+ self.connect("destroy", Gtk.main_quit)
+ self.set_title("Haz clic en el boton")
+
+
+ button = Gtk.Button("Haz clic!!!")
+ button.set_size_request(80, 30)
+ button.connect("clicked", self.on_clicked)
+
+ fix = Gtk.Fixed()
+ fix.put(button, 20, 20)
+
+ self.add(fix)
+ self.show_all()
+
+ def on_clicked(self, widget):
+ about = Gtk.AboutDialog()
+ about.set_comments("Hola!!!")
+ about.run()
+ about.destroy()
+
+PyApp()
+Gtk.main()
diff --git a/pippy_app.py b/pippy_app.py
index fc192ea..3205c54 100644
--- a/pippy_app.py
+++ b/pippy_app.py
@@ -61,8 +61,8 @@ text_buffer = None
PYTHON_PREFIX = """#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
-default_categoties = [_('Graphics'), _('Math'), _('Pyhton'), _('Sound'),
- _('String')]
+default_categoties = [_('graphics'), _('math'), _('pyhton'), _('sound'),
+ _('string'), _('tutorials')]
from sugar3.graphics.toolbarbox import ToolbarButton
from sugar3.graphics.toolbutton import ToolButton