예제 #1
0
    def init_sign(self, form):
        try:
            evlog.log('Signeerimispäring: ALGUS')
            if not self.ctx().check_session():
                return self.__return_error(evcommon.EVOTE_ERROR,
                                           evmessage.EV_ERRORS.SEANSS_PUUDUB)

            self.ctx().load_pre_sign()
            service = MobileIDService()

            for el in form:
                if el == evcommon.POST_SESS_ID:
                    pass
                elif el == evcommon.POST_EVOTE:
                    b64 = form.getvalue(el)
                    votes = mobid_vote_data(b64)
                    for el in votes:
                        vote = votes[el]
                        service.add_file(el, vote)
                        self.ctx().add_votefile(el, vote)
                    self.ctx().set_origvote(b64)
                else:
                    raise Exception('Vigane päringuparameeter %s' % el)

            if service.files() < 1:
                raise Exception('Ei ole hääli, mida signeerida')

            r1, r2, r3 = service.init_sign(self.ctx())

            if r1:
                self.ctx().save_post_sign(r2)
                evlog.log('Signeerimispäring (%s)' % r2)
                return protocol.msg_mobid_sign_init_ok(r3)

            return self.__return_mid_error(r2)

        except httplib.BadStatusLine as exc:
            return self.__return_badstatusline_error(exc)
        except ZSI.FaultException as exc:
            return self.__return_zsi_error(exc)
        except:
            return self.__return_exception()
        finally:
            evlog.log('Signeerimispäring: LÕPP')
예제 #2
0
    def init_sign(self, form):
        try:
            evlog.log("Signeerimispäring: ALGUS")
            if not self.ctx().check_session():
                return self.__return_error(evcommon.EVOTE_ERROR, evmessage.EV_ERRORS.SEANSS_PUUDUB)

            self.ctx().load_pre_sign()
            service = MobileIDService()

            for el in form:
                if el == evcommon.POST_SESS_ID:
                    pass
                elif el == evcommon.POST_EVOTE:
                    b64 = form.getvalue(el)
                    votes = mobid_vote_data(b64)
                    for el in votes:
                        vote = votes[el]
                        service.add_file(el, vote)
                        self.ctx().add_votefile(el, vote)
                    self.ctx().set_origvote(b64)
                else:
                    raise Exception("Vigane päringuparameeter %s" % el)

            if service.files() < 1:
                raise Exception("Ei ole hääli, mida signeerida")

            r1, r2, r3 = service.init_sign(self.ctx())

            if r1:
                self.ctx().save_post_sign(r2)
                evlog.log("Signeerimispäring (%s)" % r2)
                return protocol.msg_mobid_sign_init_ok(r3)

            return self.__return_mid_error(r2)

        except httplib.BadStatusLine as exc:
            return self.__return_badstatusline_error(exc)
        except ZSI.FaultException as exc:
            return self.__return_zsi_error(exc)
        except:
            return self.__return_exception()
        finally:
            evlog.log("Signeerimispäring: LÕPP")
예제 #3
0
    def init_sign(self, form):
        try:
            evlog.log('Signeerimispäring: ALGUS')
            if not self.ctx().auth_succ():
                raise Exception('Autentimata sessioon')

            self.ctx().load_pre_sign()
            service = MobileIDService()

            for el in form:
                if el == evcommon.POST_SESS_ID:
                    pass
                elif el == evcommon.POST_EVOTE:
                    b64 = form.getvalue(el)
                    votes = mobid_vote_data(b64)
                    for el in votes:
                        vote = base64.b64decode(votes[el])
                        service.add_file(el, vote)
                        self.ctx().add_votefile(el, vote)
                    self.ctx().set_origvote(b64)
                else:
                    raise Exception('Vigane päringuparameeter %s' % el)

            if service.files() < 1:
                raise Exception('Ei ole hääli, mida signeerida')

            r1, r2, r3 = service.init_sign(self.ctx())

            if r1:
                self.ctx().save_post_sign(r2)

                return protocol.msg_mobid_sign_init_ok(r3)

            return self.__return_mid_error(r2)

        except httplib.BadStatusLine, exc:
            return self.__return_badstatusline_error(exc)
예제 #4
0
    def init_sign(self, form):
        try:
            evlog.log('Signeerimispäring: ALGUS')
            if not self.ctx().auth_succ():
                raise Exception('Autentimata sessioon')

            self.ctx().load_pre_sign()
            service = MobileIDService()

            for el in form:
                if el == evcommon.POST_SESS_ID:
                    pass
                elif el == evcommon.POST_EVOTE:
                    b64 = form.getvalue(el)
                    votes = mobid_vote_data(b64)
                    for el in votes:
                        vote = base64.b64decode(votes[el])
                        service.add_file(el, vote)
                        self.ctx().add_votefile(el, vote)
                    self.ctx().set_origvote(b64)
                else:
                    raise Exception('Vigane päringuparameeter %s' % el)

            if service.files() < 1:
                raise Exception('Ei ole hääli, mida signeerida')

            r1, r2, r3 = service.init_sign(self.ctx())

            if r1:
                self.ctx().save_post_sign(r2)

                return protocol.msg_mobid_sign_init_ok(r3)

            return self.__return_mid_error(r2)

        except httplib.BadStatusLine, exc:
            return self.__return_badstatusline_error(exc)