Beispiel #1
0
 def add_item_post(self, request):
     check_signed_in()
     try:
         item = Item(title=request.title,
                     description=request.description,
                     expiration=datetime.strptime(request.expiration,
                                                  "%m/%d/%Y"),
                     price=request.price,
                     owner=User.get_current_user())
         key = item.put()
         return BaseMessage(message="OK", code="OK", data=str(key.id()))
     except BadValueError as e:
         return BaseMessage(message=e.message, code="ERROR", data=e.message)
Beispiel #2
0
 def add_comm_post(self, request):
     user = check_signed_in()
     item = Item.get_by_id(long(request.item_id))
     try:
         comm = Comm(subject=request.subject,
                     sender=user.id(),
                     receiver=request.receiver.split(';'),
                     content=request.content,
                     item_id=item,
                     item_title=item.title,
                     price=item.price)
         key = comm.put()
         return BaseMessage(message="OK", code="OK", data=str(key.id()))
     except Exception as e:
         return BaseMessage(message=e.message, code="ERROR", data=e.message)
Beispiel #3
0
    def del_item_post(self, request):
        user = check_signed_in()

        item = Item.get_by_id(request.id)
        if item.owner != User.get_current_user():
            return BaseMessage(
                message="Missing permissions",
                code="ERROR",
                data="You are not authorized to delete the Item.")
        if item:
            item.key.delete()
            return BaseMessage(message="OK",
                               code="OK",
                               data="Item successful deleted")
        else:
            raise endpoints.NotFoundException('Item %s not found.' %
                                              (request.id, ))
Beispiel #4
0
 def add_user_post(self, request):
     check_signed_in()
     #check if email already exists
     user = User(email=endpoints.get_current_user().email(),
                 name=request.name,
                 description=request.description,
                 image_url=request.image_url,
                 tag=request.tag,
                 disabled=request.disabled)
     key = user.put()
     return BaseMessage(message="OK", code="OK", data=str(key.id()))
Beispiel #5
0
    def del_comm_post(self, request):
        #delete Users Items?
        user = check_signed_in()
        comm = Comm.get_by_id(request.id)

        if comm and comm.sender == User.query(
                User.email == endpoints.get_current_user()).get():
            comm.delete()
            return BaseMessage(message="OK", code="OK", data="User deleted")
        else:
            raise endpoints.NotFoundException('Item %s not found.' %
                                              (request.id, ))
Beispiel #6
0
    def del_user_post(self, request):
        #delete Users Items?
        check_signed_in()
        user = User.get_by_id(request.id)

        if user and user == User.query(
                User.email == endpoints.get_current_user().email()).get():
            user.key.delete()
            return BaseMessage(message="OK", code="OK", data="User deleted")
        else:
            raise endpoints.NotFoundException('Item %s not found.' %
                                              (request.id, ))
Beispiel #7
0
    def mod_user_post(self, request):
        user = check_signed_in().get()
        if user.key.id() == long(request.user_id):
            user.name = request.name
            user.description = request.description
            user.image_url = request.image_url
            user.put()

            return BaseMessage(message="OK",
                               code="OK",
                               data=str(user.key.id()))
        else:
            raise endpoints.UnauthorizedException('')
    def run(self):
        logger = logging.getLogger()
        buffer = b""
        state = "inactive"
        while not self.__abort:
            curr_char = self.read()

            if not curr_char:
                continue

            if state != "after_escape" and curr_char == STX:
                buffer = b""
                state = "in_message"
            elif state == "in_message" and curr_char == ESC:
                state = "after_escape"
            elif state == "in_message" and curr_char == ETB:
                state = "after_message"
            elif state in ["after_escape", "in_message"]:
                buffer += curr_char

                if state == "after_escape":
                    state = "in_message"

            if state == "after_message":
                if not buffer:
                    logger.warning('Received empty message, skipping!')
                    continue

                try:
                    msg = BaseMessage.from_raw_data(buffer)
                    logger.debug("< {}".format(msg))

                    self.received_message.emit(msg)

                    if isinstance(msg, ConfirmationMessage):
                        self.writer.remove_message_from_slots(
                            msg.confirmed_message_number()
                        )

                except MessageCRCError as e:
                    logger.error('Message CRC mismatch... transmitted CRC: {}, '
                                 'computed CRC: {}'.format(
                        e.transmitted_crc,
                        e.computed_crc)
                    )
                except UnknownMessageType:
                    logger.warn('Unknown message {}'.format(
                        binascii.hexlify(buffer))
                    )
                buffer = b""
Beispiel #9
0
    def del_feedback_post(self, request):
        #delete Users Items?
        user = check_signed_in()
        feedback = Feedback.get_by_id(request.id)

        if feedback and feedback.author == User.query(
                User.email == endpoints.get_current_user()).get():
            feedback.delete()
            return BaseMessage(message="OK",
                               code="OK",
                               data="Feedback deleted")
        else:
            raise endpoints.NotFoundException('Feedback %s not found.' %
                                              (request.id, ))
Beispiel #10
0
 def mod_item_post(self, request):
     user = check_signed_in()
     item = Item.get_by_id(request.item_id)
     if item.owner == user:
         item.description = request.description
         item.expiration = request.expiration
         item.price = request.price
         item.title = request.title
         item.put()
         return BaseMessage(message="OK",
                            code="OK",
                            data=str(item.key.id()))
     else:
         raise endpoints.UnauthorizedException('')
Beispiel #11
0
 def add_feedback_post(self, request):
     check_signed_in()
     feedback = Feedback()
     key = feedback.put()
     return BaseMessage(message="OK", code="OK", data=str(key.id()))