Skip to content

Commit 7f8f08f

Browse files
haseebsyed12cardoe
authored andcommitted
PUC-740: linting
1 parent 7d95185 commit 7f8f08f

File tree

13 files changed

+167
-40
lines changed

13 files changed

+167
-40
lines changed

python/diff-nautobot-understack/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ This tool compares data between Nautobot and OpenStack.
2020
4. poetry lock
2121
5. poetry install
2222
6. Export environment variables (or add them to a .env file):
23-
1. export nautobot_api_token=<get_token_from_nautobot_dev>
24-
2. export nautobot_url=https://nautobot.staging.undercloud.rackspace.net (no need to export for dev env)
23+
1. export NAUTOBOT_TOKEN=<get_token_from_nautobot_dev>
24+
2. export NAUTOBOT_URL=https://nautobot.staging.undercloud.rackspace.net (no need to export for dev env)
2525
3. export OS_CLOUD=uc-dev-infra
2626
4. export OS_CLIENT_CONFIG_FILE=./my_clouds.yaml (set this if it is in any other location not [defined here](https://opendev.org/openstack/openstacksdk#getting-started))
2727

python/diff-nautobot-understack/diff_nautobot_understack/cli.py

+24-10
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
1-
from typing import Optional
1+
import os
2+
import sys
23

34
import typer
45
from diffsync.diff import Diff
5-
from diff_nautobot_understack.project.main import (
6-
openstack_project_diff_from_nautobot_tenant,
7-
)
6+
from rich import print
7+
from rich.console import Console
8+
from rich.table import Table
9+
810
from diff_nautobot_understack.network.main import (
911
openstack_network_diff_from_ucvni_network,
1012
)
13+
from diff_nautobot_understack.project.main import (
14+
openstack_project_diff_from_nautobot_tenant,
15+
)
1116
from diff_nautobot_understack.settings import app_settings as settings
12-
from rich.console import Console
13-
from rich.table import Table
14-
from rich import print
17+
18+
required_env_vars = ["NAUTOBOT_TOKEN", "NAUTOBOT_URL", "OS_CLOUD"]
19+
1520

1621
app = typer.Typer(
1722
name="diff",
@@ -25,7 +30,7 @@
2530

2631

2732
def display_output(
28-
diff_result: Diff, diff_output: str, output_format: Optional[str] = None
33+
diff_result: Diff, diff_output: str, output_format: str | None = None
2934
):
3035
print(diff_result.summary())
3136
__output_format = (
@@ -84,5 +89,14 @@ def network(
8489
display_output(diff_result, "network", output_format)
8590

8691

87-
if __name__ == "__main__":
88-
app()
92+
def check_env_vars(required_vars):
93+
missing_vars = [var for var in required_vars if var not in os.environ]
94+
95+
if missing_vars:
96+
print(f"Error: Missing environment variables: {', '.join(missing_vars)}")
97+
sys.exit(1)
98+
else:
99+
print("All required environment variables are set.")
100+
101+
102+
check_env_vars(required_env_vars)

python/diff-nautobot-understack/diff_nautobot_understack/clients/nautobot.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
import requests
2-
import logging
31
import inspect
2+
import logging
43
from urllib.parse import urljoin
54

5+
import requests
6+
67
from diff_nautobot_understack.settings import app_settings as settings
78

89

@@ -12,7 +13,7 @@ class API:
1213
def __init__(self):
1314
self.base_url = settings.nautobot_url
1415
self.s = requests.Session()
15-
self.token = settings.nautobot_api_token
16+
self.token = settings.nautobot_token
1617
self.s.headers.update({"Authorization": f"Token {self.token}"})
1718

1819
def make_api_request(

python/diff-nautobot-understack/diff_nautobot_understack/network/adapters/openstack_network.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from diffsync import Adapter
2-
from diff_nautobot_understack.clients.openstack import API
32

3+
from diff_nautobot_understack.clients.openstack import API
44
from diff_nautobot_understack.network import models
55

66

python/diff-nautobot-understack/diff_nautobot_understack/network/adapters/ucvni.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from diffsync import Adapter
22
from pydantic import BaseModel
3-
from diff_nautobot_understack.clients.nautobot import API
43

4+
from diff_nautobot_understack.clients.nautobot import API
55
from diff_nautobot_understack.network import models
66

77

python/diff-nautobot-understack/diff_nautobot_understack/network/main.py

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from diffsync.diff import Diff
22
from diffsync.enum import DiffSyncFlags
3+
from rich import print
4+
35
from diff_nautobot_understack.network.adapters.openstack_network import (
46
Network as OpenstackNetwork,
57
)
@@ -8,10 +10,15 @@
810

911
def openstack_network_diff_from_ucvni_network() -> Diff:
1012
openstack_network = OpenstackNetwork()
11-
openstack_network.load()
12-
13+
try:
14+
openstack_network.load()
15+
except Exception:
16+
print("Error retrieving networks from Openstack")
1317
ucvni_network = UcvniNetwork()
14-
ucvni_network.load()
18+
try:
19+
ucvni_network.load()
20+
except Exception:
21+
print("Error retrieving ucvnis from Nautobot")
1522
openstack_network_destination_ucvni_source = openstack_network.diff_from(
1623
ucvni_network, flags=DiffSyncFlags.CONTINUE_ON_FAILURE
1724
)

python/diff-nautobot-understack/diff_nautobot_understack/network/models.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ class NetworkModel(DiffSyncModel):
1414
id: str
1515
name: str
1616
status: str
17-
provider_physical_network: str
18-
vni_id: int
17+
provider_physical_network: str | None = None
18+
vni_id: int | None = None

python/diff-nautobot-understack/diff_nautobot_understack/project/adapters/nautobot_tenant.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import uuid
22

33
from diffsync import Adapter
4-
from diff_nautobot_understack.clients.nautobot import API
54

5+
from diff_nautobot_understack.clients.nautobot import API
66
from diff_nautobot_understack.project import models
77

88

python/diff-nautobot-understack/diff_nautobot_understack/project/adapters/openstack_project.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from diffsync import Adapter
2-
from diff_nautobot_understack.clients.openstack import API
32

3+
from diff_nautobot_understack.clients.openstack import API
44
from diff_nautobot_understack.project import models
55

66

python/diff-nautobot-understack/diff_nautobot_understack/project/main.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
from diffsync.diff import Diff
22
from diffsync.enum import DiffSyncFlags
3-
from diff_nautobot_understack.project.adapters.openstack_project import Project
3+
44
from diff_nautobot_understack.project.adapters.nautobot_tenant import Tenant
5+
from diff_nautobot_understack.project.adapters.openstack_project import Project
56
from diff_nautobot_understack.settings import app_settings as settings
67

78

python/diff-nautobot-understack/diff_nautobot_understack/settings.py

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
from typing import Optional
2-
3-
from pydantic_settings import BaseSettings, SettingsConfigDict
1+
from pydantic_settings import BaseSettings
2+
from pydantic_settings import SettingsConfigDict
43

54

65
class Settings(BaseSettings):
76
model_config = SettingsConfigDict(env_file="./.env", env_file_encoding="utf-8")
87

9-
nautobot_api_token: Optional[str] = None
8+
nautobot_token: str | None = None
109
nautobot_url: str = "https://nautobot.dev.undercloud.rackspace.net"
1110
debug: bool = False
12-
os_cloud: Optional[str] = None
11+
os_cloud: str | None = None
1312
os_project: str = "default"
14-
os_client_config_file: Optional[str] = None
13+
os_client_config_file: str | None = None
1514
output_format: str = "table"
1615

1716

0 commit comments

Comments
 (0)