Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2009-2010 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2009-2010 The Chromium OS Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from buildutil import BuildObject | 5 from buildutil import BuildObject |
| 6 from xml.dom import minidom | 6 from xml.dom import minidom |
| 7 | 7 |
| 8 import cherrypy | 8 import cherrypy |
| 9 import os | 9 import os |
| 10 import shutil | 10 import shutil |
| (...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 522 def GenerateUpdatePayloadForNonFactory(self, board_id, client_version, | 522 def GenerateUpdatePayloadForNonFactory(self, board_id, client_version, |
| 523 static_image_dir): | 523 static_image_dir): |
| 524 """Generates an update for non-factory image. | 524 """Generates an update for non-factory image. |
| 525 | 525 |
| 526 Returns: | 526 Returns: |
| 527 file name relative to static_image_dir on success. | 527 file name relative to static_image_dir on success. |
| 528 """ | 528 """ |
| 529 if self.forced_payload: | 529 if self.forced_payload: |
| 530 # If the forced payload is not already in our static_image_dir, | 530 # If the forced payload is not already in our static_image_dir, |
| 531 # copy it there. | 531 # copy it there. |
| 532 if (os.path.dirname(os.path.abspath(self.forced_payload)) != | 532 src_path = os.path.abspath(self.forced_payload) |
| 533 os.path.abspath(static_image_dir)): | 533 dest_path = os.path.join(static_image_dir, UPDATE_FILE) |
| 534 self._Copy(self.forced_payload, os.path.join(static_image_dir, | |
| 535 UPDATE_FILE)) | |
| 536 | 534 |
| 537 self._Copy(os.path.join(os.path.dirname(self.forced_payload), | 535 src_stateful = os.path.join(os.path.dirname(src_path), |
| 538 STATEFUL_FILE), | 536 STATEFUL_FILE) |
| 539 os.path.join(static_image_dir, | 537 dest_stateful = os.path.join(static_image_dir, |
| 540 STATEFUL_FILE)) | 538 STATEFUL_FILE) |
| 539 | |
| 540 # If the files are already in the destination dir, don't copy them. | |
| 541 if os.path.dirname(src_path) != os.path.abspath(static_image_dir): | |
|
sosa
2010/11/23 00:49:42
The comment here is somewhat misleading. Can you
dgarrett
2010/11/23 01:30:27
Done.
| |
| 542 self._Copy(src_path, dest_path) | |
| 543 | |
| 544 # The stateful payload is optional. | |
| 545 if os.path.exists(src_stateful): | |
|
sosa
2010/11/23 00:49:42
I'm not really sure this should be optional. Mayb
dgarrett
2010/11/23 01:30:27
It's normal for it to be missing for some workflow
sosa
2010/11/23 01:51:11
It should always be there for an image that is a D
dgarrett
2010/11/23 02:16:40
Done.
| |
| 546 self._Copy(src_stateful, dest_stateful) | |
| 547 else: | |
| 548 # If the source doesn't exist, don't leave an outdated stateful | |
| 549 # file around. | |
| 550 if os.path.exists(dest_stateful): | |
| 551 os.remove(dest_stateful) | |
| 541 | 552 |
| 542 return UPDATE_FILE | 553 return UPDATE_FILE |
| 543 elif self.forced_image: | 554 elif self.forced_image: |
| 544 return self.GenerateUpdateImageWithCache( | 555 return self.GenerateUpdateImageWithCache( |
| 545 self.forced_image, | 556 self.forced_image, |
| 546 static_image_dir=static_image_dir) | 557 static_image_dir=static_image_dir) |
| 547 elif self.serve_only: | 558 elif self.serve_only: |
| 548 return self.GenerateImageFromZip(static_image_dir) | 559 return self.GenerateImageFromZip(static_image_dir) |
| 549 else: | 560 else: |
| 550 if board_id: | 561 if board_id: |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 637 is_delta_format = self._IsDeltaFormatFile(filename) | 648 is_delta_format = self._IsDeltaFormatFile(filename) |
| 638 if label: | 649 if label: |
| 639 url = '%s/%s/%s' % (static_urlbase, label, payload_path) | 650 url = '%s/%s/%s' % (static_urlbase, label, payload_path) |
| 640 else: | 651 else: |
| 641 url = '%s/%s' % (static_urlbase, payload_path) | 652 url = '%s/%s' % (static_urlbase, payload_path) |
| 642 | 653 |
| 643 _LogMessage('Responding to client to use url %s to get image.' % url) | 654 _LogMessage('Responding to client to use url %s to get image.' % url) |
| 644 return self.GetUpdatePayload(hash, sha256, size, url, is_delta_format) | 655 return self.GetUpdatePayload(hash, sha256, size, url, is_delta_format) |
| 645 else: | 656 else: |
| 646 return self.GetNoUpdatePayload() | 657 return self.GetNoUpdatePayload() |
| OLD | NEW |