6 Commits

Author SHA1 Message Date
semantic-release
edf312d969 0.3.1
All checks were successful
continuous-integration/drone/push Build is passing
Automatically generated by python-semantic-release
2022-04-26 12:03:27 +00:00
5f22220825 fix: throw if directory exsists
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-26 15:01:52 +03:00
semantic-release
067f354905 0.3.0
All checks were successful
continuous-integration/drone/push Build is passing
Automatically generated by python-semantic-release
2022-04-26 11:41:16 +00:00
f30076783d fix: tests
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-26 14:39:49 +03:00
60e8ecc41a fix: bump ci
Some checks failed
continuous-integration/drone/push Build is failing
2022-04-26 14:12:43 +03:00
3c4a86010d Merge pull request 'feat(wizard): add csv input flag' (#3) from feat/csv_input into master
Reviewed-on: #3
2022-04-26 11:07:00 +00:00
9 changed files with 37 additions and 36 deletions

View File

@@ -2,6 +2,18 @@
<!--next-version-placeholder-->
## v0.3.1 (2022-04-26)
### Fix
* Throw if directory exsists ([`5f22220`](https://git.grassecon.net/cicnet/cic-cli/commit/5f22220825f5c485550ca9a21a54598fbe3b3ba3))
## v0.3.0 (2022-04-26)
### Feature
* **wizard:** Add csv input flag ([`a9f97a9`](https://git.grassecon.net/cicnet/cic-cli/commit/a9f97a9a5c6908e4d51710e3b121764d2511c0ab))
### Fix
* Tests ([`f300767`](https://git.grassecon.net/cicnet/cic-cli/commit/f30076783d5fc93d91d29e9343d62af4c0fdffaa))
* Bump ci ([`60e8ecc`](https://git.grassecon.net/cicnet/cic-cli/commit/60e8ecc41a472dbea25c36d869259c8161145002))
## v0.2.3 (2022-03-22)
### Fix
* Remove this ([`92794a2`](https://git.grassecon.net/cicnet/cic-cli/commit/92794a2e3b2fc5ace63f519bbe5b23c542afc853))

View File

@@ -1 +1 @@
__version__ = "0.2.3"
__version__ = "0.3.1"

View File

@@ -2,7 +2,7 @@ from __future__ import annotations
# standard import
import logging
import os
from chainlib.cli.config import Config
@@ -66,13 +66,17 @@ def execute(
if wallet_keystore:
config.add(wallet_keystore, "WALLET_KEY_FILE", exists_ok=True)
if not skip_gen:
if skip_gen:
contract = load_contract(directory)
else:
if os.path.exists(directory):
raise Exception(f"Directory {directory} already exists")
if csv_file:
print(f"Generating from csv:{csv_file} to {directory}")
contract = load_contract_from_csv(config, directory, csv_file)
else:
print("Using Interactive Mode")
contract = generate_contract(directory, [target], config, interactive=True)
else:
contract = load_contract(directory)
print(contract)

View File

@@ -4,13 +4,8 @@ import logging
import os
from typing import List
# external imports
from cic_types.ext.metadata import MetadataRequestsHandler
from cic_types.ext.metadata.signer import Signer as MetadataSigner
from chainlib.chain import ChainSpec
from chainlib.cli.config import Config
# Local Modules
from cic.contract.components.attachment import Attachment
from cic.contract.components.meta import Meta
@@ -20,8 +15,9 @@ from cic.contract.helpers import init_writers_from_config
from cic.contract.network import Network
from cic.contract.processor import ContractProcessor
from cic.writers import HTTPWriter, KeyedWriterFactory, MetadataWriter
# external imports
from cic_types.ext.metadata import MetadataRequestsHandler
from cic_types.ext.metadata.signer import Signer as MetadataSigner
log = logging.getLogger(__name__)
@@ -74,16 +70,6 @@ def load_contract(directory) -> Contract:
def generate_contract(
directory: str, targets: List[str], config, interactive=True
) -> Contract:
if os.path.exists(directory):
contine = input(
f"Directory {directory} already exists, Would you like to delete it? (y/n): "
)
if contine.lower() != "y":
log.debug("Trying to load existing contract")
return load_contract(directory)
else:
print(f"Deleted {directory}")
os.system(f"rm -rf {directory}")
os.makedirs(directory)
log.info("Generating token")
token = Token(directory, interactive=interactive)

View File

@@ -4,15 +4,15 @@ def object_to_str(obj, keys):
for key in keys:
value = eval("obj." + key)
key = key.replace("()", "")
if type(value) == str:
if isinstance(value, str):
s += f"{key} = {value}\n"
elif type(value) == list:
elif isinstance(value, list):
for idx, vv in enumerate(value):
if not vv:
s += f"{key}[{idx}] = \n"
continue
s += f"{key}[{idx}] = {vv}\n"
elif type(value) == dict:
elif isinstance(value, dict):
for vv_key in value.keys():
vv_value = value[vv_key]
if not vv_value:

View File

@@ -26,7 +26,7 @@ class StdoutWriter(OutputWriter):
class KVWriter(OutputWriter):
def __init__(self, *args, path=None, **kwargs):
def __init__(self, path=None, *args, **kwargs):
try:
os.stat(path)
except FileNotFoundError:
@@ -42,7 +42,7 @@ class KVWriter(OutputWriter):
class HTTPWriter(OutputWriter):
def __init__(self, *args, path=None, **kwargs):
def __init__(self, path=None, *args, **kwargs):
super(HTTPWriter, self).__init__(*args, **kwargs)
self.path = path
@@ -83,7 +83,7 @@ class KeyedWriterFactory:
logg.debug(f"adding key {k} t keyed writer factory")
self.x[k] = v
def new(self, *_args, path=None, **_kwargs):
def new(self, path=None, *_args, **_kwargs):
writer_keyed = None
writer_immutable = None
if self.key_writer_constructor is not None:

View File

@@ -1,6 +1,6 @@
[tool.poetry]
name = "cic-cli"
version = "0.2.3"
version = "0.3.1"
description = "Generic cli tooling for the CIC token network"
authors = [
"Louis Holbrook <dev@holbrook.no>",

View File

@@ -4,15 +4,14 @@ import random
import tempfile
import unittest
from cic.contract.components.attachment import Attachment
from cic.contract.components.proof import Proof
from cic.contract.processor import ContractProcessor
# external imports
from hexathon import add_0x
# local imports
from cic.writers import KVWriter
# external imports
from hexathon import add_0x
from cic.contract.components.attachment import Attachment
from cic.contract.components.proof import Proof
from cic.contract.processor import ContractProcessor
test_base_dir = os.path.dirname(os.path.realpath(__file__))
test_data_dir = os.path.join(test_base_dir, "testdata")

View File

@@ -14,7 +14,7 @@ from cic.keystore import KeystoreDirectory
# test imports
from tests.base_cic import test_base_dir
logging = logging.getLogger()
log = logging.getLogger(__name__)
script_dir = test_base_dir