def jsonContext(self): """Return content of document to be synced. """ document_id = self.request.GET.get('document_id') service = oauth_helper.createDocsServiceWithAccessToken(self.data) content = gdocs_helper.getContent(service, document_id, return_as="html") return {"content": content}
def jsonContext(self): assert self.request.GET['field'] == 'google_document' term = self.request.GET['term'].encode('utf-8') service = oauth_helper.createDocsServiceWithAccessToken(self.data) feed = gdocs_helper.findDocuments(service, title=term, categories=['document']) data = [] for entry in feed.entry: img_url = ("/soc/content/%s/images/gdocs-%s-icon.png" % (system.getMelangeVersion(), entry.GetDocumentType())) data.append({ 'id': entry.resourceId.text, 'value': entry.title.text.decode('utf-8'), 'label': "<img src='%s'/> %s" % (img_url, entry.title.text.decode('utf-8')) }) return data
def post(self): service = oauth_helper.createDocsServiceWithAccessToken(self.data) shipment_info_id = self.data.POST['id'] shipment_info = ShipmentInfo.get_by_id( int(shipment_info_id), parent=self.data.program) link = shipment_info.spreadsheet_link resource_key = gdocs_helper.get_resource_key_from_document_link(link) resource_id = 'spreadsheet:%s' % resource_key #get sheet content for USA students usa_sheet_content = gdocs_helper.get_content( service, resource_id, return_as='csv', gid=0) #get sheet content for international students intl_sheet_content = gdocs_helper.get_content( service, resource_id, return_as='csv', gid=3) task_start_url = self.redirect.urlOf('shipment_sync_task_start') #start task for USA students params = { 'program_key': str(self.data.program.key()), 'sheet_content': simplejson.dumps(usa_sheet_content), 'sheet_type': 'usa', 'shipment_info_id': shipment_info_id, } taskqueue.add(url=task_start_url, params=params) #start task for international students params = { 'program_key': str(self.data.program.key()), 'sheet_content': simplejson.dumps(intl_sheet_content), 'sheet_type': 'intl', 'shipment_info_id': shipment_info_id, } taskqueue.add(url=task_start_url, params=params) #return back to sync data page self.redirect.program() self.redirect.to('trackings_sync_data')