[Notes] [Git][BuildStream/buildstream][jonathan/faster-except-elements] 6 commits: CASCache: Fix cell-var-from-loop linting error



Title: GitLab

Jonathan Maw pushed to branch jonathan/faster-except-elements at BuildStream / buildstream

Commits:

6 changed files:

Changes:

  • buildstream/_artifactcache/cascache.py
    ... ... @@ -318,7 +318,7 @@ class CASCache(ArtifactCache):
    318 318
                             resource_name = '/'.join(['uploads', str(uuid_), 'blobs',
    
    319 319
                                                       digest.hash, str(digest.size_bytes)])
    
    320 320
     
    
    321
    -                        def request_stream():
    
    321
    +                        def request_stream(resname):
    
    322 322
                                 with open(self.objpath(digest), 'rb') as f:
    
    323 323
                                     assert os.fstat(f.fileno()).st_size == digest.size_bytes
    
    324 324
                                     offset = 0
    
    ... ... @@ -332,12 +332,12 @@ class CASCache(ArtifactCache):
    332 332
                                         request.write_offset = offset
    
    333 333
                                         # max. 64 kB chunks
    
    334 334
                                         request.data = f.read(chunk_size)
    
    335
    -                                    request.resource_name = resource_name  # pylint: disable=cell-var-from-loop
    
    335
    +                                    request.resource_name = resname
    
    336 336
                                         request.finish_write = remaining <= 0
    
    337 337
                                         yield request
    
    338 338
                                         offset += chunk_size
    
    339 339
                                         finished = request.finish_write
    
    340
    -                        response = remote.bytestream.Write(request_stream())
    
    340
    +                        response = remote.bytestream.Write(request_stream(resource_name))
    
    341 341
     
    
    342 342
                         request = buildstream_pb2.UpdateReferenceRequest()
    
    343 343
                         request.keys.append(ref)
    

  • buildstream/_includes.py
    ... ... @@ -10,11 +10,15 @@ from ._exceptions import LoadError, LoadErrorReason
    10 10
     #
    
    11 11
     # Args:
    
    12 12
     #    loader (Loader): The Loader object
    
    13
    +#    copy_tree (bool): Whether to make a copy, of tree in
    
    14
    +#                      provenance. Should be true if intended to be
    
    15
    +#                      serialized.
    
    13 16
     class Includes:
    
    14 17
     
    
    15
    -    def __init__(self, loader):
    
    18
    +    def __init__(self, loader, *, copy_tree=False):
    
    16 19
             self._loader = loader
    
    17 20
             self._loaded = {}
    
    21
    +        self._copy_tree = copy_tree
    
    18 22
     
    
    19 23
         # process()
    
    20 24
         #
    
    ... ... @@ -96,10 +100,11 @@ class Includes:
    96 100
             directory = project.directory
    
    97 101
             file_path = os.path.join(directory, include)
    
    98 102
             key = (current_loader, file_path)
    
    99
    -        if file_path not in self._loaded:
    
    103
    +        if key not in self._loaded:
    
    100 104
                 self._loaded[key] = _yaml.load(os.path.join(directory, include),
    
    101 105
                                                shortname=shortname,
    
    102
    -                                           project=project)
    
    106
    +                                           project=project,
    
    107
    +                                           copy_tree=self._copy_tree)
    
    103 108
             return self._loaded[key], file_path, current_loader
    
    104 109
     
    
    105 110
         # _process_value()
    

  • buildstream/_loader/loader.py
    ... ... @@ -78,7 +78,7 @@ class Loader():
    78 78
             self._elements = {}       # Dict of elements
    
    79 79
             self._loaders = {}        # Dict of junction loaders
    
    80 80
     
    
    81
    -        self._includes = Includes(self)
    
    81
    +        self._includes = Includes(self, copy_tree=True)
    
    82 82
     
    
    83 83
         # load():
    
    84 84
         #
    

  • buildstream/_pipeline.py
    ... ... @@ -235,6 +235,9 @@ class Pipeline():
    235 235
         #                       exceptions removed
    
    236 236
         #
    
    237 237
         def except_elements(self, targets, elements, except_targets):
    
    238
    +        if not except_targets:
    
    239
    +            return elements
    
    240
    +
    
    238 241
             targeted = list(self.dependencies(targets, Scope.ALL))
    
    239 242
             visited = []
    
    240 243
     
    

  • buildstream/_project.py
    ... ... @@ -419,7 +419,7 @@ class Project():
    419 419
                                  parent=parent_loader,
    
    420 420
                                  tempdir=tempdir)
    
    421 421
     
    
    422
    -        self._project_includes = Includes(self.loader)
    
    422
    +        self._project_includes = Includes(self.loader, copy_tree=False)
    
    423 423
     
    
    424 424
             project_conf_first_pass = _yaml.node_copy(self._project_conf)
    
    425 425
             self._project_includes.process(project_conf_first_pass, only_local=True)
    

  • buildstream/source.py
    ... ... @@ -794,7 +794,7 @@ class Source(Plugin):
    794 794
                     # Save the ref in the originating file
    
    795 795
                     #
    
    796 796
                     try:
    
    797
    -                    _yaml.dump(_yaml.node_sanitize(provenance.toplevel), provenance.filename.name)
    
    797
    +                    _yaml.dump(provenance.toplevel, provenance.filename.name)
    
    798 798
                     except OSError as e:
    
    799 799
                         raise SourceError("{}: Error saving source reference to '{}': {}"
    
    800 800
                                           .format(self, provenance.filename.name, e),
    



  • [Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]