def test_findConflicts(self): s = self.proposal.session_set.all()[0] src0 = self.proposal.source_set.all()[0] tpcode = self.proposal.pcode # create a new proposal w/ sessions and sources newP = createProposal() newP.pi = Author.objects.all()[0] newP.save() newS = self.createSession(newP) newS.grade = SessionGrade.objects.get(grade = 'A') newS.receivers.add(Receiver.objects.get(abbreviation = 'Q')) newS.receivers.add(Receiver.objects.get(abbreviation = '800')) newS.save() # second session isn't graded newS2 = self.createSession(newP) newS2.grade = None newS2.receivers.add(Receiver.objects.get(abbreviation = 'Q')) newS2.receivers.add(Receiver.objects.get(abbreviation = '800')) newS2.save() # make conflict src1 = self.createSrc(newP) src1.target_name = src0.target_name src1.ra = src0.ra src1.dec = src0.dec src1.save() # make another conflict src2 = self.createSrc(newP) src2.target_name = src0.target_name + "!" src2.ra = src0.ra + (src0.ra*0.0002) src2.dec = src0.dec - (src0.dec*0.0002) src2.save() # turn the crank sc = SourceConflicts() sc.findConflicts() cf = sc.conflicts # now create the report ps = Proposal.objects.all() filename = '12A' scr = SourceConflictsReport('sourceConflictsReport-%s-all.pdf' % filename) sc.filterConflicts(0) scr.report(sc.filteredConflicts, semester = '12A', level = 0)
parser.add_argument('-l','--level', dest="level", type = int, default = -1, help='Level of conflicts to check. Options are "0", "1", "2" (defaults to all).') args = parser.parse_args() sc = SourceConflicts(semester = args.semester) if args.pcode is not None: sc.findConflicts(proposals = Proposal.objects.filter(pcode = args.pcode)) filename = args.pcode else: sc.findConflicts( # Uncomment for testing. #proposals = Proposal.objects.filter(semester__semester = args.semester)[:5] ) filename = args.semester levelMap = ['all', 'sameReceiver', 'sameReceiver-proprietaryPeriod'] if args.level == -1: sc.filterConflicts(0) scr = SourceConflictsReport('sourceConflictsReport-%s-all.pdf' % filename) scr.report(sc.filteredConflicts, semester = args.semester, pcode = args.pcode, level = 0) sc.filterConflicts(1) scr = SourceConflictsReport('sourceConflictsReport-%s-sameReceiver.pdf' % filename) scr.report(sc.filteredConflicts, semester = args.semester, pcode = args.pcode, level = 1) sc.filterConflicts(2) scr = SourceConflictsReport('sourceConflictsReport-%s-sameReceiver-proprietaryPeriod.pdf' % filename) scr.report(sc.filteredConflicts, semester = args.semester, pcode = args.pcode, level = 2) else: sc.filterConflicts(args.level) scr = SourceConflictsReport('sourceConflictsReport-%s-%s.pdf' % (filename, levelMap[args.level])) scr.report(sc.filteredConflicts, semester = args.semester, pcode = args.pcode, level = args.level)