def compute_stats(self): """ Internal: Compute language breakdown for each blob in the Repository. Returns nothing """ if self.computed_stats: return for blob in self.enum: # Skip vendored if blob.is_vendored: continue # Skip files that are likely binary if blob.is_likely_binary: continue # Skip generated blobs if blob.is_generated or blob.language is None: continue # Only include programming languages and acceptable markup languages if blob.language.type == 'programming' or blob.language.name in Language.detectable_markup( ): self.sizes[blob.language.group] += blob.size # Compute total size self._size = sum(self.sizes.itervalues()) # Get primary language primary = sorted(self.sizes.iteritems(), key=lambda t: t[1], reverse=True) if primary: self._language = primary[0][0] self.computed_stats = True
def compute_stats(self): """ Internal: Compute language breakdown for each blob in the Repository. Returns nothing """ if self.computed_stats: return for blob in self.enum: # Skip vendored if blob.is_vendored: continue # Skip files that are likely binary if blob.is_likely_binary: continue # Skip generated blobs if blob.is_generated or blob.language is None: continue # Only include programming languages and acceptable markup languages if blob.language.type == 'programming' or blob.language.name in Language.detectable_markup(): self.sizes[blob.language.group] += blob.size # Compute total size self._size = sum(self.sizes.itervalues()) # Get primary language primary = sorted(self.sizes.iteritems(), key=lambda t: t[1], reverse=True) if primary: self._language = primary[0][0] self.computed_stats = True