Added config system, Updated readme, Fixed DB connections stalling with multiple uWSGI workers, Made it less prone to crashing if necessary files are not present
This commit is contained in:
parent
4aa3c9a59e
commit
2f9f160b34
4 changed files with 19 additions and 3 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
config.json
|
BIN
example.gif
BIN
example.gif
Binary file not shown.
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 3.5 MiB |
|
@ -10,7 +10,7 @@ just put the url to the server, and directly after, the full URL to the tweet yo
|
||||||
|
|
||||||
**I now have a copy of this running on a Linode server, you can use it via the following url**
|
**I now have a copy of this running on a Linode server, you can use it via the following url**
|
||||||
|
|
||||||
https://fxtwitter.com/`<twitter video url>`
|
https://fxtwitter.com/`twitter video url` or `last half of twitter url (everything past twitter.com/)`
|
||||||
|
|
||||||
You can also simply type out 'fx' directly before 'twitter.com' in any valid twitter video url, and that will convert it into a working TwitFix url, for example:
|
You can also simply type out 'fx' directly before 'twitter.com' in any valid twitter video url, and that will convert it into a working TwitFix url, for example:
|
||||||
|
|
||||||
|
|
19
twitfix.py
19
twitfix.py
|
@ -3,19 +3,34 @@ import pymongo
|
||||||
import youtube_dl
|
import youtube_dl
|
||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
|
import os
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
pathregex = re.compile("\\w{1,15}\\/status\\/\\d{19}")
|
pathregex = re.compile("\\w{1,15}\\/status\\/\\d{19}")
|
||||||
|
|
||||||
link_cache_system = "json" # Select your prefered link cache system, "db" for mongoDB or "json" for locally writing a json file ( not great if using multiple workers )
|
if not os.path.exists("config.json"):
|
||||||
|
with open("config.json", "w") as outfile:
|
||||||
|
default = {"config":{"link_cache":"json","database":"[url to mongo database goes here]","method":"youtube-dl"},"api":{"consumer_key":"[consumer key goes here]","consumer_secret":"[consumer secret goes here]","access_token_key":"[access token key goes here]","access_token_secret":"[access token secret goes here]"}}
|
||||||
|
json.dump(default, outfile, indent=4, sort_keys=True)
|
||||||
|
|
||||||
|
f = open("config.json")
|
||||||
|
config = json.load(f)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
link_cache_system = config['config']['link_cache'] # Select your prefered link cache system, "db" for mongoDB or "json" for locally writing a json file ( not great if using multiple workers )
|
||||||
|
|
||||||
if link_cache_system == "json":
|
if link_cache_system == "json":
|
||||||
link_cache = {}
|
link_cache = {}
|
||||||
|
if not os.path.exists("config.json"):
|
||||||
|
with open("config.json", "w") as outfile:
|
||||||
|
deflinkcache = {"test":"test"}
|
||||||
|
json.dump(deflinkcache, outfile, indent=4, sort_keys=True)
|
||||||
|
|
||||||
f = open('links.json',)
|
f = open('links.json',)
|
||||||
link_cache = json.load(f)
|
link_cache = json.load(f)
|
||||||
f.close()
|
f.close()
|
||||||
elif link_cache_system == "db":
|
elif link_cache_system == "db":
|
||||||
client = pymongo.MongoClient("PUT YOUR MONGODB URL HERE")
|
client = pymongo.MongoClient(config['config']['database'], connect=False)
|
||||||
db = client.TwitFix
|
db = client.TwitFix
|
||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
|
|
Loading…
Reference in a new issue