dyer234 / pywinsparkle Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
This bug was reported and resolved here:
This prevents the pywinsparkle wrapper function win_sparkle_check_update_without_ui() from working.
Winsparkle has not released a new version yet though. Work arounds include using an older version of pywinsparkle 1.3.0 or 1.2.0 if you need the silent check. Also just using the normal win_sparkle_check_update_with_ui()
The build script only builds wheels up to Python 3.6, while PSF has released 3.7, 3.8, 3.9, 3.10 and is about to release 3.11.
The build script should be updated to include these versions, and wheels uploaded to PyPI.
In fact, PyPI has v1.6.0, which appears to support Python 3.7, while this repo only has version 1.5.0 supporting Python 3.6, so there might be a commit that hasn't been pushed for that too?
Happy to send a PR for this if you'd welcome contributions?
Hi,
When i run the version 1.0.0, it detects the new verion 1.1.0 and ask to press install. But both the applications are visible. It didn't overwrite the old one. So New one unzipped in temp folder and when i close the application. the new version disappears. Please help me to fix this issue.
`import numpy as np
import sys
import pandas as pd
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar
import csv
from mpldatacursor import datacursor
from PyQt5.QtWidgets import QApplication,QMenu, QVBoxLayout, QSizePolicy, QWidget, QMainWindow, QPushButton, QToolTip, QMessageBox, QAction, QFileDialog,
QGraphicsView
from PyQt5.QtCore import QCoreApplication
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QColor
from matplotlib.figure import Figure
import warnings
warnings.simplefilter(action="ignore",category= RuntimeWarning)
from pywinsparkle import pywinsparkle
import os
def no_update_found():
""" when no update has been found, close the updater"""
print("No update found")
print("Setting flag to shutdown PassagesUpdater")
def found_update():
#""" log that an update was found """
print("New Update Available")
def encountered_error():
print("An error occurred")
def update_cancelled():
#""" when the update was cancelled, close the updater"""
print("Update was cancelled")
print("Setting flag to shutdown PassagesUpdater")
def shutdown():
#""" The installer is being launched signal the updater to shutdown """
# actually shutdown the app here
print("Safe to shutdown before installing")
def main():
# register callbacks
pywinsparkle.win_sparkle_set_did_find_update_callback(found_update)
pywinsparkle.win_sparkle_set_error_callback(encountered_error)
pywinsparkle.win_sparkle_set_update_cancelled_callback(update_cancelled)
pywinsparkle.win_sparkle_set_did_not_find_update_callback(no_update_found)
pywinsparkle.win_sparkle_set_shutdown_request_callback(shutdown)
# set application details
update_url = "http://localhost:8000/appcast.xml"
pywinsparkle.win_sparkle_set_appcast_url(update_url)
pywinsparkle.win_sparkle_set_app_details("Vestas", "Outview", "1.0.0")
if os.path.isfile('dsa_pub.pem'):
with open('dsa_pub.pem', 'r') as file:
pub_key = file.read()
pywinsparkle.win_sparkle_set_dsa_pub_pem(pub_key)
# initialize
pywinsparkle.win_sparkle_init()
# check for updates
pywinsparkle.win_sparkle_check_update_with_ui()
# alternatively you could check for updates in the
# background silently
#pywinsparkle.win_sparkle_check_update_without_ui()
# dont do it this way, just an example to keep the thread running
#while True:
#time.sleep(1)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1054, 831)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
.
.
.
.
if name == "main":
app = QtWidgets.QApplication(sys.argv)
w = MainWindow()
w.show()
main()
sys.exit(app.exec_())`
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.