From e7159bb6a4d5502817c253ace83ba6c03fe27f56 Mon Sep 17 00:00:00 2001 From: Nick Chambers Date: Fri, 19 Aug 2022 06:15:39 -0500 Subject: [PATCH] Move Vultron commands into separate package --- setup.cfg | 1 + vultron/cmds/__init__.py | 2 ++ vultron/cmds/account.py | 12 ++++++++++++ vultron/cmds/help.py | 9 +++++++++ vultron/cmds/region.py | 10 ++++++++++ vultron/cmds/vpc.py | 12 ++++++++++++ vultron/vultron.py | 39 +-------------------------------------- 7 files changed, 47 insertions(+), 38 deletions(-) create mode 100644 vultron/cmds/__init__.py create mode 100644 vultron/cmds/account.py create mode 100644 vultron/cmds/help.py create mode 100644 vultron/cmds/region.py create mode 100644 vultron/cmds/vpc.py diff --git a/setup.cfg b/setup.cfg index 763a0c1..86c2dd5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,6 +5,7 @@ version = 0.1.0 [options] packages = vultron + vultron.cmds install_requires = click diff --git a/vultron/cmds/__init__.py b/vultron/cmds/__init__.py new file mode 100644 index 0000000..346c429 --- /dev/null +++ b/vultron/cmds/__init__.py @@ -0,0 +1,2 @@ +# FIXME: build this dynamically +__all__ = ["account", "help", "region", "vpc"] diff --git a/vultron/cmds/account.py b/vultron/cmds/account.py new file mode 100644 index 0000000..45ae4e9 --- /dev/null +++ b/vultron/cmds/account.py @@ -0,0 +1,12 @@ +import vultron.cmd + +class Account(vultron.cmd.Command): + """Query for account information.""" + + def vultron_info(self, *args): + """Display your account details.""" + + account = self.api.get("account") + display = vultron.display.render(self.out, [account["account"]]) + + print(display) diff --git a/vultron/cmds/help.py b/vultron/cmds/help.py new file mode 100644 index 0000000..a1f7b00 --- /dev/null +++ b/vultron/cmds/help.py @@ -0,0 +1,9 @@ +import vultron.cmd + +class Help(vultron.cmd.Command): + def init(self): + self.uses_api = False + + def vultron_help(self, *args): + # FIXME: print global help message + pass diff --git a/vultron/cmds/region.py b/vultron/cmds/region.py new file mode 100644 index 0000000..3ae43ce --- /dev/null +++ b/vultron/cmds/region.py @@ -0,0 +1,10 @@ +import vultron.cmd + +class Region(vultron.cmd.Command): + """Query for information on Vultr regions.""" + + def vultron_list(self, *args): + regions = self.api.get("regions") + display = vultron.display.render(self.out, regions["regions"]) + + print(display) diff --git a/vultron/cmds/vpc.py b/vultron/cmds/vpc.py new file mode 100644 index 0000000..82d4b50 --- /dev/null +++ b/vultron/cmds/vpc.py @@ -0,0 +1,12 @@ +import vultron.cmd + +class Vpc(vultron.cmd.Command): + """Query for information on VPCs.""" + + def vultron_list(self, *args): + """Display all VPCs.""" + + vpcs = self.api.get("vpcs") + display = vultron.display.render(self.out, vpcs["vpcs"]) + + print(display) diff --git a/vultron/vultron.py b/vultron/vultron.py index 238e9c5..10ce1bc 100644 --- a/vultron/vultron.py +++ b/vultron/vultron.py @@ -4,44 +4,7 @@ import sys import vultron.cmd import vultron.display -class Help(vultron.cmd.Command): - def init(self): - self.uses_api = False - - def vultron_help(self, *args): - # FIXME: print global help message - pass - -class Account(vultron.cmd.Command): - """Query for account information.""" - - def vultron_info(self, *args): - """Display your account details.""" - - account = self.api.get("account") - display = vultron.display.render(self.out, [account["account"]]) - - print(display) - -class VPC(vultron.cmd.Command): - """Query for information on VPCs.""" - - def vultron_list(self, *args): - """Display all VPCs.""" - - vpcs = self.api.get("vpcs") - display = vultron.display.render(self.out, vpcs["vpcs"]) - - print(display) - -class Region(vultron.cmd.Command): - """Query for information on Vultr regions.""" - - def vultron_list(self, *args): - regions = self.api.get("regions") - display = vultron.display.render(self.out, regions["regions"]) - - print(display) +from vultron.cmds import * @click.command() @click.option("--help", is_flag=True)