utils: extract write_named_tempfile
This commit is contained in:
parent
d886dcd97d
commit
1b00eb5616
|
@ -36,6 +36,7 @@ from curtin.util import human2bytes
|
||||||
from probert.storage import StorageInfo
|
from probert.storage import StorageInfo
|
||||||
|
|
||||||
from subiquity.common.types import Bootloader, OsProber, RecoveryKey
|
from subiquity.common.types import Bootloader, OsProber, RecoveryKey
|
||||||
|
from subiquitycore.utils import write_named_tempfile
|
||||||
|
|
||||||
log = logging.getLogger("subiquity.models.filesystem")
|
log = logging.getLogger("subiquity.models.filesystem")
|
||||||
|
|
||||||
|
@ -1135,10 +1136,7 @@ class DM_Crypt(_Formattable):
|
||||||
|
|
||||||
def serialize_key(self):
|
def serialize_key(self):
|
||||||
if self.key and not self.keyfile:
|
if self.key and not self.keyfile:
|
||||||
f = tempfile.NamedTemporaryFile(prefix="luks-key-", mode="w", delete=False)
|
return {"keyfile": write_named_tempfile("luks-key-", self.key)}
|
||||||
f.write(self.key)
|
|
||||||
f.close()
|
|
||||||
return {"keyfile": f.name}
|
|
||||||
else:
|
else:
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ import logging
|
||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import tempfile
|
||||||
from typing import Any, Dict, List, Sequence
|
from typing import Any, Dict, List, Sequence
|
||||||
|
|
||||||
log = logging.getLogger("subiquitycore.utils")
|
log = logging.getLogger("subiquitycore.utils")
|
||||||
|
@ -282,3 +283,10 @@ def gen_zsys_uuid():
|
||||||
"""Create a 6 character identifier. Functionally equivalent to
|
"""Create a 6 character identifier. Functionally equivalent to
|
||||||
`head -100 /dev/urandom | tr -dc 'a-z0-9' | head -c6`"""
|
`head -100 /dev/urandom | tr -dc 'a-z0-9' | head -c6`"""
|
||||||
return "".join([random.choice(_zsys_uuid_charset()) for i in range(6)])
|
return "".join([random.choice(_zsys_uuid_charset()) for i in range(6)])
|
||||||
|
|
||||||
|
|
||||||
|
def write_named_tempfile(prefix, contents):
|
||||||
|
f = tempfile.NamedTemporaryFile(prefix=prefix, mode="w", delete=False)
|
||||||
|
with f:
|
||||||
|
f.write(contents)
|
||||||
|
return f.name
|
||||||
|
|
Loading…
Reference in New Issue