def main(): analytics_progress = StringIO() write_header(analytics_progress) personal_progress = StringIO() subject = generate_subject() api = pyasana.Api(API_KEY) workspaces = api.get_workspaces() analytics_progress.write('%s\n' % subject) for workspace in workspaces: projects = api.get_projects(workspace.id) for project in projects: if parse_project(project): tasks = api.get_tasks(project=project.id) data = parse_tasks(api, tasks) if data: analytics_progress.write('===%s===\n' % project.name) print '===%s===' % project.name for task in data: completed_task = '* %s completed by %s on %s\n\n' % (task.name, task.assignee, task.completed_at) if parse_engineer(task): analytics_progress.write(completed_task) print task.assignee, task.name if task.assignee == 'Diederik van Liere': personal_progress.write(completed_task) analytics_progress.write('\n') write_footer(analytics_progress) print analytics_progress.getvalue() #send_email(analytics_progress, subject) write_weekly_wiki_update(subject, analytics_progress.getvalue() , report_type='weekly')
def test(): title = 'Analytics Team Status update 2012/7/3 - 2012/7/10' msg = ''' Analytics Team Status update 2012/7/3 - 2012/7/10 ===Limn=== * Create library entry point, config & API completed by David Schoonover on 2012-07-10 17:15:13 * Create node Middleware for Limn completed by David Schoonover on 2012-07-10 17:18:14 * Update Server to use Middleware completed by David Schoonover on 2012-07-10 17:18:17 * Move Coco source from /lib to /src completed by David Schoonover on 2012-07-10 17:16:51 * Create build task to compile Coco /src to JS /lib completed by David Schoonover on 2012-07-10 17:16:53 * Prune git history to eliminate the 140MB of useless CSVs that snuck in back in commit #5 completed by David Schoonover on 2012-07-10 17:16:50 ===Kraken=== * Review lucene + scribe changes with Peter Y. completed by Andrew Otto on 2012-07-10 19:17:30 * Confirm boson particle existence completed by David Schoonover on 2012-07-10 17:21:58 * Document architecture Kraken Pixel Service completed by David Schoonover on 2012-07-10 17:49:31 * Research best way to put scribe in prod cluster soon. Nginx? Lucen logs? completed by Andrew Otto on 2012-07-10 13:57:26 ===udp2log / udp-filter / webstatscollector=== * Repackage lucene-search-2 with scribe logging. completed by Andrew Otto on 2012-07-10 13:57:17 * Create debs for scribe + java for Lucene logging. completed by Andrew Otto on 2012-07-10 13:57:18 ===Reportcard=== * Update node to 0.8.x on kripke completed by Andrew Otto on 2012-07-10 17:37:03 * Prepare July Metrics Meeting completed by Diederik van Liere on 2012-07-10 17:23:47 * WONTFIX Replace boostrip with WMF's agora (https://github.com/munaf/agora) completed by Diederik van Liere on 2012-07-10 17:32:03 ===Servers & Configuration=== * Configure udp-filter for Grameenphone Bangladesh completed by Andrew Otto on 2012-07-10 17:06:57 * Figure out how the Mayans predicted the Leap Second Apocalypse completed by Andrew Otto on 2012-07-10 13:58:01 * Create MySQL read-only account for Global Dev completed by Diederik van Liere on 2012-07-10 19:49:31 ===Gerrit-stats=== * Create `analytics/gerrit-stats/data` repo in gerrit completed by Andrew Otto on 2012-07-10 17:45:43 * Add query to count number of commits per day per project completed by Diederik van Liere on 2012-07-10 17:22:39 * Reconstruct datasets for the past completed by Diederik van Liere on 2012-07-10 17:22:34 * Add support for adding new queries completed by Diederik van Liere on 2012-07-10 17:22:47 * Add self-review metric completed by Diederik van Liere on 2012-07-10 17:22:48 ===Devicemap=== * Discussion with Browserscope project (Adobe, Apache, Facebook, Google) completed by Diederik van Liere on 2012-07-02 18:22:59 ===Misc Diederik=== * Write self-review completed by Diederik van Liere on 2012-07-03 16:40:12 * Write personal goals completed by Diederik van Liere on 2012-07-03 16:40:26 ===Global Dev Dashboard=== * I moved all tasks to Reportcard completed by Diederik van Liere on 2012-07-02 22:30:48 ''' write_weekly_wiki_update(title, msg, report_type='weekly')