コード例 #1
0
ファイル: websocket_feed.py プロジェクト: ccompeau/big-dipper
def websocket_to_database():
    try:
        websocket = yield from websockets.connect("wss://ws-feed.exchange.coinbase.com")
    except gaierror:
        db_logger.error('socket.gaierror - had a problem connecting to Coinbase feed')
        return
    yield from websocket.send('{"type": "subscribe", "product_id": "BTC-USD"}')
    while True:
        message = yield from websocket.recv()
        if message is None:
            file_logger.error('Websocket message is None!')
            break
        try:
            message = json.loads(message)
        except TypeError:
            db_logger.error('JSON did not load, see ' + str(message))
            continue
        if message['type'] != 'match':
            continue
        new_message = Messages()
        for key in message:
            if hasattr(new_message, key):
                setattr(new_message, key, message[key])
            else:
                db_logger.error(str(key) + ' is missing, see ' + str(message))
                continue
        try:
            session.add(new_message)
            session.commit()
        except IntegrityError:
            session.rollback()
        except DatabaseError:
            file_logger.error('Database Error')
            session.rollback()
コード例 #2
0
def message(request):
    if request.method == 'POST':
        form = MessageForm(request.POST)
        if form.is_valid():
            name    = form.cleaned_data['name']
            content = form.cleaned_data['content']
            ip      = request.META['REMOTE_ADDR']

            sess = request.session
            if not sess.has_key( 'name' ) or sess['name'] != name:
                sess['name'] = name

            if name.lower() == 'orange':
                name    = 'Wrong way'
                content = 'Try to pwn a shell instead of cracking md5.'
            elif md5.new(name).hexdigest() == 'e5bc16fcbca0f279df17b66d8c37e109':
                name = 'Orange'

            Messages( name=name,
                      content=content, 
                      ip=ip ).save()
            return HttpResponseRedirect( '/' )
    else:
        sess = request.session.load()
        if sess.has_key( 'name' ):
            default = sess['name']
        else:
            default = 'Guest'

        form = MessageForm( initial={'name': default} )

    messages = Messages.objects.order_by('id').reverse()[:100]
    response = render_to_response( 'message.html',
                                   {'form': form, 'messages': messages} )
    return response
コード例 #3
0
ファイル: chat.py プロジェクト: jreid2f/CS-1520
def setMessage():
	text = request.json
	current = Users.query.filter_by(user_id=session['user_id']).first()
	msg = Messages(message=text['msg'], post_date=datetime.now(), send_id=session['user_id'], room_id=session['room_id'], post_msg=current.username)
	db.session.add(msg)
	db.session.commit()
	return render_template('chatty_room.html')
コード例 #4
0
ファイル: main.py プロジェクト: ChihChaoChang/jmessage-server
def api_send_message(userid):
    """send message from one user to another"""
    resp_data = {'result': False, 'message': None}
    if request.headers['Content-Type'] == 'application/json':
        message = request.json
        recipient = message.get('recipient')
        if recipient is None:
            resp_data['message'] = 'missing the recipient'
            return Response(json.dumps(resp_data), status=401, mimetype='application/json')
        enc_message = message.get('message')
        if enc_message is None:
            resp_data['message'] = 'missing the encrypted message'
            return Response(json.dumps(resp_data), status=401, mimetype='application/json')
        message_id = message.get('messageID')
        if message_id is None or not isInt(message_id):
            resp_data['message'] = 'missing message ID'
            return Response(json.dumps(resp_data), status=401, mimetype='application/json')

        r = User.query.filter_by(username=recipient).first()
        if r is None:
            resp_data['message'] = 'no such recipient'
            return Response(json.dumps(resp_data), status=401, mimetype='application/json')

        m = Messages(userid, r, message_id, enc_message)
        db.session.add(m)
        db.session.commit()
        resp_data['result'] = True
        resp_data['message'] = 'message delivered'
        return Response(json.dumps(resp_data), status=200, mimetype='application/json')
    else:
        return "415 Unsupported Media Type"
コード例 #5
0
def send_message():
    """ Adds contact details to the backend while sending a dummy SMS. 
	"""
    smstext = "Hi. Your OTP is: "
    random_string = ''.join(
        ["%s" % random.randint(0, 9) for num in range(0, 6)])
    smstext += random_string
    print(smstext)
    try:
        result = Messages(name=session['current_user'],
                          message=smstext,
                          time=str(datetime.datetime.now()))
        db.session.add(result)
        print('Added result to session')
        db.session.commit()
        print('DB Addition Success')

    except Exception as e:
        db.session.rollback()
        print("Unable to add item to database.")
        print(e)
        return render_template('error.html', error=e)

    finally:
        db.session.close()

    return render_template('sendmessage.html', smstext=smstext)
コード例 #6
0
ファイル: handlers.py プロジェクト: CherryXuan/Hazeweb
async def messages(addr, pm25, pm10):
    data = time.strftime('%Y-%m-%d %H:%M')
    messages = Messages(addr=addr, data=data, pm25=pm25, pm10=pm10)
    await messages.save()
    response = '<h1>OK!!!</h1>'
    return web.Response(body=response.encode('utf-8'),
                        content_type='text/html')
コード例 #7
0
ファイル: tests.py プロジェクト: liorco15/HealthTourism
    def setUp(self):
        self.item = Messages()
        self.item.title = "OK"
        self.item.description = "OK"
        self.item.save()

        self.item1 = Event()
        self.item1.title = "OK"
        self.item1.description = "OK"
        self.item1.save()

        self.item2 = Documentation()
        self.item2.title = "OK"
        self.item2.description = "OK"
        self.item2.save()

        self.item3 = SignUp()
        self.item3.title = "OK"
        self.item3.description = "OK"
        self.item3.save()

        self.item4 = Feedback()
        self.item4.title = "OK"
        self.item4.description = "OK"
        self.item4.save()
コード例 #8
0
ファイル: routes.py プロジェクト: Luckius/peakfxsite
def new_message():
    if request.method == "POST":
        message = Messages(names=request.form['name'],emails=request.form['email'],subjects=request.form['subject'],messages=request.form['message'])
        db.session.add(message)
        db.session.commit()
        flash('Your message has been sent!', 'success')
    return redirect(url_for('contact'))
コード例 #9
0
    def send_message(user_id, chat_id):

        req = utils.check_params(request.get_json(), 'message')

        # messages have a 100 char limit, make sure to break it up

        db.session.add(
            Messages(chat_id=chat_id, user_id=user_id, message=req['message']))
        db.session.commit()

        return jsonify(Chats.query.get(chat_id).serialize())
コード例 #10
0
def send_message(cursor, from_id, recipient_name, text):
    if len(text) > 255:
        print("Message is too long!")
        return
    to = User.load_user_by_username(cursor, recipient_name)
    if to:
        message = Messages(from_id, to.id, text=text)
        message.save_to_db(cursor)
        print("Message send")
    else:
        print("Recipient does not exist.")
コード例 #11
0
    def select_messages(self, **kwargs):
        self._selected_grbs = self._get_gids(**kwargs)

        if len(self._selected_grbs) > 0:
            self._gid_main_res = self._selected_grbs[0]
            grid = GribGridDetails(self._selected_grbs[0])
            # some cumulated messages come with the message at step=0 as instant, to permit aggregation
            # cumulated rainfall rates could have the step zero instant message as kg/m^2, instead of kg/(m^2*s)
            if len(self._selected_grbs) > 1:
                unit = grib_get(self._selected_grbs[1], 'units')
                type_of_step = grib_get(self._selected_grbs[1], 'stepType')
            else:
                type_of_step = grib_get(self._selected_grbs[0], 'stepType')
                unit = grib_get(self._selected_grbs[0], 'units')
            type_of_level = grib_get(self._selected_grbs[0], 'levelType')

            missing_value = grib_get(self._selected_grbs[0], 'missingValue')
            all_values = {}
            all_values_second_res = {}
            grid2 = None
            input_step = self._step_grib
            for g in self._selected_grbs:

                start_step = grib_get(g, 'startStep')
                end_step = grib_get(g, 'endStep')
                points_meridian = grib_get(g, 'Nj')
                if '{}-{}'.format(start_step,
                                  end_step) == self._change_step_at:
                    # second time resolution
                    input_step = self._step_grib2

                key = Step(start_step, end_step, points_meridian, input_step)

                if points_meridian != grid.num_points_along_meridian and grid.get_2nd_resolution(
                ) is None:
                    # found second resolution messages
                    grid2 = GribGridDetails(g)
                    self._gid_ext_res = g

                values = grib_get_double_array(g, 'values')
                if not grid2:
                    all_values[key] = values
                elif points_meridian != grid.num_points_along_meridian:
                    all_values_second_res[key] = values

            if grid2:
                key_2nd_spatial_res = min(all_values_second_res.keys())
                grid.set_2nd_resolution(grid2, key_2nd_spatial_res)
            return Messages(all_values, missing_value, unit, type_of_level,
                            type_of_step, grid, all_values_second_res)
        # no messages found
        else:
            raise ValueError('No messages in grib file')
コード例 #12
0
def route_msg(request):
    if current_user(request) == '【游客】':
        return redirect('/login')
    if request.method == 'POST':
        form = request.form()
        message = Messages(form)
        message.save()
    messages = '<br>'.join([str(m) for m in Messages.all()])
    body = template('/index_basic.html')
    body = body.replace('{{message}}', messages)
    header = 'HTTP/1.1 200 OK\r\nContent-Type= text/html\r\n'
    r = header + '\r\n' + body
    return r.encode('utf-8')
コード例 #13
0
ファイル: app.py プロジェクト: shawnhasten1/Messengers
def messageAPI():
    if request.method == 'GET':
        messageID = request.args.get('messageID')
        conversationID = request.args.get('conversationID')
        filterBy = {}
        if messageID:
            filterBy['messageID'] = messageID
        if conversationID:
            filterBy['conversationID'] = conversationID

        messages = Messages.query.filter_by(**filterBy).order_by(
            Messages.sentTime)

        messageList = []

        for message in messages:
            messageList.append({
                "messageID": message.messageID,
                "conversationID": message.conversationID,
                "sender": message.sender,
                "message": message.message,
                "sentTime": message.sentTime,
                "readTime": message.readTime,
                "read": message.read
            })
        return jsonify(messageList)
    elif request.method == 'POST':
        #try:
        updateJson = request.get_json()
        print(updateJson)
        returnPost = []
        for jsonItem in list(updateJson):
            conversationID = jsonItem['conversationID']
            message = jsonItem['message']
            sender = jsonItem['sender']

            message = Messages(conversationID=conversationID,
                               message=message,
                               sender=sender)
            saDB.session.add(message)
            saDB.session.commit()
            returnPost.append({
                'ID': message.messageID,
                'conversationID': message.conversationID,
                'sender': message.sender,
                'message': message.message,
                'sentTime': message.sentTime
            })
        #except:
        #    return jsonify({'Message':'User Already Exists'})
        return jsonify(returnPost)
コード例 #14
0
ファイル: main.py プロジェクト: ipeacocks/docker-flask
def main():
    error = None
    form = MessageForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            new_message = Messages(datetime.datetime.utcnow(),
                                   form.message.data)
            db.session.add(new_message)
            db.session.commit()
            return redirect(url_for('main'))
    return render_template('main.html',
                           messages=list_messages(),
                           form=form,
                           error=error)
コード例 #15
0
ファイル: app.py プロジェクト: blossom-babs/website-template
def message():
    if request.method == 'POST':

        form = request.form
        print(form)
        name = form['name']
        email = form['email']
        message = form['message']

        new_message = Messages(name=name, email=email, message=message)
        new_message = new_message.save()
        print(new_message)

        return redirect(url_for('success'))
    return render_template('index.html')
コード例 #16
0
def add_message():
    first_user_id = request.json["first_user_id"]
    second_user_name = request.json["second_user_name"]
    message = request.json["message"]
    second_user_id = Users.query.filter_by(
        username=second_user_name).first().id
    time_now = datetime.now(timezone('UTC')).strftime(
        "%Y-%m-%d %H:%M:%S")  #adds message in GMT(UTC)
    new_message = Messages(first_user_id=first_user_id,
                           second_user_id=second_user_id,
                           message=message,
                           message_time_utc=time_now)
    db.session.add(new_message)
    db.session.commit()
    return jsonify(message=new_message.message)
コード例 #17
0
def contact(request):

    if request.POST:
        try:
            message = Messages(name=request.POST.get('name', None),
                               email=request.POST.get('email', None),
                               message=request.POST.get('message', None),
                               subject=request.POST.get('subject', None))
            message.save()
            return render(request, 'advertisements/contact.html',
                          {"success": True})
        except Messages.DoesNotExist:
            return render(request, 'advertisements/contact.html',
                          {"error": True})
    else:
        return render(request, 'advertisements/contact.html')
コード例 #18
0
def print_msg(client, userdata, message):
    payload = (message.payload).decode("utf-8").replace("'", '"')
    payloaddict = json.loads(payload)
    message = Messages(payloaddict['title'], payloaddict['body'])
    print("The data with title: '" + message.title + "' and body: '" +
          message.body + "' is received.")
    db.session.add(message)
    try:
        db.session.commit()
        print("message with title: '" + message.title + "' and body: '" +
              message.body + "' is store to Database")
    except exc.IntegrityError as e:
        db.session().rollback()
        print(e)
    except exc.SQLAlchemyError:
        pass
コード例 #19
0
def sms_ahoy_reply():
    number = request.args.get('From')
    body = request.args.get('Body')
    rating = request.args.get('poop_rating')
    if verify_shant(number):
        date_format='%m-%d-%Y'
        date = datetime.datetime.now(tz=pytz.utc)
        date = date.astimezone(timezone('US/Pacific'))
        date_today = date.strftime(date_format)
        new_poop = Messages(pooper_name='Shant',poop_date=date_today, poop_message=body, poop_rating=rating)
        db.session.add(new_poop)
        db.session.commit()
        return 'Success'
    return 'Falure'

    """
コード例 #20
0
def chat():
    
    json = request.get_json()

    chat = Chats.query.get( json['chat_id'] )
    if chat is None:
        raise APIException('Chat was not found')

    post = Messages(
        chat_id = json["chat_id"],
        writer_username = json["writer_username"],
        message = json["message"]
    )
    db.session.add(post)
    db.session.commit()

    return 'added to chat'
コード例 #21
0
 def write_message(self, user, password, receiver, message, subject,
                   creation_date):
     """
     this method takes the following arguments and creates a message object and inserts it into the database
     :param user:
     :param password:
     :param receiver:
     :param message:
     :param subject:
     :param creation_date:
     :return:
     """
     if self.check_user_password(user, password):
         result = Messages(user, receiver, message, subject, creation_date)
         self._insert_item(result)
         return True
     else:
         return False
コード例 #22
0
def send_message(cursor, username, password, to_user, content):
    user = User.load_user_by_name(cursor, username)
    if not user:
        print("User does not exist.")
    elif check_password(password, user.hashed_password):
        user2 = User.load_user_by_name(cursor, to_user)
        if not user2:
            print("That user does not exist.")
        else:
            if len(content) < 255:
                message = Messages(from_id=user.id,
                                   to_id=user2.id,
                                   text=content)
                message.save_to_db(cursor)
                print("Message send.")
            else:
                print("Your message is too long, maximum 254 characters.")
    else:
        print("Incorrect password.")
コード例 #23
0
def send_a_massage(username, password, to_id, text):
    if User.load_user_by_username(connect1().cursor(), username) == None:
        print('This username doesn\'t exists, submit a correct username')
    else:
        user1 = User.load_user_by_username(connect1().cursor(), username)
        if check_password(str(password), user1.hashed_password):
            a = User.load_user_by_id(connect1().cursor(), to_id)
            if a != None:
                if len(text) < 255:
                    from_id = user1.id
                    message1 = Messages(from_id, to_id, text)
                    message1.save_to_db(connect1().cursor())
                    return "Message sent"
                else:
                    print('Your message is too long, should be maximum 255 characters')
            else:
                print("Receiver\'s id is incorrect")
        else:
            print('Wrong password')
コード例 #24
0
ファイル: app.py プロジェクト: Sudharshan1409/Chatting
def chatting(user_id):
    global present_user
    print(present_user)
    user = User.query.get_or_404(user_id)
    form = MessageForm()
    if form.validate_on_submit():
        print('hi')
        msg = Messages(form.message.data, present_user.name, user.name)
        db.session.add(msg)
        db.session.commit()
        db.session.refresh(msg)
        # form.submit.data = False
        return render_template('chatting.html',
                               user=user,
                               users=User.query.all(),
                               messages=Messages.query.all(),
                               form=form)
    print('data : ' + str(form.submit.data))
    return render_template('chatting.html',
                           user=user,
                           users=User.query.all(),
                           messages=Messages.query.all(),
                           form=form)
コード例 #25
0
def index():

    if request.method == 'GET':
        return render_template('contact/index.html')
    elif request.method == 'POST' and recaptcha.verify():
        name = request.form['name']
        email = request.form['email']
        title = request.form['title']
        text = request.form['message']
    else:
        return render_template('contact/index.html', captcha_error='Recaptcha error!')

    if name and email and title and text:
        try:
            message = Messages(name=name, title=title, email=email, text=text)
            db.session.add(message)
            db.session.commit()
        except:
            print('Something wrong! Please, try again.')
            return render_template('contact/index.html')

    feedback_message = Message('Thank you for your attention!', sender=Configuration.ADMINS[0],
              recipients=[email])
    feedback_message.body = render_template("contact/feedback_message.txt",
            name=name)

    customer_message = Message(title, sender=Configuration.ADMINS[0],
                               recipients=[Configuration.ADMINS[0]])
    customer_message.body = render_template("contact/customer_message.txt",
                                            name=name, title=title, email=email, text=text)

    with app.app_context():
        mail.send(feedback_message)
        mail.send(customer_message)

    return redirect(url_for('index'))
コード例 #26
0
def messages(partner):
    # getting logged in user or redirect
    user = get_logged_in_user()
    if not user:
        flash("You are not logged in.", "info")
        return redirect(url_for("index"))

    # getting entry for partner form db
    try:
        partner_id = int(partner)
        partner = db.query(User).filter(User.id == partner_id).first()
    except ValueError:
        flash("Invalid Chatpartner", "info")
        return redirect(url_for("all_users"))

    # if method post, then take message and create new entry in db
    if request.method == "POST":
        message = request.form.get("message")
        time = datetime.datetime.now()

        msg = Messages(message=message,
                       time=time,
                       sender=user.id,
                       receiver=partner.id)
        db.add(msg)
        db.commit()

    # get all messages for logged in user and partner
    msgs = db.query(Messages).filter(
        and_(Messages.sender.in_([user.id, partner.id]),
             Messages.receiver.in_([partner.id, user.id])))

    return render_template("messages.html",
                           messages=msgs,
                           user=user,
                           partner=partner)
コード例 #27
0
def update_status():
    message = request.json['message']
    rating = request.json['rating']
    session_id = request.json['session_id']
    if rating == 0 or rating == 1 or rating == 2 or rating == 3 or rating == 4 or rating == 5:
        rating = rating
    else:
        rating = 5
    if session_id != '':
        user_name = Users_v2.query.filter_by(id=session_id).first().username
        user_id = Users_v2.query.filter_by(id=session_id).first().id
        date_format = '%m-%d-%Y'
        date = datetime.datetime.now(tz=pytz.utc)
        date = date.astimezone(timezone('US/Pacific'))
        date_today = date.strftime(date_format)
        new_poop = Messages(pooper_name=user_name,
                            poop_date=date_today,
                            poop_message=message,
                            poop_rating=rating)
        db.session.add(new_poop)
        db.session.commit()
        send_notifications(message, user_id)
        return 'Success'
    return 'Falure'
コード例 #28
0
def run():

    #Arrange the deletes in the opposite order of the models
    Invites.query.delete()
    Messages.query.delete()
    Chats.query.delete()

    # MYSQL database for gitpod
    db.session.execute("ALTER TABLE invites AUTO_INCREMENT = 1")
    db.session.execute("ALTER TABLE messages AUTO_INCREMENT = 1")
    db.session.execute("ALTER TABLE chats AUTO_INCREMENT = 1")

    # POSTGRES database for heroku
    # db.session.execute("ALTER SEQUENCE messages_id_seq RESTART")
    # db.session.execute("ALTER SEQUENCE chats_id_seq RESTART")

    db.session.add(Chats())
    db.session.add(Chats())
    db.session.add(Chats())
    db.session.add(Chats())
    db.session.add(Chats())
    db.session.add(Chats())

    now = datetime.utcnow()

    ##################
    #     INVITES
    ##################
    db.session.add(Invites(chat_id=1, username="******"))
    db.session.add(Invites(chat_id=1, username="******"))

    ##################
    #     MESSAGES
    ##################
    db.session.add(
        Messages(chat_id=1,
                 writer_username="******",
                 message="'Sup",
                 created_at=now))
    db.session.add(
        Messages(chat_id=2,
                 writer_username="******",
                 message="Konichiwa",
                 created_at=now))
    db.session.add(
        Messages(chat_id=3,
                 writer_username="******",
                 message="Hey",
                 created_at=now))
    db.session.add(
        Messages(chat_id=4,
                 writer_username="******",
                 message="Dude",
                 created_at=now))
    db.session.add(
        Messages(chat_id=5,
                 writer_username="******",
                 message="Yo",
                 created_at=now))
    db.session.add(
        Messages(chat_id=6,
                 writer_username="******",
                 message="Hi",
                 created_at=now))
    ############################################
    db.session.add(
        Messages(chat_id=1,
                 writer_username="******",
                 message="Konichiwa, kolis10",
                 created_at=now + timedelta(minutes=2)))
    db.session.add(
        Messages(chat_id=2,
                 writer_username="******",
                 message="'Sup, Naz",
                 created_at=now + timedelta(minutes=2)))
    db.session.add(
        Messages(chat_id=3,
                 writer_username="******",
                 message="Hi, Curly-Fry",
                 created_at=now + timedelta(minutes=2)))
    db.session.add(
        Messages(chat_id=4,
                 writer_username="******",
                 message="Yo, Coder",
                 created_at=now + timedelta(minutes=2)))
    db.session.add(
        Messages(chat_id=5,
                 writer_username="******",
                 message="Dude, Rager",
                 created_at=now + timedelta(minutes=2)))
    db.session.add(
        Messages(chat_id=6,
                 writer_username="******",
                 message="Hey, Tony",
                 created_at=now + timedelta(minutes=2)))

    db.session.commit()
    return 'seeds ran successfully'
コード例 #29
0
    db.session.add(user1)
    db.session.commit()
is_unq = Users.query.filter_by(username='******').all()
if len(is_unq) == 0:
    user2 = Users(username='******', password='******')
    db.session.add(user2)
    db.session.commit()
is_unq = Messages.query.filter_by(sender=1).all()
if len(is_unq) == 0:
    # Range limits for the coordinates, it will generate it based on these limits.
    lat_limits = (64.5, 66.0)
    lon_limits = (24.5, 26.0)
    for i in range(5):
        msg = Messages(sender=1,
                       sendername='example0',
                       message="sender1 test msg " + str(i),
                       timestamp=datetime.datetime.now(),
                       latitude=random.uniform(lat_limits[0], lat_limits[1]),
                       longitude=random.uniform(lon_limits[0], lon_limits[1]))
        db.session.add(msg)
    db.session.commit()
is_unq = Messages.query.filter_by(sender=2).all()
if len(is_unq) == 0:
    # Range limits for the coordinates, it will generate it based on these limits.
    lat_limits = (64.5, 66.0)
    lon_limits = (24.5, 26.0)
    for i in range(5):
        msg = Messages(sender=2,
                       sendername='example1',
                       message="sender2 test msg " + str(i),
                       timestamp=datetime.datetime.now(),
                       latitude=random.uniform(lat_limits[0], lat_limits[1]),
コード例 #30
0
def send(user):
    message = request.form["message"]
    mes = Messages(session["user"], int(user), message)
    db.session.add(mes)
    db.session.commit()
    return redirect("/message/" + user)