Example #1
0
def generate_cards(request, spreadsheet_title, worksheet_title):
  settings = request.user.get_profile()
  fieldList = []
  titleTags = []
  if request.method == 'POST':
    postdata = request.POST
    while postdata.__contains__(str(len(fieldList))):
      fieldList.append(postdata[str(len(fieldList))])
    if not fieldList.__contains__('back'):
      request.session['backrequired'] = True
      return HttpResponseRedirect(reverse(choose_fields, args=[spreadsheet_title, worksheet_title]))
    titleTags = postdata['titleTags'].split(',')
    doNotImportList = postdata.getlist('donotimport')
    removeRows(doNotImportList, settings)
  rows = Row.objects.filter(settings=settings)
  for row in rows:
    front = ''
    back = ''
    tags = []
    tags.extend(titleTags)
    sources = []
    private = False
    donottest = False
    priority = '3'
    for i in range(len(fieldList)):
      # NASTY CODE SMELL - FIX UP TODO
      try:
        field = fieldList[i]
        col = row.columns[i]
        if field == 'front':
          front += col
        elif field == 'back':
          back += col
        elif field == 'tags':
          if col.strip() != '':
            tags.append(col)
        elif field == 'sources':
          if col.strip() != '':
            sources.append(col)
        elif field == 'private':
          private = (col.lower() == 'true' or col.lower() == 'x')
        elif field == 'donottest':
          donottest = (col.lower() == 'true' or col.lower() == 'x')
        elif field == 'priority':
          if col.lower() == '3' or col.lower() == 'average':
            priority = '3'
          elif col.lower() == 'l' or col.lower() == 'low':
            priority = '1'
          elif col.lower() == '5' or col.lower() == 'high':
            priority = '5'
      except:
        continue
    tagField = ", ".join(tags)
    card = createCard(settings, front, back, private, priority, donottest, tagField, sources, None, False)
  return HttpResponse("Saved %s new cards" % (len(rows)))
      
      
  max_cols = len(reduce(lambda x,y: x if len(x.columns) > len(y.columns) else y, rows).columns)
  return HttpResponse('success')
  
Example #2
0
def generate_cards(request, spreadsheet_title, worksheet_title):
    settings = request.user.get_profile()
    fieldList = []
    titleTags = []
    if request.method == 'POST':
        postdata = request.POST
        while postdata.__contains__(str(len(fieldList))):
            fieldList.append(postdata[str(len(fieldList))])
        if not fieldList.__contains__('back'):
            request.session['backrequired'] = True
            return HttpResponseRedirect(
                reverse(choose_fields,
                        args=[spreadsheet_title, worksheet_title]))
        titleTags = postdata['titleTags'].split(',')
        doNotImportList = postdata.getlist('donotimport')
        removeRows(doNotImportList, settings)
    rows = Row.objects.filter(settings=settings)
    for row in rows:
        front = ''
        back = ''
        tags = []
        tags.extend(titleTags)
        sources = []
        private = False
        donottest = False
        priority = '3'
        for i in range(len(fieldList)):
            # NASTY CODE SMELL - FIX UP TODO
            try:
                field = fieldList[i]
                col = row.columns[i]
                if field == 'front':
                    front += col
                elif field == 'back':
                    back += col
                elif field == 'tags':
                    if col.strip() != '':
                        tags.append(col)
                elif field == 'sources':
                    if col.strip() != '':
                        sources.append(col)
                elif field == 'private':
                    private = (col.lower() == 'true' or col.lower() == 'x')
                elif field == 'donottest':
                    donottest = (col.lower() == 'true' or col.lower() == 'x')
                elif field == 'priority':
                    if col.lower() == '3' or col.lower() == 'average':
                        priority = '3'
                    elif col.lower() == 'l' or col.lower() == 'low':
                        priority = '1'
                    elif col.lower() == '5' or col.lower() == 'high':
                        priority = '5'
            except:
                continue
        tagField = ", ".join(tags)
        card = createCard(settings, front, back, private, priority, donottest,
                          tagField, sources, None, False)
    return HttpResponse("Saved %s new cards" % (len(rows)))

    max_cols = len(
        reduce(lambda x, y: x
               if len(x.columns) > len(y.columns) else y, rows).columns)
    return HttpResponse('success')
Example #3
0
def createCardFromEmail(front, back, settings, fields):
  tagField = ", ".join(fields['t'])
  sourceField = ", ".join(fields['s'])
  card = createCard(settings, front, back, False, 'a', False, tagField, sourceField, None)