Talk:Activities/Turtle Art/Patching

From Sugar Labs
Jump to navigation Jump to search

Bill Kerr's questions (and some answers)

  • Where do you find things (Python files, source code)?
The source code for Sugar Activities are found in /home/olpc/Activities. Each Activity is in a subdirectory, e.g., /home/olpc/Activities/TurtleArt.activity. The source code (Python files) are in these subdirectories.
  • Which things do what? How does Walter know which Python files have to be tweaked?
I started reading through the code, looking for sections that were relevant to problem I was trying to solve. For example, since I was adding a new math function, I looked in the code for where the other math functions were defined. I found the code for "+", "-", "*", "/", "random", etc. in and I found code for generating blocks in It was an iterative process. I proceeded by trial and error and made lots of mistakes along the way. In the process, I learned a lot about the overall structure of the code.
A debugging tip: print statements put into the code are logged; use the Log Activity to view them.
  • Who do you communicate with? (I didn't know that Brian Silverman was the maintainer and didn't know his email)
Many Activities has an Authors file. Most Activities have additional author information on their respective wiki pages, e.g., [1]. Most Activities have a maintainer in the trac system [2]. TurtleArt tickets are "Owned by: bss".
  • How do you program more advanced stuff in Python, eg. using lambda?
There are a number of freely available guides to programming in Python, including:
  • The Byte of Python (
  • How to Think Like a Computer Scientist: Learning with Python, 2nd edition (
  • Python for Fun (
  • Python Bibliotheca (
  • Dive into Python (
  • What is FOSS etiquette, how do you go about learning to be a member of this community?
Start by asking questions... welcome to the community!

--Walter 13:13, 27 September 2008 (UTC)

erikos comments

  • I made an .xo bundle so I could let other people easily install and test my changes
    • Maybe good to use here ./ dist_xo instead of the zip command
  • Further instructions on how to get the new Turtle Art into the release system (so it is part of the standard Sugar distribution) are found here: ReleaseTeam#New_modules_proposal Specifically, I need to generate a .xo and a distribution source:
    • This process is only meant for requesting inclusion of new activities that are not yet part of the release sucrose cycle. For the releases of the other modules the maintainers of the activity are responsible. Since this article is about patching turtle art and possibly releasing the activity containing the fix by the maintainer, this could be misleading.