General overhaul, better messages, ordered imports etc

pull/4/head
Darksider3 5 years ago
parent 32c6ea7e07
commit 8008fa36b9

@ -1,9 +1,10 @@
#!/usr/bin/env python3
import ListUsers
import configparser
import csv
import io
import configparser
import ListUsers
import lib.uis.default as default_cmd # Follows -u, -a, -f flags
@ -115,7 +116,6 @@ if __name__ == "__main__":
args = default_cmd.argparser.parse_args()
config = configparser.ConfigParser()
config.read(args.config)
try:
L = ListUsers.ListUsers(config['DEFAULT']['applications_db'],
unapproved=args.unapproved, approved=args.approved)
fetch = L.get_fetch()
@ -127,5 +127,3 @@ if __name__ == "__main__":
print("nothing to backup!")
exit(1)
exit(0)
except KeyboardInterrupt as e:
pass

@ -1,8 +1,9 @@
#!/usr/bin/env python3
import configparser
import csv
import os
import configparser
import lib.UserExceptions
import lib.uis.config_ui # dont go to default, just following -c flag
@ -74,7 +75,7 @@ if __name__ == "__main__":
args = ArgParser.parse_args()
config = configparser.ConfigParser()
config.read(args.config)
try:
if not args.Import:
print("Error, need the import flag")
if not args.file:
@ -84,5 +85,3 @@ if __name__ == "__main__":
exit(1)
import_from_file(args.file, config['DEFAULT']['applications_db'])
exit(0)
except KeyboardInterrupt as e:
pass

@ -1,11 +1,11 @@
#!/usr/bin/env python3
from lib.sqlitedb import SQLiteDB
import lib.uis.default as default_cmd # Follows -u, -a, -f flags
from typing import List # Typing support!
import sqlite3 # sqlite3.Row-Object
import configparser
import sqlite3 # sqlite3.Row-Object
from typing import List # Typing support!
import lib.uis.default as default_cmd # Follows -u, -a, -f flags
from lib.sqlitedb import SQLiteDB
class ListUsers:
@ -94,7 +94,6 @@ if __name__ == "__main__":
config = configparser.ConfigParser()
config.read(args.config)
try:
ret = ""
if args.user is not None:
L = ListUsers(config['DEFAULT']['applications_db'], unapproved=args.unapproved, approved=args.approved,
@ -119,5 +118,3 @@ if __name__ == "__main__":
else:
print(ret)
exit(0)
except KeyboardInterrupt:
pass

@ -1,12 +1,13 @@
#!/usr/bin/env python3
import configparser
import lib.uis.config_ui # only follow -c flag
import lib.Validator
import lib.sqlitedb
import sqlite3
import lib.System
import lib.UserExceptions
import sqlite3
import lib.Validator
import lib.sqlitedb
import lib.uis.config_ui # only follow -c flag
if __name__ == "__main__":
lib.uis.config_ui.argparser.description += " - Edit Tilde Users"
@ -35,7 +36,6 @@ if __name__ == "__main__":
args = ArgParser.parse_args()
config = configparser.ConfigParser()
config.read(args.config)
try:
db = config['DEFAULT']['applications_db']
if not args.sshpubkey and not args.name and not args.username and not args.email and args.status is None \
and not args.remove:
@ -145,5 +145,3 @@ if __name__ == "__main__":
exit(1)
print(f"Successfully changed '{args.user}'s status to 1 and created on the system.")
exit(0)
except KeyboardInterrupt as e:
pass

@ -1,6 +1,7 @@
import os
import subprocess
import pwd
import subprocess
import lib.UserExceptions

@ -2,15 +2,21 @@ class General(Exception):
pass
class UnknownUser(General):
class User(General):
pass
class UnknownReturnCode(General):
pass
class UnknownUser(User):
def __init__(self, name):
Exception.__init__(self, f"Tried to perform action on unknown user '{name}'")
class UserExistsAlready(User):
def __init__(self, name):
Exception.__init__(self, f"User '{name}' is already registered")
class UserExistsAlready(UnknownReturnCode):
class UnknownReturnCode(General):
pass
@ -26,10 +32,6 @@ class SQLiteDatabaseDoesntExistYet(General):
pass
class User(Exception):
pass
class UsernameLength(User):
pass

@ -1,7 +1,8 @@
import re
import csv
import pwd
import re
import lib.sqlitedb
import csv
def checkUsernameCharacters(username: str) -> bool:
@ -54,9 +55,8 @@ def checkUserExists(username: str) -> bool:
try:
pwd.getpwnam(username)
except KeyError:
return True # User already exists
else:
return False
return True # User already exists
def checkUserInDB(username: str, db: str) -> bool:
@ -203,7 +203,7 @@ def checkImportFile(path: str, db: str):
if not lib.Validator.checkEmail(row["email"]):
errstr += f"Line {ln}: E-Mail address of user '{row['username']}' '{row['email']}' is not valid.\n"
valid = False
if not lib.Validator.checkUserExists(row["username"]) or checkUserInDB(row["username"], db):
if lib.Validator.checkUserExists(row["username"]) or checkUserInDB(row["username"], db):
errstr += f"Line {ln}: User '{row['username']}' already exists.\n"
valid = False
if not lib.Validator.checkDatetimeFormat(row["timestamp"]):

Loading…
Cancel
Save