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 = coreModels.Folder.objects.filter(name=folderName) if folderMatches: folder = folderMatches[0] if folder == None: folder = coreModels.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)) 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 is None: folder = Folder.objects.get(id=1) tzone = pytz.timezone(settings.TIME_ZONE) timestampStr = Xmp.checkMissing(formData.get('cameraTime', None)) if timestampStr is None: timestampUtc = None else: timestampLocal = parseUploadTime(timestampStr) if timestampLocal.tzinfo is None: timestampLocal = tzone.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, _folders=[folder], yaw=yaw, yawRef=yawRef) formVals = dict([(k, v) for k, v in formVals0.iteritems() if Xmp.checkMissing(v) is not None]) return formVals
def getXmpVals(self, storePath): xmp = Xmp(storePath) xmpVals = xmp.getDict() return xmpVals