Merge pull request #45 from ltworf/version_check

Fix version check
master
Salvo 'LtWorf' Tomaselli 2020-09-20 21:07:09 +07:00 committed by GitHub
commit 087b78c414
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 15 deletions

@ -1,3 +1,6 @@
3.1
- Fix version check
3.0
- UI shows different colours for different types
- Better documentation on the website

@ -18,8 +18,6 @@
#
# Stuff non-related to relational algebra, but used for maintenance.
import http.client
import urllib.parse
import os.path
import pickle
import base64
@ -30,15 +28,16 @@ from relational import parser
from relational.rtypes import is_valid_relation_name
SWEARWORDS = {'fuck', 'shit', 'suck', 'merda', 'mierda', 'merde'}
def send_survey(data) -> int:
'''Sends the survey. Data must be a dictionary.
returns the http response.
returns 0 in case of error
returns -1 in case of swearwords'''
import urllib.parse
from http.client import HTTPConnection
SWEARWORDS = {'fuck', 'shit', 'suck', 'merda', 'mierda', 'merde'}
post = ''
for i in data.keys():
@ -53,7 +52,7 @@ def send_survey(data) -> int:
params = urllib.parse.urlencode({'survey': post})
headers = {"Content-type":
"application/x-www-form-urlencoded", "Accept": "text/plain"}
connection = http.client.HTTPConnection('feedback-ltworf.appspot.com')
connection = HTTPConnection('feedback-ltworf.appspot.com')
try:
connection.request("POST", "/feedback/relational", params, headers)
return connection.getresponse().status
@ -65,19 +64,17 @@ def check_latest_version() -> Optional[str]:
'''Returns the latest version available.
Heavely dependent on server and server configurations
not granted to work forever.'''
connection = http.client.HTTPConnection('feedback-ltworf.appspot.com')
import json
import urllib.request
try:
connection.request("GET", "/version/relational")
r = connection.getresponse()
req = urllib.request.Request('https://api.github.com/repos/ltworf/relational/releases')
with urllib.request.urlopen(req) as f:
data = json.load(f)
return data[0]['name']
except:
return None
# html
s = r.read()
if len(s) == 0:
return None
return s.decode().strip()
class UserInterface: