Guest User

Untitled

a guest
May 20th, 2018
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. # STEP 1 REMOTE
  2. import datetime
  3. before = datetime.date(2018, 5, 15)
  4. after = datetime.date(2018, 5, 1)
  5. from shelby.models import Lead
  6. qs = Lead.objects.filter(created_on__date__lt=before, created_on__date__gte=after, status=Lead.STATUS_NEW).values_list('id', flat=True)
  7. for lead_id in qs:
  8. print(lead_id) # copy that output into "new_leads.txt"
  9.  
  10.  
  11.  
  12. # STEP 2 - LOCAL w/ 5/15 1am backup db
  13. from shelby.models import Lead
  14.  
  15. def fmtdate(d):
  16. return d.isoformat() if d else 'None'
  17.  
  18. f = open('new_leads.txt', 'r') # open the leads from prod that are new
  19. output = open('output_leads.txt', 'w')
  20. lines = f.readlines()
  21. for lead_id in lines:
  22. lead = Lead.objects.get(id=lead_id) # look at 5/15 1am backup data
  23. if lead.status != lead.STATUS_NEW:
  24. line = "'{}^{}^{}^{}^{}^{}',\n".format(lead.id, lead.status, fmtdate(lead.reviewed_on), fmtdate(lead.bad_on), fmtdate(lead.na_on), fmtdate(lead.inactive_on))
  25. foo = output.write(line)
  26.  
  27.  
  28. f.close()
  29. output.close()
  30.  
  31.  
  32.  
  33. # STEP 3 - PROD REMOTE
  34. lines = [
  35. # paste the contents of output.txt here
  36. ]
  37. from shelby.models import Lead
  38. import dateutil.parser
  39.  
  40. for line in lines:
  41. data = line.split('^')
  42. lead_id = data[0]
  43. status = data[1]
  44. reviewed_on = data[2]
  45. bad_on = data[3]
  46. na_on = data[4]
  47. inactive_on = data[5]
  48. lead = Lead.objects.get(id=lead_id)
  49. lead.status = status
  50. if reviewed_on != 'None':
  51. lead.reviewed_on = dateutil.parser.parse(reviewed_on)
  52. if bad_on != 'None':
  53. lead.bad_on = dateutil.parser.parse(bad_on)
  54. if na_on != 'None':
  55. lead.na_on = dateutil.parser.parse(na_on)
  56. if inactive_on != 'None':
  57. lead.inactive_on = dateutil.parser.parse(inactive_on)
  58. lead.save()
Add Comment
Please, Sign In to add comment