Skip to content

Commit 1b89049

Browse files
authored
Refactor code (#3247)
1 parent c15dbf0 commit 1b89049

11 files changed

Lines changed: 10 additions & 52 deletions

File tree

archinstall/lib/args.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
from archinstall.lib.models.audio_configuration import AudioConfiguration
1515
from archinstall.lib.models.bootloader import Bootloader
1616
from archinstall.lib.models.device_model import DiskEncryption, DiskLayoutConfiguration
17-
from archinstall.lib.models.gen import Repository
1817
from archinstall.lib.models.locale import LocaleConfiguration
1918
from archinstall.lib.models.mirrors import MirrorConfiguration
2019
from archinstall.lib.models.network_configuration import NetworkConfiguration
20+
from archinstall.lib.models.packages import Repository
2121
from archinstall.lib.models.profile_model import ProfileConfiguration
2222
from archinstall.lib.models.users import User
2323
from archinstall.lib.output import error, warn

archinstall/lib/general.py

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,13 @@
1010
import subprocess
1111
import sys
1212
import time
13-
import urllib.error
14-
import urllib.parse
1513
from collections.abc import Callable, Iterator
1614
from datetime import date, datetime
1715
from enum import Enum
1816
from pathlib import Path
1917
from select import EPOLLHUP, EPOLLIN, epoll
2018
from shutil import which
2119
from typing import TYPE_CHECKING, Any, override
22-
from urllib.request import Request, urlopen
2320

2421
from .exceptions import RequirementError, SysCallError
2522
from .output import debug, error, info
@@ -496,45 +493,6 @@ def run_custom_user_commands(commands: list[str], installation: Installer) -> No
496493
os.unlink(chroot_path)
497494

498495

499-
def json_stream_to_structure(configuration_identifier: str, stream: str, target: dict[str, Any]) -> bool:
500-
"""
501-
Load a JSON encoded dictionary from a stream and merge it into an existing dictionary.
502-
A stream can be a filepath, a URL or a raw JSON string.
503-
Returns True if the operation succeeded, False otherwise.
504-
+configuration_identifier is just a parameter to get meaningful, but not so long messages
505-
"""
506-
507-
raw: str | None = None
508-
# Try using the stream as a URL that should be grabbed
509-
if urllib.parse.urlparse(stream).scheme:
510-
try:
511-
with urlopen(Request(stream, headers={'User-Agent': 'ArchInstall'})) as response:
512-
raw = response.read()
513-
except urllib.error.HTTPError as err:
514-
error(f"Could not fetch JSON from {stream} as {configuration_identifier}: {err}")
515-
return False
516-
517-
# Try using the stream as a filepath that should be read
518-
if raw is None and (path := Path(stream)).exists():
519-
try:
520-
raw = path.read_text()
521-
except Exception as err:
522-
error(f"Could not read file {stream} as {configuration_identifier}: {err}")
523-
return False
524-
525-
try:
526-
# We use `or` to try the stream as raw JSON to be parsed
527-
structure = json.loads(raw or stream)
528-
except Exception as err:
529-
error(f"{configuration_identifier} contains an invalid JSON format: {err}")
530-
return False
531-
if not isinstance(structure, dict):
532-
error(f"{stream} passed as {configuration_identifier} is not a JSON encoded dictionary")
533-
return False
534-
target.update(structure)
535-
return True
536-
537-
538496
def secret(x: str) -> str:
539497
""" return * with len equal to to the input string """
540498
return '*' * len(x)

archinstall/lib/installer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
SubvolumeModification,
2828
Unit,
2929
)
30-
from archinstall.lib.models.gen import Repository
30+
from archinstall.lib.models.packages import Repository
3131
from archinstall.tui.curses_menu import Tui
3232

3333
from .args import arch_config_handler

archinstall/lib/interactions/general_conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
from pathlib import Path
44
from typing import TYPE_CHECKING
55

6-
from archinstall.lib.models.gen import Repository
6+
from archinstall.lib.models.packages import Repository
77
from archinstall.lib.packages.packages import list_available_packages
88
from archinstall.tui.curses_menu import EditMenu, SelectMenu, Tui
99
from archinstall.tui.menu_item import MenuItem, MenuItemGroup
1010
from archinstall.tui.types import Alignment, FrameProperties, Orientation, PreviewStyle, ResultType
1111

1212
from ..locale.utils import list_timezones
1313
from ..models.audio_configuration import Audio, AudioConfiguration
14-
from ..models.gen import AvailablePackage
14+
from ..models.packages import AvailablePackage
1515
from ..output import warn
1616
from ..translationhandler import Language
1717

archinstall/lib/mirrors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
from .menu.abstract_menu import AbstractSubMenu
1111
from .menu.list_manager import ListManager
12-
from .models.gen import Repository
1312
from .models.mirrors import (
1413
CustomRepository,
1514
CustomServer,
@@ -20,6 +19,7 @@
2019
SignCheck,
2120
SignOption,
2221
)
22+
from .models.packages import Repository
2323
from .networking import fetch_data_from_url
2424
from .output import FormattedOutput, debug
2525

archinstall/lib/models/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727
Unit,
2828
_DeviceInfo,
2929
)
30-
from .gen import LocalPackage, PackageSearch, PackageSearchResult, Repository
3130
from .locale import LocaleConfiguration
3231
from .mirrors import CustomRepository, MirrorConfiguration, MirrorRegion
3332
from .network_configuration import NetworkConfiguration, Nic, NicType
33+
from .packages import LocalPackage, PackageSearch, PackageSearchResult, Repository
3434
from .profile_model import ProfileConfiguration
3535
from .users import PasswordStrength, User
3636

archinstall/lib/models/mirrors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from pydantic import BaseModel, field_validator, model_validator
1111

12-
from ..models.gen import Repository
12+
from ..models.packages import Repository
1313
from ..networking import DownloadTimer, ping
1414
from ..output import debug
1515

archinstall/lib/packages/packages.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from urllib.response import addinfourl
88

99
from ..exceptions import PackageError, SysCallError
10-
from ..models.gen import AvailablePackage, LocalPackage, PackageSearch, PackageSearchResult, Repository
10+
from ..models.packages import AvailablePackage, LocalPackage, PackageSearch, PackageSearchResult, Repository
1111
from ..pacman import Pacman
1212

1313
BASE_URL_PKG_SEARCH = 'https://archlinux.org/packages/search/json/'

archinstall/lib/pacman/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from pathlib import Path
33
from shutil import copy2
44

5-
from ..models.gen import Repository
5+
from ..models.packages import Repository
66

77

88
class Config:

0 commit comments

Comments
 (0)