def check_get_time(path): path = os.path.abspath(path) for root, dirs, files in os.walk(path, topdown=True): for name in files: file_path = os.path.join(root, name) if not file_path.lower().endswith(".jpg"): continue exif = get_exif_info(encode_text(file_path)) if not exif: exif = get_exif_by_exiftool(file_path) if exif and get_exif_time(exif): print exif
def load(self, path): exif_info = None exif = {} # lower_path = path.lower() # if lower_path.endswith('.jpg'): # exif_info = get_exif_info(encode_text(path)) # exif = exif_info and json.loads(exif_info) # elif lower_path.endswith('.png'): # # Ignore png files # pass # else: # exif = exif or get_exif_by_exiftool(path) if path: exif_info = get_exif_info(encode_text(path)) exif = exif_info and json.loads(exif_info) self.exif_make = exif.get(Tag_Make) self.exif_model = exif.get(Tag_Model) self.image_width = exif.get(Tag_ImageWidth) self.image_height = exif.get(Tag_ImageHeight) self.create_time = get_exif_time(exif) self.exposure_time = exif.get(Tag_ExposureTime) self.f_number = exif.get(Tag_FNumber) self.iso = exif.get(Tag_ISO) self.focal_length_in_35mm = exif.get(Tag_FocalLengthIn35mm) self.gps_latitude = exif.get(Tag_GPSLatitude) self.gps_longitude = exif.get(Tag_GPSLongitude) self.gps_altitude = exif.get(Tag_GPSAltitude) self.duration = exif.get(Tag_MediaDuration) if self.gps_latitude and isinstance(self.gps_latitude, basestring): self.gps_latitude = gps_text_to_degree(self.gps_latitude) self.gps_longitude = gps_text_to_degree(self.gps_longitude) self.gps_altitude = gps_text_to_metre(self.gps_altitude) if not self.create_time: self.create_time = parse_time_by_filename(path)
def testit(): return myexif.get_exif_info(path)