コード例 #1
0
def __add_members(family):
    add_members = True
    template = Person().to_json()
    fields = sorted(template.keys())
    while add_members:
        print("----- Add Family Member -----")
        member_data = template.copy()
        for name in fields:
            if name in ('photo'):
                continue

            if name == 'relationships':
                member_data['relationships'] = Prompt.relationships()
            elif name == 'phone':
                member_data['phone'] = Prompt.phone()
            else:
                new_value = Prompt.input("%s: " % (name))
                member_data[name] = new_value if new_value else ""

        member_data['birthday'] = Prompt.input("birthday (YYYY-MM-DD)? ")
        member_data['photo'] = re.sub('\W', '-',
                                      member_data['name'].lower()) + ".jpeg"

        new_member = Person(**member_data)
        family.add(new_member)

        add_members = Prompt.more(msg="Add More Members")
コード例 #2
0
def main():
    args = cmd_parser()
    if args.file:
        if not os.path.exists(args.file):
            print('File not Exist')
            sys.exit(0)
        with open(args.file) as f:
            data = f.read()
        person = Person(json.loads(data))

    else:
        person = Person()
        person.name = parse_input(args.name)
        person.username = parse_input(args.username)
        person.qq_number = parse_input(args.qq_number, 'int')
        person.email = parse_input(args.email, 'email')
        person.mobile_phone = parse_input(args.mobile_phone, 'int')

    try:
        person.birthday = time.strptime(args.birthday, '%Y-%m-%d')
    except (ValueError, TypeError):
        person.birthday = None

    if args.with_dict:
        passwords = person.generate_password_with_dict()
    else:
        passwords = person.generate_password()

    for password in passwords:
        print(password)
コード例 #3
0
ファイル: imprt.py プロジェクト: ccaroon/plebeians
def vcf(ctx, vcf_file):
    """Import VCF Card"""

    config = ctx.obj['config']
    directory = Directory(config.path('data:path', 'directory.json'))

    vcf = VCFParser(photo_dir=config.path('data:path', 'photos'))
    data = vcf.parse(vcf_file)

    print("----- %s - %s -----" % (data['last_name'], data['address']))

    family = directory.get(data['last_name'])
    family = Prompt.choose_from_list(family, "Which Family")
    if family:
        person = family.get(data['name'])
        if person:
            print("%s already exists." % (data['name']))
        else:
            new_person = Person(**data)
            family.add(new_person)
            directory.save()
    else:
        new_family = Family(name=data['last_name'],
                            address=data['address'],
                            city=data['city'],
                            state=data['state'],
                            zip=data['zip'],
                            members=[data])
        directory.add(new_family)
        directory.save()
コード例 #4
0
ファイル: genpasscontrol.py プロジェクト: moss1993/projects
def cmdgenerator():
    testinfo = parser()
    newperson = Person(information=testinfo)
    tmplist = newperson.generate_password()
    print(tmplist)
    for i in tmplist:
        print(i)
コード例 #5
0
ファイル: cmdparser.py プロジェクト: moss1993/projects
def parser():
    parser=argparse.ArgumentParser()
    parser.add_argument('-n', '--name', dest='name', action='store',
                        help='real name of target', nargs='*', default=[])
    parser.add_argument('-u', '--username', dest='username', action='store',
                        help='usernames of target, English only', nargs='*', default=[])
    parser.add_argument('-q', '--qq', dest='qq', action='store',
                        help='QQ numbers of target', nargs='*', type=int, default=[])
    parser.add_argument('-e', '--email', dest='email', action='store',
                        help='email addresses of target', nargs='*', type=email, default=[])
    parser.add_argument('-m', '--mobile', dest='mobile', action='store',
                        help='mobile phone/phone numbers of target', nargs='*', type=int, default=[])
    parser.add_argument('-b', '--birthday', dest='birthday', action='store',
                        help='birthday of target, format: %%Y-%%m-%%d', type=date, default=None)
    parser.add_argument('-c', '--company', dest='company', nargs='*', action='store',
                        help='company / website domain of target', type=str, default=[])
    parser.add_argument('--with-dict', dest='with_dict', action='store_true',
                        help='generate passwords with weak password dictionary')
    parser.add_argument('-o', '--output', dest='output_file', action='store',
                        help='output result to a json file', type=argparse.FileType('w'))

    args = parser.parse_args()
    print(args)
    print(args.__dict__)
    if not any(args.__dict__.values()):
        parser.print_help()
        raise SystemExit

    person_list = []
    person_list.append(Person(information=args.__dict__))

    return (args, person_list)
コード例 #6
0
ファイル: main.py プロジェクト: cfreyvogel/ascension-idle
from oracle import ORACLE
from random import shuffle
from lib.person import Person
from lib.utils import GET_TRUNC_NORM, GLOBALS
with open("resources/first_names.txt","r") as names:
    first_names = [x.strip() for x in names.readlines()]
    shuffle(first_names)

with open("resources/last_names.txt","r") as names:
    last_names = [x.strip() for x in names.readlines()]
    shuffle(last_names)

people = []
for i in range(10):
    people.append(Person(GET_TRUNC_NORM(40,1,GLOBALS["MAX_AGE"],25), (first_names.pop(), last_names.pop())))
for p in people:
    print(p)
コード例 #7
0
ファイル: genpasscontrol.py プロジェクト: moss1993/projects
def functiongenerator(dict_of_info):
    target = Person(information=dict_of_info)
    return target.generate_username(), target.generate_password()
コード例 #8
0
ファイル: main.py プロジェクト: sankaku/docker-try-fastapi
from typing import List

from fastapi import FastAPI
from lib.person import Person

app = FastAPI()

people: List[Person] = [
    Person(name="Alice", age=50),
    Person(name="Bob", age=30),
]


@app.get("/")
async def hello_world(name: str = "World"):
    return {"success": True, "message": f"Hello {name}"}


@app.get("/people/")
async def fetch_all_people():
    return {"success": True, "message": {"people": people}}


@app.get("/people/{person_id}")
async def find_person(person_id: str):
    filtered: List[Person] = [p for p in people if str(p.id_) == person_id]
    if filtered == []:
        return {
            "success": False,
            "message": f"Can't find the person for id = {person_id}"
        }