Ejemplo n.º 1
0
def processProd(request):
  data = request.POST.get('data', None)
  key = request.POST.get('key', None)
  resp = ''
  if data and str(key) == env['SECRET_KEY']:
    # {sender : (content, [comm_prods], date, subject)}
    data = json.loads(data)
    sender = data.keys()[0]
    content, commprods, date, subject = data[sender]

    user = None
    email_search = User.objects.filter(email=sender)
    alt_email_search = cpm.UserProfile.objects.filter(
        email__email=sender, email__confirmed=True)

    if email_search.exists():
      user = email_search[0]
    elif alt_email_search.exists():
      user = alt_email_search[0].user
    else:
      user, created = create_user(sender, sender)

    resp += """\nUser %(sender)s with
        comm prods:\n %(commprods)s""" % {
        'sender': sender,
        'commprods': commprods
    }

    for commprod in commprods:
      email_content, created = cpm.CommProdEmail\
          .objects.get_or_create(
              user_profile=user.profile, content=content,
              subject=subject, date=date)
      if created:
        email_content.save()

      media = commprod_contains_media(commprod)
      media_content = ''
      if media:
        media_content = urlize_text(commprod)
      commprod, created = cpm.CommProd.objects.get_or_create(
          email_content=email_content,
          content=commprod,
          original_content=commprod,
          user_profile=user.profile,
          media=media,
          media_content=media_content,
          date=date)
      if created:
        commprod.save()
      resp += '\nAdded? %s' % created
  else:
    resp = 'No data'
    if str(key) != env['SECRET_KEY']:  # patlsotw
      resp = 'Success!'
  return dict(res=resp)
Ejemplo n.º 2
0
  def use_correction(self, save=False):
    Correction.objects.filter(
        commprod=self.commprod).update(is_active=False)
    self.is_active = False
    self.used = True

    self.commprod.content = self.content
    self.commprod.media_content = urlize_text(self.content)
    self.commprod.media = commprod_contains_media(
        self.content)
    self.commprod.save()
    if save:
      self.save()  # normally called at the end of update_score
Ejemplo n.º 3
0
 def handle(self, **options):
   self.stdout.write('Starting...\n')
   commprods = cpm.CommProd.objects.all()
   for commprod in commprods.iterator():
     media = commprod_contains_media(commprod.content)
     self.stdout.write("""Updating commprod id
            %(id)s, media? %(media)s\n""" % {
         'id': commprod.id,
         'media': media
     })
     commprod.media = media
     if media:  # write the media content
       commprod.media_content = urlize_text(
           commprod.content)
     commprod.save()
   self.stdout.write('Done.\n')