Use voussoirkit.gentools for chunk_generator.
This commit is contained in:
		
							parent
							
								
									3f32ab1664
								
							
						
					
					
						commit
						5a868dc7bd
					
				
					 2 changed files with 2 additions and 19 deletions
				
			
		|  | @ -1,21 +1,3 @@ | ||||||
| def chunk_sequence(sequence, chunk_length, allow_incomplete=True): |  | ||||||
|     ''' |  | ||||||
|     Given a sequence, yield lists of length `chunk_length`. |  | ||||||
| 
 |  | ||||||
|     allow_incomplete: |  | ||||||
|         If True, allow the final chunk to be shorter if the |  | ||||||
|         given sequence is not an exact multiple of `chunk_length`. |  | ||||||
|         If False, the incomplete chunk will be discarded. |  | ||||||
|     ''' |  | ||||||
|     import itertools |  | ||||||
|     iterator = iter(sequence) |  | ||||||
|     while True: |  | ||||||
|         chunk = list(itertools.islice(iterator, chunk_length)) |  | ||||||
|         if not chunk: |  | ||||||
|             break |  | ||||||
|         if len(chunk) == chunk_length or allow_incomplete: |  | ||||||
|             yield chunk |  | ||||||
| 
 |  | ||||||
| def truthystring(s): | def truthystring(s): | ||||||
|     if isinstance(s, (bool, int)) or s is None: |     if isinstance(s, (bool, int)) or s is None: | ||||||
|         return s |         return s | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| import apiclient.discovery | import apiclient.discovery | ||||||
| import isodate | import isodate | ||||||
| 
 | 
 | ||||||
|  | from voussoirkit import gentools | ||||||
| from voussoirkit import vlogging | from voussoirkit import vlogging | ||||||
| 
 | 
 | ||||||
| from . import helpers | from . import helpers | ||||||
|  | @ -126,7 +127,7 @@ class Youtube: | ||||||
| 
 | 
 | ||||||
|     def get_videos(self, video_ids): |     def get_videos(self, video_ids): | ||||||
|         snippets = [] |         snippets = [] | ||||||
|         chunks = helpers.chunk_sequence(video_ids, 50) |         chunks = gentools.chunk_generator(video_ids, 50) | ||||||
|         for chunk in chunks: |         for chunk in chunks: | ||||||
|             self.log.debug('Requesting batch of %d video ids.', len(chunk)) |             self.log.debug('Requesting batch of %d video ids.', len(chunk)) | ||||||
|             self.log.loud(chunk) |             self.log.loud(chunk) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue