MCPcopy Create free account
hub / github.com/AstroPrint/AstroBox / updateSoftware

Method updateSoftware

src/astroprint/software.py:513–592  ·  view source on GitHub ↗
(self, releases)

Source from the content-addressed store, hash-verified

511 return data
512
513 def updateSoftware(self, releases):
514 self._status = 'updating'
515 self._releases = releases
516 releaseInfo = []
517 platforms = {
518 self.data['variant']['id']: self.data['platform']
519 }
520 platforms.update({p['variant']['id']: p['platform'] for p in self.data['additional'] if 'platform' in p})
521
522 for rel in releases:
523 try:
524 r = requests.get(
525 '%s/astrobox/software/release/%s' % (roConfig('cloud.apiHost'), rel),
526 auth = self._checkAuth(),
527 headers = self._requestHeaders
528 )
529
530 if r.status_code == 200:
531 data = r.json()
532
533 if data and 'download_url' in data and 'platform' in data and 'variant' in data and 'id' in data['variant']:
534
535 if data['platform'] is None or ( data['variant']['id'] in platforms and data['platform'] == platforms[data['variant']['id']]):
536 releaseInfo.append(data)
537
538 else:
539 self._logger.error('Invalid Platform: %s' % data['platform'])
540 self._status = 'failed'
541 return False
542
543 else:
544 self._logger.error('Invalid Server response:')
545 self._logger.error(data)
546 self._status = 'failed'
547 return False
548
549 else:
550 self._logger.error('Error updating software release info. Server returned: %d' % r.status_code)
551 self._status = 'failed'
552 return False
553
554 except Exception as e:
555 self._logger.error('Error updating software release info: %s' % e, exc_info = True)
556 self._status = 'failed'
557 return False
558
559 if releaseInfo:
560 def progressCb(phase, progress, message):
561 eventManager().fire(Events.SOFTWARE_UPDATE, {
562 'completed': False,
563 'progress': progress,
564 'status': self._status,
565 'message': message
566 })
567
568 self.lastCompletionPercent = progress
569 self.lastMessage = message
570

Callers 2

updateSoftwareVersionMethod · 0.80
updateSoftwareVersionFunction · 0.80

Calls 8

_checkAuthMethod · 0.95
roConfigFunction · 0.90
SoftwareUpdaterClass · 0.85
updateMethod · 0.80
appendMethod · 0.80
getMethod · 0.45
errorMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected