Activity co-op

From OLPC
Revision as of 03:00, 18 July 2008 by 18.85.47.59 (talk)
Jump to navigation Jump to search

Developers -- When you use an activity and there's something you don't like... what do you do?

  1. Ignore it
  2. Tell the activity's dev about it
  3. File a proper bug report for it
  4. Fix it locally
  5. Make a patch for it
  6. git push

The activity co-op is for developers who, when they find something they don't like about their own system, want to immediately fix and upstream their changes.

Step 1 - installing activities

vi siminput
# i (insert mode)
# paste:
# FORMAT:
# 1. git clone command
# 2. activity/../ directory
# 3. activity/activity.info name = ______

git clone git://dev.laptop.org/projects/terminal-activity
terminal-activity
git clone git://dev.laptop.org/activities/x2o
x2o
git clone git://dev.laptop.org/users/dsd/tamtam
tamtam
git clone git://dev.laptop.org/activities/xomail
xomail
git clone git://dev.laptop.org/activities/model
model
git clone git://dev.laptop.org/activities/physics
physics
git clone git://dev.laptop.org/journal-activity
journal-activity
git clone git://dev.laptop.org/activities/develop
develop/develop-activity
#git clone git://dev.laptop.org/projects/etoys
#?  no idea.
git clone git://dev.laptop.org/projects/connect-activity
connect-activity
git clone git://dev.laptop.org/projects/read-activity
read-activity
#git clone git://dev.laptop.org/projects/listen-spell
#?
git clone git://dev.laptop.org/users/dsd/record
record
git clone git://dev.laptop.org/users/cscott/firefox-activity
firefox-activity
git clone git://dev.laptop.org/mamamedia/story-builder
story-builder
git clone git://dev.laptop.org/web-activity
web-activity
git clone git://dev.laptop.org/chat-activity
chat-activity
git clone git://dev.laptop.org/projects/calculate
calculate
git clone git://dev.laptop.org/projects/pippy-activity
pippy-activity
git clone git://dev.laptop.org/projects/write
write


sh briansscript.sh

New script

#!/usr/local/bin/python
import os

siminput = open("siminput")
infoline = siminput.readlines()
i = 0
git = []
activity = []
for record in infoline:
    if not i % 2 and not record.startswith("#"):
         git.append(record.strip("\n")) # git command
    if i % 2 and not record.startswith("#"):
         activity.append(record.strip("\n")) # activity folder path
    i += 1
print activity

for g in git:
    os.system(g)

for v in activity:
    print v
    activityinfo = open(v + "/activity/activity.info")
    infoline = activityinfo.readlines()
    for line in infoline:
        if line.startswith("name"):
            print line[7:].strip("\n") + "test"   
            os.system("ln -s ../" + v + " Activities/" + line[7:].strip("\n") + ".activity")

STEPS FOR SUCCESS: 1

1.

cd ~
vi gitlist

Press i to begin input mode... input:

git clone git://dev.laptop.org/projects/terminal-activity
terminal-activity
git clone git://dev.laptop.org/activities/x2o
x2o
#git clone git://dev.laptop.org/users/dsd/tamtam
#tamtam
git clone git://dev.laptop.org/activities/xomail
xomail
git clone git://dev.laptop.org/activities/model
model/activity
git clone git://dev.laptop.org/activities/physics
physics
git clone git://dev.laptop.org/journal-activity
journal-activity
git clone git://dev.laptop.org/activities/develop
develop/develop-activity
#git clone git://dev.laptop.org/projects/etoys
#?  no idea.
git clone git://dev.laptop.org/projects/connect-activity
connect-activity
git clone git://dev.laptop.org/projects/read-activity
read-activity
#git clone git://dev.laptop.org/projects/listen-spell
#?
git clone git://dev.laptop.org/users/dsd/record
record
git clone git://dev.laptop.org/users/cscott/firefox-activity
firefox-activity
git clone git://dev.laptop.org/mamamedia/story-builder
story-builder
git clone git://dev.laptop.org/web-activity
web-activity
git clone git://dev.laptop.org/chat-activity
chat-activity
git clone git://dev.laptop.org/projects/calculate
calculate
git clone git://dev.laptop.org/projects/pippy-activity
pippy-activity
git clone git://dev.laptop.org/projects/write
write

Press esc to exit input mode. Press "gg" to see top of file. Confirm there is no leading newline, as this would destroy all.

Type :wq to write and quit.

STEPS FOR SUCESS: 2

vi briansscript.py

again, insert into this file:

#!/usr/local/bin/python
import os

siminput = open("gitlist")
infoline = siminput.readlines()
i = 0
git = []
activity = []
for record in infoline:
    if not i % 2 and not record.startswith("#"):
         git.append(record.strip("\n")) # git command
    if i % 2 and not record.startswith("#"):
         activity.append(record.strip("\n")) # activity folder path
    i += 1
print activity

for g in git:
    os.system(g)

for v in activity:
    print v
    activityinfo = open(v + "/activity/activity.info")
    infoline = activityinfo.readlines()
    for line in infoline:
        if line.startswith("name"):
            print line[7:].strip("\n") + "test"   
            os.system("ln -s ../" + v + " Activities/" + line[7:].strip("\n") + ".activity")