mirror of
https://github.com/rjNemo/pass-gen
synced 2026-06-12 05:16:43 +00:00
feat: refactor app
This commit is contained in:
parent
d1ddb0ea87
commit
8bbd7faf09
5 changed files with 51 additions and 14 deletions
17
Makefile
17
Makefile
|
|
@ -1,11 +1,16 @@
|
||||||
.PHONY: lint
|
.PHONY: lint
|
||||||
lint:
|
lint:
|
||||||
black -l 99 .
|
pipenv run black -l 99 .
|
||||||
flake8 .
|
pipenv run flake8 .
|
||||||
mypy .
|
pipenv run mypy .
|
||||||
vulture .
|
pipenv run vulture .
|
||||||
bandit .
|
pipenv run bandit .
|
||||||
|
|
||||||
.PHONY: test
|
.PHONY: test
|
||||||
test:
|
test:
|
||||||
pytest -v app/
|
pytest -v
|
||||||
|
|
||||||
|
.PHONY: cli
|
||||||
|
cli:
|
||||||
|
pipenv run python app/main.py
|
||||||
|
|
||||||
|
|
|
||||||
1
Pipfile
1
Pipfile
|
|
@ -4,6 +4,7 @@ verify_ssl = true
|
||||||
name = "pypi"
|
name = "pypi"
|
||||||
|
|
||||||
[packages]
|
[packages]
|
||||||
|
typer = "*"
|
||||||
|
|
||||||
[dev-packages]
|
[dev-packages]
|
||||||
bandit = "*"
|
bandit = "*"
|
||||||
|
|
|
||||||
29
Pipfile.lock
generated
29
Pipfile.lock
generated
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"_meta": {
|
"_meta": {
|
||||||
"hash": {
|
"hash": {
|
||||||
"sha256": "59d461042336fd4cdcc06bf22ef4f96e37a2192ea2a45f76767151f8db5502d0"
|
"sha256": "1a3b805c8e7a09b28dbba4cf1ca47933dbbec3fb63377f92acec697ac9ebb920"
|
||||||
},
|
},
|
||||||
"pipfile-spec": 6,
|
"pipfile-spec": 6,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
|
@ -15,7 +15,24 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"default": {},
|
"default": {
|
||||||
|
"click": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a",
|
||||||
|
"sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"
|
||||||
|
],
|
||||||
|
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
|
||||||
|
"version": "==7.1.2"
|
||||||
|
},
|
||||||
|
"typer": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:5455d750122cff96745b0dec87368f56d023725a7ebc9d2e54dd23dc86816303",
|
||||||
|
"sha256:ba58b920ce851b12a2d790143009fa00ac1d05b3ff3257061ff69dbdfc3d161b"
|
||||||
|
],
|
||||||
|
"index": "pypi",
|
||||||
|
"version": "==0.3.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"develop": {
|
"develop": {
|
||||||
"appdirs": {
|
"appdirs": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
|
@ -50,11 +67,11 @@
|
||||||
},
|
},
|
||||||
"click": {
|
"click": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a",
|
"sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a",
|
||||||
"sha256:fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6"
|
"sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.6'",
|
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
|
||||||
"version": "==8.0.1"
|
"version": "==7.1.2"
|
||||||
},
|
},
|
||||||
"flake8": {
|
"flake8": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
|
|
||||||
14
app/main.py
14
app/main.py
|
|
@ -1,6 +1,8 @@
|
||||||
import random
|
import random
|
||||||
import string
|
import string
|
||||||
|
|
||||||
|
import typer
|
||||||
|
|
||||||
|
|
||||||
def generate_password(seed: int) -> str:
|
def generate_password(seed: int) -> str:
|
||||||
lowercase = string.ascii_lowercase
|
lowercase = string.ascii_lowercase
|
||||||
|
|
@ -12,3 +14,15 @@ def generate_password(seed: int) -> str:
|
||||||
random_generator = random.Random(seed)
|
random_generator = random.Random(seed)
|
||||||
|
|
||||||
return "".join(random_generator.sample(letters, 8))
|
return "".join(random_generator.sample(letters, 8))
|
||||||
|
|
||||||
|
|
||||||
|
app = typer.Typer()
|
||||||
|
|
||||||
|
|
||||||
|
@app.command()
|
||||||
|
def main() -> None:
|
||||||
|
typer.echo(generate_password(0))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app()
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
from app.main import generate_password
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
from app.main import generate_password
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
("seed", "expected"),
|
("seed", "expected"),
|
||||||
|
|
@ -11,4 +12,3 @@ import pytest
|
||||||
)
|
)
|
||||||
def test_can_generate_random_password(seed: int, expected: str) -> None:
|
def test_can_generate_random_password(seed: int, expected: str) -> None:
|
||||||
assert generate_password(seed) == expected
|
assert generate_password(seed) == expected
|
||||||
|
|
||||||
Loading…
Reference in a new issue