-
Notifications
You must be signed in to change notification settings - Fork 0
/
__init__.py
66 lines (46 loc) · 1.74 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
from flask import Flask, render_template
from flask import request, redirect
from flask_limiter import Limiter
import time
from twitter import *
#Get API Tokens
access_token = "access_token"
access_token_secret = "access_token_secret"
consumer_key = "consumer_key"
consumer_secret = "consumer_secret"
t = Twitter(auth=OAuth(access_token, access_token_secret, consumer_key, consumer_secret))
app = Flask(__name__)
limiter = Limiter(app)
#Hello
@app.route('/')
def hello_world():
author = "Me"
name = "Dustin Dobernig"
message = "Welcome to TweetItSecret. Want to confess something anonomously? Click or tap this box, type it out and we'll tweet it for you."
return render_template('index.html', author=author, name=name, message=message,)
#Get and post tweet
@app.route('/', methods = ['POST'])
def tweet_it():
if request.method == 'POST':
tweet = request.form['tweet']
if tweet == "Welcome to TweetItSecret. Want to confess something anonomously? Click or tap this box, type it out and we'll tweet it for you.":
return redirect('/')
elif tweet == "Tweet sent.":
return redirect('/')
elif tweet == "":
return redirect('/')
else:
t.statuses.update(status = tweet + " #secret")
return redirect('/success')
@app.route('/success')
def tweet_sent():
author = "Me"
name = "Dustin Dobernig"
message = "Tweet sent."
return render_template('index.html', author=author, name=name, message=message,)
def get_resource_as_string(name, charset='utf-8'):
with app.open_resource(name) as f:
return f.read().decode(charset)
app.jinja_env.globals['get_resource_as_string'] = get_resource_as_string
if __name__ == "__main__":
app.run()