Esempio n. 1
0
  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}
Esempio n. 2
0
  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
Esempio n. 3
0
  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')