Exemplo n.º 1
0
    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)
Exemplo n.º 2
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)