def getUploadImageFormVals(self, formData): yaw, yawRef = Xmp.normalizeYaw(formData.get('yaw', None), formData.get('yawRef', None)) altitude, altitudeRef = Xmp.normalizeYaw(formData.get('altitude', None), formData.get('altitudeRef', None)) folderName = formData.get('folder', None) folder = None if folderName: folderMatches = Folder.objects.filter(name=folderName) if folderMatches: folder = folderMatches[0] if folder == None: folder = Folder.objects.get(id=1) tz = pytz.timezone(folder.timeZone) timestampStr = Xmp.checkMissing(formData.get('cameraTime', None)) if timestampStr == None: timestampUtc = None else: timestampLocal = parseUploadTime(timestampStr) if timestampLocal.tzinfo == None: timestampLocal = tz.localize(timestampLocal) timestampUtc = timestampLocal.astimezone(pytz.utc).replace(tzinfo=None) # special case: remove 'default' tag inserted by older versions of GeoCam Mobile tagsOrig = formData.get('tags', None) tagsList = [t for t in tagging.utils.parse_tag_input(tagsOrig) if t != 'default'] tagsStr = self.makeTagsString(tagsList) formVals0 = dict(uuid=formData.get('uuid', None), name=formData.get('name', None), author=formData.get('author', None), notes=formData.get('notes', None), tags=tagsStr, latitude=formData.get('latitude', None), longitude=formData.get('longitude', None), altitude=formData.get('altitude', None), altitudeRef=formData.get('altitudeRef', None), timestamp=timestampUtc, folder=folder, yaw=yaw, yawRef=yawRef) formVals = dict([(k, v) for k, v in formVals0.iteritems() if Xmp.checkMissing(v) != None]) return formVals
def getUploadImageFormVals(self, formData): yaw, yawRef = Xmp.normalizeYaw(formData.get('yaw', None), formData.get('yawRef', None)) altitude, altitudeRef = Xmp.normalizeYaw(formData.get('altitude', None), formData.get('altitudeRef', None)) folderMatches = Folder.objects.filter(name=formData['folder']) if folderMatches: folder = folderMatches[0] else: folder = Folder.objects.get(id=1) tz = pytz.timezone(folder.timeZone) timestampStr = Xmp.checkMissing(formData.get('cameraTime', None)) if timestampStr == None: timestampUtc = None else: timestampLocal = parseUploadTime(formData['cameraTime']).replace(tzinfo=tz) timestampUtc = timestampLocal.astimezone(pytz.utc).replace(tzinfo=None) formVals0 = dict(uuid=formData['uuid'], name=formData['name'], author=formData['author'], notes=formData['notes'], tags=formData['tags'], latitude=formData['latitude'], longitude=formData['longitude'], altitude=formData['altitude'], altitudeRef=formData['altitudeRef'], timestamp=timestampUtc, folder=folder, yaw=yaw, yawRef=yawRef) formVals = dict([(k, v) for k, v in formVals0.iteritems() if Xmp.checkMissing(v) != None]) return formVals
def getXmpVals(self, storePath): xmp = Xmp(storePath) xmpVals = xmp.getDict() return xmpVals