#!/usr/bin/python3 """ FAT mount service Mount a FAT filesystem at the given location. Host commands used: mount """ import sys from typing import Dict from osbuild import mounts SCHEMA_2 = """ "additionalProperties": false, "required": ["name", "type", "source", "target"], "properties": { "name": { "type": "string" }, "type": { "type": "string" }, "source": { "type": "string" }, "target": { "type": "string" }, "partition": { "description": "If the source device has partitions, the partition number, starting at one", "type": "number" }, "options": { "type": "object", "additionalProperties": false, "properties": { "readonly": { "description": "mount the source as a readonly device", "type": "boolean", "default": false }, "uid": { "description": "mount the source with given uid", "type": "integer" }, "gid": { "description": "mount the source with given guid", "type": "integer" }, "umask": { "description": "mount the source with given umask", "type": "string", "pattern": "^[0-7][0-7][0-7]$" }, "shortname": { "description": "mount the source with given shortname", "type": "string", "enum": ["lower", "win95", "winnt", "mixed"] } } } } """ class FatMount(mounts.FileSystemMountService): def translate_options(self, options: Dict): return ["-t", "vfat"] + super().translate_options(options) def main(): service = FatMount.from_args(sys.argv[1:]) service.main() if __name__ == '__main__': main()