summaryrefslogtreecommitdiff
path: root/python/update.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/update.py')
-rw-r--r--python/update.py97
1 files changed, 80 insertions, 17 deletions
diff --git a/python/update.py b/python/update.py
index 5bcd9a98..36c1a520 100644
--- a/python/update.py
+++ b/python/update.py
@@ -115,16 +115,16 @@ class UpdateProgressCallback(object):
class UpdateChannel(with_metaclass(_UpdateChannelMetaClass, object)):
def __init__(self, name, desc, ver):
- self.name = name
- self.description = desc
- self.latest_version_num = ver
+ self._name = name
+ self._description = desc
+ self._latest_version_num = ver
@property
def versions(self):
"""List of versions (read-only)"""
count = ctypes.c_ulonglong()
errors = ctypes.c_char_p()
- versions = core.BNGetUpdateChannelVersions(self.name, count, errors)
+ versions = core.BNGetUpdateChannelVersions(self._name, count, errors)
if errors:
error_str = errors.value
core.BNFreeString(ctypes.cast(errors, ctypes.POINTER(ctypes.c_byte)))
@@ -140,14 +140,14 @@ class UpdateChannel(with_metaclass(_UpdateChannelMetaClass, object)):
"""Latest version (read-only)"""
count = ctypes.c_ulonglong()
errors = ctypes.c_char_p()
- versions = core.BNGetUpdateChannelVersions(self.name, count, errors)
+ versions = core.BNGetUpdateChannelVersions(self._name, count, errors)
if errors:
error_str = errors.value
core.BNFreeString(ctypes.cast(errors, ctypes.POINTER(ctypes.c_byte)))
raise IOError(error_str)
result = None
for i in range(0, count.value):
- if versions[i].version == self.latest_version_num:
+ if versions[i].version == self._latest_version_num:
result = UpdateVersion(self, versions[i].version, versions[i].notes, versions[i].time)
break
core.BNFreeUpdateChannelVersionList(versions, count.value)
@@ -157,7 +157,7 @@ class UpdateChannel(with_metaclass(_UpdateChannelMetaClass, object)):
def updates_available(self):
"""Whether updates are available (read-only)"""
errors = ctypes.c_char_p()
- result = core.BNAreUpdatesAvailable(self.name, None, None, errors)
+ result = core.BNAreUpdatesAvailable(self._name, None, None, errors)
if errors:
error_str = errors.value
core.BNFreeString(ctypes.cast(errors, ctypes.POINTER(ctypes.c_byte)))
@@ -171,45 +171,108 @@ class UpdateChannel(with_metaclass(_UpdateChannelMetaClass, object)):
raise AttributeError("attribute '%s' is read only" % name)
def __repr__(self):
- return "<channel: %s>" % self.name
+ return "<channel: %s>" % self._name
def __str__(self):
- return self.name
+ return self._name
def update_to_latest(self, progress = None):
cb = UpdateProgressCallback(progress)
errors = ctypes.c_char_p()
- result = core.BNUpdateToLatestVersion(self.name, errors, cb.cb, None)
+ result = core.BNUpdateToLatestVersion(self._name, errors, cb.cb, None)
if errors:
error_str = errors.value
core.BNFreeString(ctypes.cast(errors, ctypes.POINTER(ctypes.c_byte)))
raise IOError(error_str)
return UpdateResult(result)
+ @property
+ def name(self):
+ """ """
+ return self._name
+
+ @name.setter
+ def name(self, value):
+ self._name = value
+
+ @property
+ def description(self):
+ """ """
+ return self._description
+
+ @description.setter
+ def description(self, value):
+ self._description = value
+
+ @property
+ def latest_version_num(self):
+ """ """
+ return self._latest_version_num
+
+ @latest_version_num.setter
+ def latest_version_num(self, value):
+ self._latest_version_num = value
+
class UpdateVersion(object):
def __init__(self, channel, ver, notes, t):
- self.channel = channel
- self.version = ver
- self.notes = notes
- self.time = t
+ self._channel = channel
+ self._version = ver
+ self._notes = notes
+ self._time = t
def __repr__(self):
- return "<version: %s>" % self.version
+ return "<version: %s>" % self._version
def __str__(self):
- return self.version
+ return self._version
def update(self, progress = None):
cb = UpdateProgressCallback(progress)
errors = ctypes.c_char_p()
- result = core.BNUpdateToVersion(self.channel.name, self.version, errors, cb.cb, None)
+ result = core.BNUpdateToVersion(self._channel.name, self._version, errors, cb.cb, None)
if errors:
error_str = errors.value
core.BNFreeString(ctypes.cast(errors, ctypes.POINTER(ctypes.c_byte)))
raise IOError(error_str)
return UpdateResult(result)
+ @property
+ def channel(self):
+ """ """
+ return self._channel
+
+ @channel.setter
+ def channel(self, value):
+ self._channel = value
+
+ @property
+ def version(self):
+ """ """
+ return self._version
+
+ @version.setter
+ def version(self, value):
+ self._version = value
+
+ @property
+ def notes(self):
+ """ """
+ return self._notes
+
+ @notes.setter
+ def notes(self, value):
+ self._notes = value
+
+ @property
+ def time(self):
+ """ """
+ return self._time
+
+ @time.setter
+ def time(self, value):
+ self._time = value
+
def are_auto_updates_enabled():
"""