pythonify elodie.py
Remove C like parentheses around conditions. Replace “xxx is None” => “not x”. Use tuple when list content won’t change. Fix some others PEP8 warnings.
This commit is contained in:
		
							parent
							
								
									4ca2013572
								
							
						
					
					
						commit
						8a7725f68e
					
				
							
								
								
									
										68
									
								
								elodie.py
									
									
									
									
									
								
							
							
						
						
									
										68
									
								
								elodie.py
									
									
									
									
									
								
							@ -61,35 +61,39 @@ def _import(params):
 | 
				
			|||||||
def _update(params):
 | 
					def _update(params):
 | 
				
			||||||
    location_coords = None
 | 
					    location_coords = None
 | 
				
			||||||
    for file_path in params['INPUT']:
 | 
					    for file_path in params['INPUT']:
 | 
				
			||||||
        if(not os.path.exists(file_path)):
 | 
					        if not os.path.exists(file_path):
 | 
				
			||||||
            if(constants.debug == True):
 | 
					            if constants.debug:
 | 
				
			||||||
                print 'Could not find %s' % file_path
 | 
					                print 'Could not find %s' % file_path
 | 
				
			||||||
            print '{"source":"%s", "error_msg":"Could not find %s"}' % (file_path, file_path)
 | 
					            print '{"source":"%s", "error_msg":"Could not find %s"}' % \
 | 
				
			||||||
 | 
					                (file_path, file_path)
 | 
				
			||||||
            continue
 | 
					            continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        file_path = os.path.expanduser(file_path)
 | 
					        file_path = os.path.expanduser(file_path)
 | 
				
			||||||
        destination = os.path.expanduser(os.path.dirname(os.path.dirname(os.path.dirname(file_path))))
 | 
					        destination = os.path.expanduser(os.path.dirname(os.path.dirname(
 | 
				
			||||||
 | 
					                                         os.path.dirname(file_path))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        media = Media.get_class_by_file(file_path, [Photo, Video])
 | 
					        media = Media.get_class_by_file(file_path, (Photo, Video))
 | 
				
			||||||
        if(media is None):
 | 
					        if not media:
 | 
				
			||||||
            continue
 | 
					            continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        updated = False
 | 
					        updated = False
 | 
				
			||||||
        if(params['--location'] is not None):
 | 
					        if params['--location']:
 | 
				
			||||||
            if(location_coords is None):
 | 
					            if not location_coords:
 | 
				
			||||||
                location_coords = geolocation.coordinates_by_name(params['--location'])
 | 
					                location_coords = geolocation.coordinates_by_name(
 | 
				
			||||||
 | 
					                    params['--location'])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(location_coords is not None and 'latitude' in location_coords and 'longitude' in location_coords):
 | 
					            if location_coords and 'latitude' in location_coords and \
 | 
				
			||||||
                location_status = media.set_location(location_coords['latitude'], location_coords['longitude'])
 | 
					                    'longitude' in location_coords:
 | 
				
			||||||
                if(location_status != True):
 | 
					                location_status = media.set_location(location_coords[
 | 
				
			||||||
                    if(constants.debug == True):
 | 
					                    'latitude'], location_coords['longitude'])
 | 
				
			||||||
 | 
					                if not location_status:
 | 
				
			||||||
 | 
					                    if constants.debug:
 | 
				
			||||||
                        print 'Failed to update location'
 | 
					                        print 'Failed to update location'
 | 
				
			||||||
                    print '{"source":"%s", "error_msg":"Failed to update location"}' % file_path
 | 
					                    print '{"source":"%s","error_msg":"Failed to update location"}' % file_path
 | 
				
			||||||
                    sys.exit(1)
 | 
					                    sys.exit(1)
 | 
				
			||||||
                updated = True
 | 
					                updated = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if params['--time']:
 | 
				
			||||||
        if(params['--time'] is not None):
 | 
					 | 
				
			||||||
            time_string = params['--time']
 | 
					            time_string = params['--time']
 | 
				
			||||||
            time_format = '%Y-%m-%d %H:%M:%S'
 | 
					            time_format = '%Y-%m-%d %H:%M:%S'
 | 
				
			||||||
            if(re.match('^\d{4}-\d{2}-\d{2}$', time_string)):
 | 
					            if(re.match('^\d{4}-\d{2}-\d{2}$', time_string)):
 | 
				
			||||||
@ -106,40 +110,42 @@ def _update(params):
 | 
				
			|||||||
                media.set_date_taken(time)
 | 
					                media.set_date_taken(time)
 | 
				
			||||||
                updated = True
 | 
					                updated = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(params['--album'] is not None):
 | 
					        if params['--album']:
 | 
				
			||||||
            media.set_album(params['--album'])
 | 
					            media.set_album(params['--album'])
 | 
				
			||||||
            updated = True
 | 
					            updated = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Updating a title can be problematic when doing it 2+ times on a file.
 | 
					        # Updating a title can be problematic when doing it 2+ times on a file.
 | 
				
			||||||
        # You would end up with img_001.jpg -> img_001-first-title.jpg -> img_001-first-title-second-title.jpg.
 | 
					        # You would end up with img_001.jpg -> img_001-first-title.jpg ->
 | 
				
			||||||
 | 
					        # img_001-first-title-second-title.jpg.
 | 
				
			||||||
        # To resolve that we have to track the prior title (if there was one.
 | 
					        # To resolve that we have to track the prior title (if there was one.
 | 
				
			||||||
        # Then we massage the updated_media's metadata['base_name'] to remove the old title.
 | 
					        # Then we massage the updated_media's metadata['base_name'] to remove
 | 
				
			||||||
        # Since FileSystem.get_file_name() relies on base_name it will properly rename the file by updating the title
 | 
					        # the old title.
 | 
				
			||||||
        #     instead of appending it.
 | 
					        # Since FileSystem.get_file_name() relies on base_name it will properly
 | 
				
			||||||
 | 
					        #  rename the file by updating the title instead of appending it.
 | 
				
			||||||
        remove_old_title_from_name = False
 | 
					        remove_old_title_from_name = False
 | 
				
			||||||
        if(params['--title'] is not None):
 | 
					        if params['--title']:
 | 
				
			||||||
            # We call get_metadata() to cache it before making any changes
 | 
					            # We call get_metadata() to cache it before making any changes
 | 
				
			||||||
            metadata = media.get_metadata()
 | 
					            metadata = media.get_metadata()
 | 
				
			||||||
            title_update_status = media.set_title(params['--title'])
 | 
					            title_update_status = media.set_title(params['--title'])
 | 
				
			||||||
            original_title = metadata['title']
 | 
					            original_title = metadata['title']
 | 
				
			||||||
            if(title_update_status and original_title is not None):
 | 
					            if title_update_status and original_title:
 | 
				
			||||||
                # @TODO: We should move this to a shared method since FileSystem.get_file_name() does it too.
 | 
					                # @TODO: We should move this to a shared method since FileSystem.get_file_name() does it too.
 | 
				
			||||||
                original_title = re.sub('\W+', '-', original_title.lower())
 | 
					                original_title = re.sub('\W+', '-', original_title.lower())
 | 
				
			||||||
                original_base_name = metadata['base_name']
 | 
					                original_base_name = metadata['base_name']
 | 
				
			||||||
                remove_old_title_from_name = True
 | 
					                remove_old_title_from_name = True
 | 
				
			||||||
            updated = True
 | 
					            updated = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if(updated == True):
 | 
					        if updated:
 | 
				
			||||||
            updated_media = Media.get_class_by_file(file_path, [Photo, Video])
 | 
					            updated_media = Media.get_class_by_file(file_path, (Photo, Video))
 | 
				
			||||||
            # See comments above on why we have to do this when titles get updated.
 | 
					            # See comments above on why we have to do this when titles get updated.
 | 
				
			||||||
            if(remove_old_title_from_name is True and len(original_title) > 0):
 | 
					            if remove_old_title_from_name and len(original_title) > 0:
 | 
				
			||||||
                updated_media.get_metadata()
 | 
					                updated_media.get_metadata()
 | 
				
			||||||
                updated_media.set_metadata_basename(original_base_name.replace('-%s' % original_title, ''))
 | 
					                updated_media.set_metadata_basename(
 | 
				
			||||||
 | 
					                    original_base_name.replace('-%s' % original_title, ''))
 | 
				
			||||||
            dest_path = filesystem.process_file(file_path, destination, updated_media, move=True, allowDuplicate=True)
 | 
					 | 
				
			||||||
            if(constants.debug == True):
 | 
					 | 
				
			||||||
                print '%s -> %s' % (file_path, dest_path)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            dest_path = filesystem.process_file(file_path, destination,
 | 
				
			||||||
 | 
					                updated_media, move=True, allowDuplicate=True)
 | 
				
			||||||
 | 
					            if constants.debug:
 | 
				
			||||||
            print '{"source":"%s", "destination":"%s"}' % (file_path, dest_path)
 | 
					            print '{"source":"%s", "destination":"%s"}' % (file_path, dest_path)
 | 
				
			||||||
            # If the folder we moved the file out of or its parent are empty we delete it.
 | 
					            # If the folder we moved the file out of or its parent are empty we delete it.
 | 
				
			||||||
            filesystem.delete_directory_if_empty(os.path.dirname(file_path))
 | 
					            filesystem.delete_directory_if_empty(os.path.dirname(file_path))
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user