Skip to content
Merged
2 changes: 1 addition & 1 deletion DataStructures/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class Data:
Version Updater
'''
lastChecked = -1
pyInstallCurrentVersion = 0.830
pyInstallCurrentVersion = 0.933
pyInstallUpdateAvailable = False
pyInstallUpdateBrowserUrl = ""
pyInstallUpdateVersion = 0
Expand Down
16 changes: 8 additions & 8 deletions File/gcodeFile.py
Original file line number Diff line number Diff line change
Expand Up @@ -338,14 +338,14 @@ def drawMCommand(self, mString):
self.line3D[-1].dashed = False

def getSpindleSpeed(self, mString):
code = mString[mString.find("S")+1:]
try:
if code!="":
return float(code)
else:
return 0
except:
return -1
sPos = mString.find("S")
speed = ""
if sPos != -1:
speed = mString[sPos+1:]
if speed != "":
return float(speed)
else:
return 0

def getToolNumber(self, mString):
code0 = mString.find("T")
Expand Down
74 changes: 51 additions & 23 deletions ReleaseManager/releaseManager.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,16 @@ def __init__(self):
latestRelease = None

def getReleases(self):
return self.releases
tempReleases = []
enableExperimental = self.data.config.getValue("WebControl Settings", "experimentalReleases")
for release in self.releases:
if not enableExperimental:
if not self.isExperimental(re.sub(r'[v]', r'', release.tag_name)):
tempReleases.append(release)
else:
tempReleases.append(release)
return tempReleases


def getLatestRelease(self):
return self.latestRelease
Expand All @@ -30,18 +39,23 @@ def checkForLatestPyRelease(self):
if True: # self.data.platform=="PYINSTALLER":
print("Checking latest pyrelease.")
try:
enableExperimental = self.data.config.getValue("WebControl Settings", "experimentalReleases")
g = Github()
repo = g.get_repo("madgrizzle/WebControl")
self.releases = repo.get_releases()
latestVersionGithub = 0
self.latestRelease = None
# type = self.data.pyInstallType
platform = self.data.pyInstallPlatform
for release in self.releases:
tag_name = re.sub(r'[v]', r'', release.tag_name)
tag_float = float(tag_name)
# print(tag_name)
if tag_float > latestVersionGithub:
eligible = False
if not enableExperimental:
if not self.isExperimental(tag_name):
eligible = True
else:
eligible = True
#print("tag:"+tag_name+", eligible:"+str(eligible))
if eligible and tag_float > latestVersionGithub:
latestVersionGithub = tag_float
self.latestRelease = release

Expand All @@ -50,7 +64,7 @@ def checkForLatestPyRelease(self):
print("Latest release tag: " + self.latestRelease.tag_name)
assets = self.latestRelease.get_assets()
for asset in assets:
if asset.name.find(type) != -1 and asset.name.find(platform) != -1:
if asset.name.find(self.data.pyInstallType) != -1 and asset.name.find(self.data.pyInstallPlatform) != -1:
print(asset.name)
print(asset.url)
self.data.ui_queue1.put("Action", "pyinstallUpdate", "on")
Expand All @@ -60,6 +74,20 @@ def checkForLatestPyRelease(self):
except Exception as e:
print("Error checking pyrelease: " + str(e))

def isExperimental(self, tag):
'''
Deternmines if release is experimental. All even releases are stable, odd releases are experimental
:param tag:
:return:
'''
if float(tag) <= 0.931: # all releases before now are 'stable'
return False
lastDigit = tag[-1]
if (int(lastDigit) % 2) == 0: # only even releases are 'stable'
return False
else:
return True

def processAbsolutePath(self, path):
index = path.find("main.py")
self.data.pyInstallInstalledPath = path[0:index - 1]
Expand Down Expand Up @@ -123,22 +151,22 @@ def make_executable(self, path):


def update(self, version):
if version == self.latestRelease.tag_name:
return self.updatePyInstaller()
else:
print("downgrade to ")
print(version)
type = self.data.pyInstallType
platform = self.data.pyInstallPlatform
for release in self.releases:
if release.tag_name == version:
assets = release.get_assets()
for asset in assets:
if asset.name.find(type) != -1 and asset.name.find(platform) != -1:
print(asset.name)
print(asset.url)
self.data.pyInstallUpdateBrowserUrl = asset.browser_download_url
print(self.data.pyInstallUpdateBrowserUrl)
return self.updatePyInstaller(True)
'''
Need to clean this up.
:param version:
:return:
'''
for release in self.releases:
if release.tag_name == version:
assets = release.get_assets()
for asset in assets:
if asset.name.find(self.data.pyInstallType) != -1 and asset.name.find(self.data.pyInstallPlatform) != -1:
print(asset.name)
print(asset.url)
self.data.pyInstallUpdateBrowserUrl = asset.browser_download_url
print(self.data.pyInstallUpdateBrowserUrl)
return self.updatePyInstaller(True)
print("hmmm.. issue")
return False


22 changes: 11 additions & 11 deletions defaultwebcontrol.json
Original file line number Diff line number Diff line change
Expand Up @@ -975,13 +975,13 @@
"value": ".nc, .ngc, .text, .gcode"
},
{
"default": "0",
"default": 0,
"desc": "Use 3D render with orbital controls in lieu of standard 2D rendering with pan/zoom\ndefault setting: False",
"key": "enable3D",
"section": "WebControl Settings",
"title": "Enable 3D Display",
"type": "bool",
"value": "0"
"value": 0
},
{
"default": 5000,
Expand All @@ -991,6 +991,15 @@
"title": "Web Port Number",
"type": "int",
"value": 5000
},
{
"default": 0,
"desc": "Enable experimental releases to appear in release list\ndefault setting: No",
"key": "experimentalReleases",
"section": "WebControl Settings",
"title": "Enable Experimental Releases",
"type": "bool",
"value": 0
}
],
"Camera Settings": [
Expand Down Expand Up @@ -1262,14 +1271,5 @@
"value": ""
}










]
}
1 change: 0 additions & 1 deletion main.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
import os
import sys


monkey.patch_all()


Expand Down
48 changes: 48 additions & 0 deletions static/scripts/touch.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
var onlongtouch;
var timer;
var touchduration = 1500; //length of time we want the user to touch before we do something
var lastTouchEvent = null;


function touchstart(e) {
e.preventDefault();
lastTouchEvent = e;
if (!timer) {
timer = setTimeout(function() {
onlongtouch(lastTouchEvent);
timer = null;
lastTouchEvent = null;
}, touchduration);
}
}

function touchend(e) {
//stops short touches from firing the event
if (timer) {
clearTimeout(timer);
timer = null;
lastTouchEvent = null;
}
}

onlongtouch = function(e) {
console.log("long touch detected", e.touches[0].clientX, e.touches[0].clientY);
event = {
clientX: e.touches[0].clientX,
clientY: e.touches[0].clientY
}
var pos = cursorPosition();
x = pos.x;
x = x.toFixed(4);
pos.x = x;

y = pos.y;
y = y.toFixed(4);
pos.y = y;
requestPage("screenAction",pos)
};

document.addEventListener("DOMContentLoaded", function(event) {
$("#workarea")[0].addEventListener("touchstart", touchstart, false);
$("#workarea")[0].addEventListener("touchend", touchend, false);
});
1 change: 1 addition & 0 deletions templates/frontpage3d_mobile.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<script src="{{ url_for('static',filename='scripts/feather.min.js') }}" crossorigin="anonymous"></script>
<script src="{{ url_for('static',filename='scripts/three.js') }}" crossorigin="anonymous"></script>
<script src="{{ url_for('static',filename='scripts/orbitcontrols.js') }}" crossorigin="anonymous"></script>
<script src="{{ url_for('static',filename='scripts/sprite3D.js') }}" crossorigin="anonymous"></script>
<script src="{{ url_for('static',filename='scripts/frontpage3d.js', version='11102018s') }}" crossorigin="anonymous"></script>
<script src="{{ url_for('static',filename='scripts/frontpageControls.js', version='11102018s') }}" crossorigin="anonymous"></script>
<script>feather.replace()</script>
Expand Down