コード例 #1
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
    def getInfo(self):
        self.setTables()
        data = self.dict()
        data["schemas"] = self.getMapInfo()

        data["originalnum"] = session.query(self.original).count()
        data["parsednum"] = session.query(self.parsed).count()
        data["tasknum"] = session.query(self.task).count()

        return data
コード例 #2
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
    def getEvaluateAll(userid):
        tasks = session.query(Task).all()
        evlist = []

        for task in tasks:
            task.setTables()
            pslist = session.query(task.parsed).filter(task.parsed.evaluatorid == userid).all()
            for parsed in pslist:
                p = parsed.dict()
                p["taskprefix"] = task.prefix
                p["taskname"] = task.name
                evlist.append(p)

        return evlist
コード例 #3
0
ファイル: user.py プロジェクト: Pusnow/DB-Project
	def getSubmitInfo(self):
		info = self.dict()

		submitinfo = dict(parsed = 0, taskdata = 0)
		for en in self.enrolls:
			en.task.setTables()

			submitinfo["parsed"] += session.query(en.task.parsed).filter(en.task.parsed.submitterid == self.id).count()
			ps = session.query(en.task.parsed).filter(en.task.parsed.submitterid == self.id).filter(en.task.parsed.status == u"Evaluated").all()
			for p in ps:
				submitinfo["taskdata"] += len(p.tasks)

				
		info["submitinfo"] = submitinfo
		return info
コード例 #4
0
ファイル: user.py プロジェクト: Pusnow/DB-Project
	def login(loginid, password):
		
		user = session.query(User).filter(User.loginid == loginid).first()

		if user and user.checkPassword(password) :
			return user
		else :
			return None
コード例 #5
0
ファイル: user.py プロジェクト: Pusnow/DB-Project
	def setScore(self):
		sums = list()
		for en in self.enrolls:
			en.task.setTables()

			ps = session.query(en.task.parsed).filter(en.task.parsed.submitterid == self.id).filter(en.task.parsed.status == u"Evaluated").all()
			for p in ps:
				sums.append(p.score)


		self.score = sum(sums)/len(sums)
コード例 #6
0
ファイル: user.py プロジェクト: Pusnow/DB-Project
	def deleteUser(user):

		for en in user.enrolls:
			en.task.setTables()

			ps = session.query(en.task.parsed).filter(en.task.parsed.submitterid == user.id).all()
			for p in ps:
				for t in p.tasks:
					session.delete(t)
				session.delete(p)

		for e in user.enrolls :
			session.delete(e)
		session.delete(user)
		session.commit()
コード例 #7
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
    def getSubmitters(self):
        us = (
            session.query(User, Enroll.status)
            .join(User.enrolls)
            .join(Enroll.task)
            .filter(User.role == u"제출자")
            .filter(Task.prefix == self.prefix)
            .all()
        )
        submitters = list()

        for user, status in us:
            u = user.dict()
            u["status"] = status
            submitters.append(u)

        return submitters
コード例 #8
0
ファイル: user.py プロジェクト: Pusnow/DB-Project
	def randomEvaluator():
		maxnum = session.query(User).filter(User.role == u"평가자").count()
		if maxnum == 0:
			return session.query(User).filter(User.role == u"관리자").first()

		return session.query(User).filter(User.role == u"평가자")[random.randrange(0,maxnum)]
コード例 #9
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
 def getTask(prefix):
     task = session.query(Task).filter(Task.prefix == prefix).first()
     if task:
         task.setTables()
     return task
コード例 #10
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
 def getParsedNumBySubmitter(self, user):
     return session.query(self.parsed).filter(self.parsed.submitterid == user.id).order_by(self.parsed.id).count()
コード例 #11
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
 def getParsed(self, id):
     return session.query(self.parsed).get(id)
コード例 #12
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
 def getTaskDatas(self):
     return session.query(self.task).order_by(self.task.id).all()
コード例 #13
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
 def getParseds(self):
     return session.query(self.parsed).order_by(self.parsed.id).all()
コード例 #14
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
 def getOriginal(self, id):
     return session.query(self.original).get(id)
コード例 #15
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
 def getOriginals(self):
     return session.query(self.original).order_by(self.original.id).all()
コード例 #16
0
ファイル: user.py プロジェクト: Pusnow/DB-Project
	def getUser(id):
		return session.query(User).get(id)
コード例 #17
0
ファイル: user.py プロジェクト: Pusnow/DB-Project
	def getUsers():
		return session.query(User).order_by(User.id).all()
コード例 #18
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
 def checkPrefix(prefix):
     return session.query(Task).filter(Task.prefix == prefix).count() != 0
コード例 #19
0
ファイル: task.py プロジェクト: Pusnow/DB-Project
 def getTasks(start=0, end=10):
     return session.query(Task).order_by(Task.prefix)[start:end]
コード例 #20
0
ファイル: instance.py プロジェクト: Pusnow/DB-Project
	def getNextnth(self,user):
		nth =  session.query( func.max(self.parsedclass.nth)).filter(self.parsedclass.originalid == self.id).filter(self.parsedclass.submitterid == user.id).first()
		if nth[0]:
			return nth[0] +1
		else :
			return 1